mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-17 08:18:34 +08:00
update 计算总量
This commit is contained in:
@@ -99,7 +99,7 @@ public class OrderBasicInfoController extends BaseController {
|
|||||||
dto.setMerchantId(String.valueOf(pileMerchantInfo.getId()));
|
dto.setMerchantId(String.valueOf(pileMerchantInfo.getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return AjaxResult.success(orderBasicInfoService.getOrderTotalData(dto));
|
return AjaxResult.success(orderBasicInfoService.getOrderTotalDataV2(dto));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ public interface IOrderBasicInfoService {
|
|||||||
*/
|
*/
|
||||||
OrderTotalDataVO getOrderTotalData(QueryOrderDTO orderBasicInfo);
|
OrderTotalDataVO getOrderTotalData(QueryOrderDTO orderBasicInfo);
|
||||||
|
|
||||||
OrderTotalDataVO getOrderTotalDataV2(QueryOrderDTO dto);
|
List<OrderTotalDataVO> getOrderTotalDataV2(QueryOrderDTO dto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过订单号查询订单信息(小程序发送消息用)
|
* 通过订单号查询订单信息(小程序发送消息用)
|
||||||
|
|||||||
@@ -413,7 +413,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
// 只计算订单完成状态的
|
// 只计算订单完成状态的
|
||||||
dto.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
|
dto.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
|
||||||
OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto);
|
OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto);
|
||||||
resultVO.setDateDescription("创建时间 " + dto.getStartTime() + " - " + dto.getEndTime());
|
if (StringUtils.isNotBlank(dto.getStartTime()) && StringUtils.isNotBlank(dto.getEndTime())) {
|
||||||
|
resultVO.setDateDescription("创建时间 " + dto.getStartTime() + " - " + dto.getEndTime());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(dto.getStartSettleTime()) && StringUtils.isNotBlank(dto.getEndSettleTime())) {
|
||||||
|
resultVO.setDateDescription("结算时间 " + dto.getStartSettleTime() + " - " + dto.getEndSettleTime());
|
||||||
|
}
|
||||||
return resultVO;
|
return resultVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -424,52 +429,33 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public OrderTotalDataVO getOrderTotalDataV2(QueryOrderDTO dto) {
|
public List<OrderTotalDataVO> getOrderTotalDataV2(QueryOrderDTO dto) {
|
||||||
// 确定查询的站点
|
List<OrderTotalDataVO> resultList = Lists.newArrayList();
|
||||||
List<String> stationIdList = Lists.newArrayList();
|
// 只计算订单完成状态的
|
||||||
if (CollectionUtils.isNotEmpty(dto.getStationIdList())) {
|
dto.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
|
||||||
stationIdList.addAll(dto.getStationIdList());
|
String startTime = dto.getStartTime();
|
||||||
|
String endTime = dto.getEndTime();
|
||||||
|
String startSettleTime = dto.getStartSettleTime();
|
||||||
|
String endSettleTime = dto.getEndSettleTime();
|
||||||
|
if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
|
||||||
|
dto.setStartTime(startTime);
|
||||||
|
dto.setEndTime(endTime);
|
||||||
|
dto.setStartSettleTime(null);
|
||||||
|
dto.setEndSettleTime(null);
|
||||||
|
OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto);
|
||||||
|
resultVO.setDateDescription("创建时间 " + startTime + " - " + endTime);
|
||||||
|
resultList.add(resultVO);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(dto.getMerchantId())) {
|
if (StringUtils.isNotBlank(startSettleTime) && StringUtils.isNotBlank(endSettleTime)) {
|
||||||
List<PileStationInfo> pileStationInfos = pileStationInfoService.selectStationListByMerchantId(Long.parseLong(dto.getMerchantId()));
|
dto.setStartTime(null);
|
||||||
if (CollectionUtils.isNotEmpty(pileStationInfos)) {
|
dto.setEndTime(null);
|
||||||
List<String> collect = pileStationInfos.stream()
|
dto.setStartSettleTime(startSettleTime);
|
||||||
.map(x -> String.valueOf(x.getId()))
|
dto.setEndSettleTime(endSettleTime);
|
||||||
.collect(Collectors.toList());
|
OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto);
|
||||||
stationIdList.addAll(collect);
|
resultVO.setDateDescription("结算时间 " + startSettleTime + " - " + endSettleTime);
|
||||||
}
|
resultList.add(resultVO);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(dto.getStationId())) {
|
return resultList;
|
||||||
stationIdList.clear();
|
|
||||||
stationIdList.add(dto.getStationId());
|
|
||||||
}
|
|
||||||
|
|
||||||
OrderTotalDataVO vo = new OrderTotalDataVO();
|
|
||||||
String startTime = dto.getStartTime() == null ? DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(new Date(), -7)) : dto.getStartTime(); // 2023-08-16 00:00:00
|
|
||||||
String endTime = dto.getEndTime() == null ? DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date()) : dto.getEndTime(); // 2023-08-16 23:59:59
|
|
||||||
// 格式化时间
|
|
||||||
startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.parseDate(startTime)); // 2023-08-16
|
|
||||||
endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.parseDate(endTime)); // 2023-08-16
|
|
||||||
vo.setDateDescription("结算时间 " + startTime + " 至 " + endTime);
|
|
||||||
|
|
||||||
// 查询数据库
|
|
||||||
List<SettleOrderReport> settleOrderReports = settleOrderReportService.queryOrderReport(stationIdList, startTime, endTime);
|
|
||||||
// 总消费金额
|
|
||||||
BigDecimal sumOrderAmount = BigDecimal.ZERO;
|
|
||||||
// 总用电量
|
|
||||||
BigDecimal sumUsedElectricity = BigDecimal.ZERO;
|
|
||||||
// 总结算金额
|
|
||||||
BigDecimal sumSettleAmount = BigDecimal.ZERO;
|
|
||||||
for (SettleOrderReport settleOrderReport : settleOrderReports) {
|
|
||||||
sumOrderAmount = sumOrderAmount.add(settleOrderReport.getTotalAmount());
|
|
||||||
sumUsedElectricity = sumUsedElectricity.add(settleOrderReport.getUseElectricity());
|
|
||||||
// 结算金额拆分为 交易金额 + 交易手续费
|
|
||||||
sumSettleAmount = sumSettleAmount.add(settleOrderReport.getTradeAmount()).add(settleOrderReport.getTradeFee());
|
|
||||||
}
|
|
||||||
vo.setSumSettleAmount(sumSettleAmount);
|
|
||||||
vo.setSumUsedElectricity(sumUsedElectricity);
|
|
||||||
vo.setSumOrderAmount(sumOrderAmount);
|
|
||||||
return vo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user