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 3a829967d..cf021be7f 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 @@ -271,7 +271,7 @@ public interface IOrderBasicInfoService { /** * 生成订单日报 */ - void generateDailyOrderReports(String stationId, String startTime, String endTime); + void generateDailyOrderReports(String stationId, String tradeDate); /** * 获取运营商订单列表 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 6b77e67d8..b3f057afa 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 @@ -63,6 +63,7 @@ import java.text.ParseException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; @@ -2052,7 +2053,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } @Override - public void generateDailyOrderReports(String stationId, String startTime, String endTime) { + public void generateDailyOrderReports(String stationId, String tradeDate) { // logger.info("线程名===={}", Thread.currentThread().getName()); if (StringUtils.isBlank(stationId)) { return; @@ -2062,14 +2063,15 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { QueryOrderDTO dto = new QueryOrderDTO(); dto.setStationId(stationId); - LocalDate yesterday = LocalDate.now().plusDays(-1); - if (StringUtils.isBlank(startTime)) { - startTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MIN)); - } - if (StringUtils.isBlank(endTime)) { - endTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX)); + if (StringUtils.isBlank(tradeDate)) { + // 日期为空默认昨天 + tradeDate = LocalDate.now().plusDays(-1).toString(); } + LocalDate parse = LocalDate.parse(tradeDate, DateTimeFormatter.ofPattern("yyyy-MM-dd")); + String startTime = DateUtils.formatDateTime(LocalDateTime.of(parse, LocalTime.MIN)); + String endTime = DateUtils.formatDateTime(LocalDateTime.of(parse, LocalTime.MAX)); + dto.setStartTime(startTime); dto.setEndTime(endTime); List orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto); @@ -2135,13 +2137,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { settleOrderReport.setServiceAmount(totalServiceAmount); settleOrderReport.setTotalAmount(totalOrderAmount); settleOrderReport.setVirtualAmount(totalVirtualAmount); - settleOrderReport.setTradeDate(yesterday.toString()); + settleOrderReport.setTradeDate(tradeDate); // 计算手续费 = 结算金额 * 0.55% BigDecimal tradeFee = totalSettleAmount.multiply(new BigDecimal("0.0055")); settleOrderReport.setTradeFee(tradeFee); settleOrderReport.setTradeAmount(totalSettleAmount.subtract(tradeFee)); - SettleOrderReport selectResult = settleOrderReportService.selectByStationIdAndDate(stationId, yesterday.toString()); + SettleOrderReport selectResult = settleOrderReportService.selectByStationIdAndDate(stationId, tradeDate); if (selectResult == null) { settleOrderReportService.insertSettleOrderReport(settleOrderReport); } else { 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 bb763f472..1721e5214 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 @@ -3,14 +3,14 @@ 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.OrderBasicInfo; 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; import com.jsowell.pile.service.IPileBillingTemplateService; +import com.jsowell.pile.service.IPileStationInfoService; +import com.jsowell.pile.service.YKCPushCommandService; import com.jsowell.pile.vo.web.BillingTemplateVO; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; @@ -21,7 +21,6 @@ import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.Date; import java.util.List; @@ -118,12 +117,10 @@ public class JsowellTask { return; } LocalDate yesterday = LocalDate.now().plusDays(-1); - String startTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MIN)); - String endTime = DateUtils.formatDateTime(LocalDateTime.of(yesterday, LocalTime.MAX)); // 计算每个站点前一天的报表 for (PileStationInfo stationInfo : list) { try { - orderBasicInfoService.generateDailyOrderReports(stationInfo.getId() + "", startTime, endTime); + orderBasicInfoService.generateDailyOrderReports(stationInfo.getId() + "", yesterday.toString()); } catch (Exception e) { log.error("计算站点订单报表 发生异常 stationId:{}", stationInfo.getId(), e); }