From 75dc4a20caed64efa90eeac10dbffaa277eb7729 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Thu, 20 Feb 2025 16:50:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E8=BF=90=E8=90=A5=E5=95=86?= =?UTF-8?q?=E6=97=A5=E6=8A=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/uniapp/customer/TempController.java | 44 +++++++++++++++++++ .../com/jsowell/pile/dto/QueryOrderDTO.java | 5 +++ .../com/jsowell/quartz/task/JsowellTask.java | 4 +- 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java index c57a0b5f4..92ea660d3 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java @@ -14,6 +14,7 @@ import com.jsowell.common.util.DateUtils; import com.jsowell.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.MemberPlateNumberRelation; import com.jsowell.pile.domain.OrderBasicInfo; +import com.jsowell.pile.domain.PileMerchantInfo; import com.jsowell.pile.domain.ykcCommond.EBikeStartChargingCommand; import com.jsowell.pile.domain.ykcCommond.ReservationChargingCommand; import com.jsowell.pile.domain.ykcCommond.StopChargingCommand; @@ -34,6 +35,7 @@ import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 用于临时接口 @@ -371,6 +373,48 @@ public class TempController extends BaseController { return response; } + /** + * 生成运营商日报 + * http://localhost:8080/temp/generateMerchantBill + * @param dto + * @return + */ + @PostMapping("/generateMerchantBill") + public RestApiResponse generateMerchantBill(@RequestBody QueryOrderDTO dto) { + logger.info("手动接口执行订单分账逻辑-param:{}", JSON.toJSONString(dto)); + RestApiResponse response = null; + try { + // 查询运营商列表 + List merchantIdList = dto.getMerchantIdList(); + if (CollectionUtils.isEmpty(merchantIdList)) { + List pileMerchantInfos = pileMerchantInfoService.selectPileMerchantInfoList(null); + merchantIdList = pileMerchantInfos.stream().map(x -> x.getId() + "").collect(Collectors.toList()); + } + String startTime = dto.getStartTime(); + String endTime = dto.getEndTime(); + // 获取日期区间内所有日期 + List dateList = DateUtils.getAllDatesInTheDateRange(startTime, endTime); + for (String tradeDate : dateList) { + merchantIdList.parallelStream().forEach(merchantId -> { + try { + orderBasicInfoService.generateMerchantBill(merchantId, tradeDate); + } catch (Exception e) { + logger.error("生成运营商日报异常, merchantId:{}", merchantId, e); + } + }); + } + response = new RestApiResponse<>(); + } catch (BusinessException e) { + logger.error("手动生成运营商日报-warn", e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + } catch (Exception e) { + logger.error("手动生成运营商日报-error", e); + response = new RestApiResponse<>("00200005", "生成运营商日报失败"); + } + logger.info("手动生成运营商日报-result:{}", JSON.toJSONString(response)); + return response; + } + /** * 测试余额支付接口 * http://localhost:8080/temp/testCreateBalancePayment diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java index 3b5097fc1..a1a467a59 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java @@ -53,6 +53,11 @@ public class QueryOrderDTO extends BaseEntity { */ private String stationId; + /** + * 运营商id列表 + */ + private List merchantIdList; + /** * 站点Id列表 */ 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 ca95f61a7..14d3ba4ef 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 @@ -192,7 +192,7 @@ public class JsowellTask { } /** - * 定时任务,处理订单分账 + * 定时任务, 生成运营商日报方法 * jsowellTask.processOrderSplitting() */ public void processOrderSplitting() { @@ -213,7 +213,7 @@ public class JsowellTask { return; } - // 调分账方法 + // 调生成运营商日报方法 pileMerchantInfos.parallelStream().forEach(merchant -> { try { // orderBasicInfoService.orderSplittingOperations(merchant.getId() + "", yesterday.toString());