From d8c1cdebcdae1b8111dbc4b539633da57f716b10 Mon Sep 17 00:00:00 2001 From: Lemon Date: Sat, 11 Oct 2025 11:26:55 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update=20=20=E9=87=8D=E8=AF=95=E8=BF=90?= =?UTF-8?q?=E8=90=A5=E5=95=86=E5=88=86=E8=B4=A6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/SplitBillService.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java b/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java index 5511a2fef..91671e806 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java @@ -5,10 +5,15 @@ import com.google.common.collect.Maps; import com.huifu.adapay.core.exception.BaseAdaPayException; import com.jsowell.adapay.service.AdapayService; import com.jsowell.common.constant.Constants; +import com.jsowell.common.util.DateUtils; +import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.dto.DebugOrderDTO; import com.jsowell.pile.dto.QueryOrderSplitRecordDTO; import com.jsowell.pile.service.OrderBasicInfoService; +import com.jsowell.pile.service.PileStationInfoService; +import com.jsowell.pile.service.SettleOrderReportService; import com.jsowell.pile.vo.web.OrderPaymentDetailVO; +import com.jsowell.pile.vo.web.PileStationVO; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,6 +22,7 @@ import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service public class SplitBillService { @@ -32,11 +38,19 @@ public class SplitBillService { @Autowired private AdapayService adapayService; + @Autowired + private PileStationInfoService pileStationInfoService; + + @Autowired + private SettleOrderReportService settleOrderReportService; + /** * 重试运营商分账 * @param dto */ public void retryMerchantSplit(QueryOrderSplitRecordDTO dto) throws BaseAdaPayException { + String startTime = dto.getStartTime(); + String endTime = dto.getEndTime(); // 首先根据 merchantId、startTime、endTime 查出日期区间内所有订单信息(包括 paymentId) // 格式化 startTime 和 endTime dto.setStartTime(dto.getStartTime() + " 00:00:00"); @@ -95,5 +109,38 @@ public class SplitBillService { } } + // 重新计算站点日报和运营商日报 + // 获取日期区间内所有日期 + List dateList = DateUtils.getAllDatesInTheDateRange(startTime, endTime); + // 根据 merchantId 获取所有 stationId + List pileStationInfos = pileStationInfoService.selectStationListByMerchantId(Long.parseLong(dto.getMerchantId())); + List stationIdList = pileStationInfos.stream() + .map(PileStationInfo::getId) + .map(String::valueOf) + .collect(Collectors.toList()); + + stationIdList.parallelStream().forEach(stationId -> { + PileStationVO stationInfo = pileStationInfoService.getStationInfo(stationId); + for (String tradeDate : dateList) { + try { + settleOrderReportService.generateDailyOrderReports(stationInfo, tradeDate); + log.info("重试运营商分账-生成站点日报成功, param:{}", tradeDate); + }catch (Exception e) { + log.error("重试运营商分账-生成站点日报异常, param:{}", tradeDate, e); + } + } + }); + + // 重新计算运营商日报 + for (String tradeDate : dateList) { + try { + orderBasicInfoService.generateMerchantBill(dto.getMerchantId(), tradeDate); + log.info("重试运营商分账-生成运营商日报成功, param:{}", tradeDate); + }catch (Exception e) { + log.error("重试运营商分账-生成运营商日报异常, param:{}", tradeDate, e); + } + + } + } } From 2cdd16b5c1f4f9455b84c0677a14e21cdf3fd456 Mon Sep 17 00:00:00 2001 From: Lemon Date: Sat, 11 Oct 2025 11:37:02 +0800 Subject: [PATCH 2/2] Revert "Merge branch 'dev' of https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web into dev" This reverts commit ee55e3c3cf83813ca860beec828707ed77d70475, reversing changes made to befffda0633d9a817eb07d927cd252e18a37db79. --- .../com/jsowell/service/SplitBillService.java | 3 --- jsowell-admin/src/test/resources/payment_ids | 20 ++++++++++++++----- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java b/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java index 91671e806..1f75aa1bc 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/SplitBillService.java @@ -52,9 +52,6 @@ public class SplitBillService { String startTime = dto.getStartTime(); String endTime = dto.getEndTime(); // 首先根据 merchantId、startTime、endTime 查出日期区间内所有订单信息(包括 paymentId) - // 格式化 startTime 和 endTime - dto.setStartTime(dto.getStartTime() + " 00:00:00"); - dto.setEndTime(dto.getEndTime() + " 23:59:59"); List recordList = orderBasicInfoService.getSplitOrders(dto); if (CollectionUtils.isEmpty(recordList)) { log.info("重试运营商分账-根据参数未查询到符合条件的订单, param:{}", dto); diff --git a/jsowell-admin/src/test/resources/payment_ids b/jsowell-admin/src/test/resources/payment_ids index d6c61821a..fbdcbabf4 100644 --- a/jsowell-admin/src/test/resources/payment_ids +++ b/jsowell-admin/src/test/resources/payment_ids @@ -1,5 +1,15 @@ -002212025100216092510819735989514358784 -002212025100216494510819746140195753984 -002212025100211594410819673151119028224 -002212025100213081910819690412575670272 -002212025100213554410819702347450773504 \ No newline at end of file +002212025061217110110779164047563894784 +002212025061322340710779607747741483008 +002212025061418550310779915007347294208 +002212025061819323910781374018623815680 +002212025061914575410781667265052803072 +002212025061915014710781668242201739264 +002212025061915205310781673049609957376 +002212025061915243210781673968498507776 +002212025061915284710781675036102795264 +002212025061915322810781675963882827776 +002212025061915400610781677883724562432 +002212025061915444310781679048033271808 +002212025061915571210781682186405658624 +002212025061916004310781683071181504512 +002212025061916161110781686963112738816