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 09827f18a..221a4df61 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 @@ -1035,4 +1035,21 @@ public class TempController extends BaseController { util.exportExcel(response, list, "某运营商财务报表"); } + /** + * 批量结算白名单异常订单 + * @param dto + * @return + */ + public RestApiResponse whiteListSettlement(@RequestBody QueryOrderDTO dto) { + RestApiResponse response = null; + try { + tempService.whiteListSettlement(dto); + response = new RestApiResponse<>(); + } catch (Exception e){ + logger.error("白名单异常订单结算 error", e); + response = new RestApiResponse<>("00300002", "白名单异常订单结算异常"); + } + return response; + } + } 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 0df76f220..b3107fc10 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -139,6 +139,9 @@ public class TempService { @Autowired private MemberWalletInfoService memberWalletInfoService; + @Autowired + private OrderService orderService; + /** * 计算订单耗电量 * 内蒙古站点 @@ -1495,5 +1498,35 @@ public class TempService { return list; } + public void whiteListSettlement(QueryOrderDTO dto) { + if (dto == null || dto.getOrderCodeList() == null || dto.getOrderCodeList().isEmpty()) { + throw new RuntimeException("请添加要结算的白名单订单"); + } + + for (String orderCode : dto.getOrderCodeList()) { + + OrderBasicInfo orderBasicInfo = orderBasicInfoMapper.getOrderInfoByOrderCode(orderCode); + if (orderBasicInfo == null) { + throw new RuntimeException("订单号不存在:" + orderCode); + } + + if (!Objects.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ABNORMAL.getValue())) { + throw new RuntimeException("订单不是异常订单:" + orderCode); + } + + if (!Objects.equals(orderBasicInfo.getPayMode(), PayModeEnum.PAYMENT_OF_WHITELIST.getValue())) { + throw new RuntimeException("订单不是白名单支付方式:" + orderCode); + } + + ManualSettlementDTO build = ManualSettlementDTO.builder() + .chargingDegree("0") + .chargingAmount("0") + .orderCode(orderCode) + .build(); + + orderService.manualSettlementOrder(build); + } + } + }