From 25bc761dcfaebf957ee068dea90ab934791be85b Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 25 Apr 2025 17:31:51 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=8F=91=E5=B8=83=E7=94=B5=E5=8D=95?= =?UTF-8?q?=E8=BD=A6=E8=AE=A1=E8=B4=B9=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/uniapp/customer/TempController.java | 14 ++++++ .../java/com/jsowell/service/TempService.java | 24 +++++++-- jsowell-admin/src/test/resources/payment_ids | 15 +++--- .../com/jsowell/pile/dto/DebugOrderDTO.java | 26 ++++++++++ .../pile/service/PileRemoteService.java | 49 ++++++++++++++++++- 5 files changed, 115 insertions(+), 13 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/DebugOrderDTO.java 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 989b7536e..88ddcc290 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 @@ -763,6 +763,20 @@ public class TempController extends BaseController { return response; } + @PostMapping("/debugOrder") + public RestApiResponse debugOrder(@RequestBody DebugOrderDTO dto) { + RestApiResponse response; + try { + // 调试结算订单逻辑 + tempService.debugOrder(dto); + response = new RestApiResponse<>(); + } catch (Exception e) { + logger.error("调试结算订单逻辑V2error,", e); + response = new RestApiResponse<>(); + } + return response; + } + /** * 调试结算订单逻辑 * http://localhost:8080/temp/testSettleOrderLogic diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 4355b9a56..e75b7a1ee 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -26,10 +26,7 @@ import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.*; -import com.jsowell.pile.dto.AfterSettleOrderDTO; -import com.jsowell.pile.dto.ApplyRefundDTO; -import com.jsowell.pile.dto.QueryOrderDTO; -import com.jsowell.pile.dto.SettleOrderReportDTO; +import com.jsowell.pile.dto.*; import com.jsowell.pile.mapper.OrderBasicInfoMapper; import com.jsowell.pile.service.*; import com.jsowell.pile.service.programlogic.AbstractProgramLogic; @@ -1062,5 +1059,24 @@ public class TempService { orderBasicInfoService.splittingMethod(afterSettleOrderDTO); } + /** + * 调试订单 + * @param dto + */ + public void debugOrder(DebugOrderDTO dto) { + if (dto == null) { + return; + } + // 是否重新计算 + if (StringUtils.equals(dto.getReCalculateFlag(), "1")) { + + } + // 是否重新退款 + if (StringUtils.equals(dto.getReRefundFlag(), "1")) { + } + // 是否重新分账 + if (StringUtils.equals(dto.getReSplitFlag(), "1")) { + } + } } diff --git a/jsowell-admin/src/test/resources/payment_ids b/jsowell-admin/src/test/resources/payment_ids index 18f038a0d..e137478df 100644 --- a/jsowell-admin/src/test/resources/payment_ids +++ b/jsowell-admin/src/test/resources/payment_ids @@ -1,8 +1,7 @@ -002212024121718083710715035892429205504 -002212024121808304610715252860795043840 -002212024121808422510715255789674143744 -002212024121811451510715301802631335936 -002212024121812305110715313278255996928 -002212024121813104910715323336701431808 -002212024121814450610715347065181925376 -002212024121817233710715386953924792320 +002212024102416494410695447094223949824 +002212024102419522510695493069857738752 +002212024102423461110695551898497138688 +002212024102508132610695679550910730240 +002212024102508310310695683984625319936 +002212024102508502610695688864317952000 +002212024102513440210695762749414916096 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/DebugOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/DebugOrderDTO.java new file mode 100644 index 000000000..84dc2e014 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/DebugOrderDTO.java @@ -0,0 +1,26 @@ +package com.jsowell.pile.dto; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 调试订单DTO + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class DebugOrderDTO extends QueryOrderDTO{ + /** + * 是否重新计算 订单主表and订单详情 + */ + private String reCalculateFlag = "0"; + + /** + * 是否重新退款 + */ + private String reRefundFlag = "0"; + + /** + * 是否重新分账 + */ + private String reSplitFlag = "0"; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java index 16b035a1a..73e41ae2f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java @@ -278,7 +278,7 @@ public class PileRemoteService { * @param dto * @return */ - public boolean publishBillingTemplate(PublishBillingTemplateDTO dto) { + public boolean publishBillingTemplateOld(PublishBillingTemplateDTO dto) { // 获取计费模板信息 BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateByTemplateId(dto.getTemplateId()); if (billingTemplateVO == null) { @@ -317,6 +317,53 @@ public class PileRemoteService { return true; } + /** + * 下发计费模板 + * @param dto + * @return + */ + public boolean publishBillingTemplate(PublishBillingTemplateDTO dto) { + // 获取计费模板信息 + BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateByTemplateId(dto.getTemplateId()); + if (billingTemplateVO == null) { + log.warn("获取计费模板信息, 通过模板id:{}查询计费模板为null", dto.getTemplateId()); + return false; + } + boolean sendBillingTemplateToPile = true; + // 会员优惠计费模板不下发 + if (Constants.ONE.equals(billingTemplateVO.getMemberFlag())) { + sendBillingTemplateToPile = false; + } + // 电单车计费模板不下发 + if (Constants.TWO.equals(billingTemplateVO.getDeviceType())) { + sendBillingTemplateToPile = false; + } + // 更新计费模板的发布时间 + PileBillingTemplate pileBillingTemplate = new PileBillingTemplate(); + pileBillingTemplate.setId(Long.valueOf(billingTemplateVO.getTemplateId())); + pileBillingTemplate.setPublishTime(new Date()); + pileBillingTemplateService.updatePileBillingTemplate(pileBillingTemplate); + + // 修改计费模板状态 + pileBillingTemplateService.changeStationTemplate(dto.getStationId(), dto.getTemplateId(), billingTemplateVO.getDeviceType(), billingTemplateVO.getMemberFlag()); + + // 下发计费模板, 电单车不支持 + if (sendBillingTemplateToPile) { + // 获取到站点下所有的桩 + List pileList = pileBasicInfoService.selectPileListByStationIds(Lists.newArrayList(Long.valueOf(dto.getStationId()))); + if (CollectionUtils.isNotEmpty(pileList)) { + // 删除缓存 + List collect = pileList.parallelStream() + .map(vo -> CacheConstants.BILLING_TEMPLATE_BY_PILE_SN + vo.getPileSn()) + .collect(Collectors.toList()); + redisCache.deleteObject(collect); + // 下发计费模板指令 + pileList.parallelStream().forEach(pileInfoVO -> publishPileBillingTemplate(pileInfoVO.getPileSn(), billingTemplateVO)); + } + } + return true; + } + /** * 远程更新 */