From 68c65d42c3e2213f3460beddd8b0cd7fb5722f77 Mon Sep 17 00:00:00 2001 From: Lemon Date: Wed, 6 Aug 2025 15:09:03 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E5=B9=B6=E5=85=85=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=85=85=E7=94=B5=E7=BB=99=E4=B8=A4=E6=8A=8A=E6=9E=AA?= =?UTF-8?q?=E9=83=BD=E4=B8=8B=E5=8F=91=E5=90=AF=E5=8A=A8=E5=85=85=E7=94=B5?= =?UTF-8?q?=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/service/PileRemoteService.java | 49 +++++++++++++------ .../impl/OrderBasicInfoServiceImpl.java | 2 +- 2 files changed, 35 insertions(+), 16 deletions(-) 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 1aba1d6e1..09f0ad194 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 @@ -12,13 +12,16 @@ import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.BytesUtil; import com.jsowell.common.util.StringUtils; +import com.jsowell.common.util.YKCUtils; import com.jsowell.pile.domain.PileBillingTemplate; +import com.jsowell.pile.domain.PileConnectorInfo; import com.jsowell.pile.domain.PileFirmwareInfo; import com.jsowell.pile.domain.ebike.deviceupload.ChargingOperationResponse; import com.jsowell.pile.domain.ykcCommond.*; import com.jsowell.pile.dto.PublishBillingTemplateDTO; import com.jsowell.pile.dto.RemoteAccountBalanceUpdateDTO; import com.jsowell.pile.dto.UpdateFirmwareDTO; +import com.jsowell.pile.vo.base.ConnectorInfoVO; import com.jsowell.pile.vo.web.BillingTemplateVO; import com.jsowell.pile.vo.web.PileDetailVO; import com.jsowell.wxpay.service.WxAppletRemoteService; @@ -65,6 +68,9 @@ public class PileRemoteService { @Autowired private OrderBasicInfoService orderBasicInfoService; + @Autowired + private PileConnectorInfoService pileConnectorInfoService; + @Value("${remoteUpdate.server}") private String serverAddress; @@ -132,29 +138,42 @@ public class PileRemoteService { /** * 远程启动并充充电 0xA4 * @param pileSn - * @param connectorCode * @param transactionCode * @param chargeAmount */ - public void remoteStartMergeCharging(String pileSn, String connectorCode, String transactionCode, + public void remoteStartMergeCharging(String pileSn, String transactionCode, BigDecimal chargeAmount, String mergeChargeCode) { - if (StringUtils.isEmpty(pileSn) || StringUtils.isEmpty(connectorCode)) { - log.warn("远程启动充电, 充电桩编号和枪口号不能为空"); + if (StringUtils.isEmpty(pileSn)) { + log.warn("远程启动并充充电, 充电桩编号不能为空"); return; } - log.info("【=====平台下发指令=====】: 远程启动并充充电, 桩号:{}, 枪口号:{}", pileSn, connectorCode); + List pileConnectorInfos = pileConnectorInfoService.selectPileConnectorInfoList(pileSn); + log.info("【=====平台下发指令=====】: 远程启动并充充电, 桩号:{}", pileSn); - StartMergeChargeCommand command = StartMergeChargeCommand.builder() - .pileSn(pileSn) - .connectorCode(connectorCode) - // .logicCardCode() - .transactionCode(transactionCode) - // .physicsCardCode() - .accountAmount(chargeAmount) - .mergeChargeCode(mergeChargeCode) + if (CollectionUtils.isEmpty(pileConnectorInfos)) { + log.info("远程启动并充充电, 枪口列表为空"); + return; + } + // 筛选出枪口号 + List connectorCodeList = pileConnectorInfos.stream() + .map(PileConnectorInfo::getPileConnectorCode) + .collect(Collectors.toList()); + for (String pileConnectorCode : connectorCodeList) { + // 获取枪口号 + String connectorCode = YKCUtils.getConnectorCode(pileConnectorCode); + // 两把枪都要下发启动充电指令 + StartMergeChargeCommand command = StartMergeChargeCommand.builder() + .pileSn(pileSn) + .connectorCode(connectorCode) + // .logicCardCode() + .transactionCode(transactionCode) + // .physicsCardCode() + .accountAmount(chargeAmount) + .mergeChargeCode(mergeChargeCode) - .build(); - ykcPushCommandService.pushStartMergeChargingCommand(command); + .build(); + ykcPushCommandService.pushStartMergeChargingCommand(command); + } } /** 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 85aed69d0..d8c606f34 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 @@ -4283,7 +4283,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { String orderType = orderInfo.getOrderType(); if (StringUtils.equals(OrderTypeEnum.MERGE_CHARGE_ORDER.getValue(), orderType)) { // 并充订单,调用并充启动充电 - pileRemoteService.remoteStartMergeCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), chargeAmount, orderInfo.getMergeChargeNumber()); + pileRemoteService.remoteStartMergeCharging(pileSn, orderInfo.getTransactionCode(), chargeAmount, orderInfo.getMergeChargeNumber()); }else { // 普通订单启动充电 pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), chargeAmount);