diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java index c3b893acd..0a047a736 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java @@ -99,7 +99,7 @@ public class OrderBasicInfoController extends BaseController { dto.setMerchantId(String.valueOf(pileMerchantInfo.getId())); } } - return AjaxResult.success(orderBasicInfoService.getOrderTotalData(dto)); + return AjaxResult.success(orderBasicInfoService.getOrderTotalDataV2(dto)); } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 6bef86277..8257ad5bc 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -228,7 +228,7 @@ public interface IOrderBasicInfoService { */ OrderTotalDataVO getOrderTotalData(QueryOrderDTO orderBasicInfo); - OrderTotalDataVO getOrderTotalDataV2(QueryOrderDTO dto); + List getOrderTotalDataV2(QueryOrderDTO dto); /** * 通过订单号查询订单信息(小程序发送消息用) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 38651cac1..886951a44 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -413,7 +413,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 只计算订单完成状态的 dto.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue()); 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; } @@ -424,52 +429,33 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { * @return */ @Override - public OrderTotalDataVO getOrderTotalDataV2(QueryOrderDTO dto) { - // 确定查询的站点 - List stationIdList = Lists.newArrayList(); - if (CollectionUtils.isNotEmpty(dto.getStationIdList())) { - stationIdList.addAll(dto.getStationIdList()); + public List getOrderTotalDataV2(QueryOrderDTO dto) { + List resultList = Lists.newArrayList(); + // 只计算订单完成状态的 + dto.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue()); + 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())) { - List pileStationInfos = pileStationInfoService.selectStationListByMerchantId(Long.parseLong(dto.getMerchantId())); - if (CollectionUtils.isNotEmpty(pileStationInfos)) { - List collect = pileStationInfos.stream() - .map(x -> String.valueOf(x.getId())) - .collect(Collectors.toList()); - stationIdList.addAll(collect); - } + if (StringUtils.isNotBlank(startSettleTime) && StringUtils.isNotBlank(endSettleTime)) { + dto.setStartTime(null); + dto.setEndTime(null); + dto.setStartSettleTime(startSettleTime); + dto.setEndSettleTime(endSettleTime); + OrderTotalDataVO resultVO = orderBasicInfoMapper.getOrderTotalData(dto); + resultVO.setDateDescription("结算时间 " + startSettleTime + " - " + endSettleTime); + resultList.add(resultVO); } - if (StringUtils.isNotBlank(dto.getStationId())) { - 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 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; + return resultList; } /**