From 59baaa998b49561f5aa6061e6ca682264dc3434c Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 5 Jun 2023 17:06:07 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=AE=A1=E7=AE=97=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 7 ++++- .../com/jsowell/quartz/task/JsowellTask.java | 30 +++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) 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 bbee5b5f6..bd336db9d 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 @@ -1843,6 +1843,10 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Override public void generateDailyOrderReports(String stationId) { + if (StringUtils.isBlank(stationId)) { + return; + } + PileStationVO stationInfo = pileStationInfoService.getStationInfo(stationId); // 查询站点前一天完成的订单 QueryOrderDTO dto = new QueryOrderDTO(); dto.setStationId(stationId); @@ -1851,6 +1855,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { dto.setEndTime(DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX))); List orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto); if (CollectionUtils.isEmpty(orderListVOS)) { + logger.warn("站点:{}, 在{}没有查询到订单数据", stationInfo.getStationName(), yesterday.toString()); return; } // 统计出日报信息 @@ -1888,7 +1893,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } // 保存到数据库 SettleOrderReport settleOrderReport = new SettleOrderReport(); - settleOrderReport.setMerchantId(""); + settleOrderReport.setMerchantId(stationInfo.getMerchantId()); settleOrderReport.setStationId(stationId); settleOrderReport.setUseElectricity(useElectricity); settleOrderReport.setChargeNum(chargeNum + ""); diff --git a/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java b/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java index cd1e07cb4..98f167e31 100644 --- a/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java +++ b/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java @@ -1,9 +1,12 @@ package com.jsowell.quartz.task; +import com.jsowell.common.constant.Constants; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; +import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.domain.ykcCommond.PublishPileBillingTemplateCommand; import com.jsowell.pile.domain.ykcCommond.StartChargingCommand; +import com.jsowell.pile.service.IPileStationInfoService; import com.jsowell.pile.service.YKCPushCommandService; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.service.IOrderBasicInfoService; @@ -34,6 +37,9 @@ public class JsowellTask { @Autowired private YKCPushCommandService ykcPushCommandService; + @Autowired + private IPileStationInfoService pileStationInfoService; + /** * 关闭15分钟未支付的订单 * close15MinutesOfUnpaidOrders @@ -67,8 +73,6 @@ public class JsowellTask { log.info("待启动充电订单:{}", list); for (OrderBasicInfo orderInfo : list) { // 下发充电桩设置指令 - - String pileSn = orderInfo.getPileSn(); // 发送启动充电指令前,再次下发计费模板 BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn); @@ -98,4 +102,26 @@ public class JsowellTask { ykcPushCommandService.pushStartChargingCommand(startChargingCommand); } } + + /** + * 计算站点订单报表 + * jsowellTask.calculateTheSiteOrdersReport() + */ + public void calculateTheSiteOrdersReport() { + // 查询出所有站点 + PileStationInfo pileStationInfo = new PileStationInfo(); + pileStationInfo.setDelFlag(Constants.ZERO); + List list = pileStationInfoService.selectPileStationInfoList(pileStationInfo); + if (CollectionUtils.isEmpty(list)) { + return; + } + // 计算每个站点前一天的报表 + for (PileStationInfo stationInfo : list) { + try { + orderBasicInfoService.generateDailyOrderReports(stationInfo.getId() + ""); + } catch (Exception e) { + log.error("计算站点订单报表 发生异常 stationId:{}", stationInfo.getId(), e); + } + } + } }