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 890a68da9..32a3eb4b5 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 @@ -50,6 +50,9 @@ public class PileRemoteService { @Autowired private RedisCache redisCache; + @Autowired + private EBikeSendCommandService eBikeSendCommandService; + @Value("${remoteUpdate.server}") private String serverAddress; @@ -108,6 +111,25 @@ public class PileRemoteService { ykcPushCommandService.pushStartChargingCommand(startChargingCommand); } + /** + * 电单车远程启动充电 + */ + public void remoteStartChargingEBike(String pileSn, String connectorCode, String transactionCode, BigDecimal chargeAmount) { + if (StringUtils.isEmpty(pileSn) || StringUtils.isEmpty(connectorCode)) { + log.warn("远程启动充电, 充电桩编号和枪口号不能为空"); + return; + } + log.info("【=====平台下发指令=====】: 电单车远程启动充电, 桩号:{}, 枪口号:{}", pileSn, connectorCode); + StartChargingCommand startChargingCommand = StartChargingCommand.builder() + .pileSn(pileSn) + .connectorCode(connectorCode) + .transactionCode(transactionCode) + .chargeAmount(chargeAmount) + .build(); + // ykcPushCommandService.pushStartChargingCommand(startChargingCommand); + eBikeSendCommandService.sendStartChargingCommand(startChargingCommand); + } + /** * 远程停止充电 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/EBikeSendCommandServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/EBikeSendCommandServiceImpl.java index ba7083191..cc0c9adfb 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/EBikeSendCommandServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/EBikeSendCommandServiceImpl.java @@ -3,8 +3,6 @@ package com.jsowell.pile.service.impl; import com.jsowell.common.enums.ykc.PileChannelEntity; import com.jsowell.common.util.BytesUtil; import com.jsowell.common.util.RandomUtil; -import com.jsowell.common.util.StringUtils; -import com.jsowell.common.util.id.IdUtils; import com.jsowell.pile.domain.ebike.AbsEBikeMessage; import com.jsowell.pile.domain.ebike.serversend.EBikeMessageCmd82; import com.jsowell.pile.domain.ykcCommond.StartChargingCommand; @@ -35,9 +33,9 @@ public class EBikeSendCommandServiceImpl implements EBikeSendCommandService { String pileSn = command.getPileSn(); String connectorCode = command.getConnectorCode(); String transactionCode = command.getTransactionCode(); - if (StringUtils.isBlank(transactionCode)) { - transactionCode = IdUtils.generateTransactionCode(pileSn, connectorCode); - } + // if (StringUtils.isBlank(transactionCode)) { + // transactionCode = IdUtils.generateTransactionCode(pileSn, connectorCode); + // } // 组装参数 EBikeMessageCmd82 message = new EBikeMessageCmd82(); 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 a7b324130..de906aed3 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 @@ -121,9 +121,6 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { @Autowired private AdapayCallbackRecordService adapayCallbackRecordService; - @Autowired - private WechatPayService wechatPayService; - @Autowired private OrderAbnormalRecordService orderAbnormalRecordService; @@ -181,18 +178,14 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { @Autowired private ClearingBillInfoService clearingBillInfoService; - @Autowired - private PileMsgRecordService pileMsgRecordService; - @Autowired private ClearingBillDetailService clearingBillDetailService; - @Autowired - private ThirdPartyStationRelationService thirdPartyStationRelationService; - @Autowired private IThirdpartySnRelationService snRelationService; + + @Override public int deleteByPrimaryKey(Integer id) { return orderBasicInfoMapper.deleteByPrimaryKey(id); @@ -3128,17 +3121,6 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { } } } - // 判断该桩所在的站点是否推送了第三方站点(需要我方平台发送启动指令的,如:华为平台) - // List relationInfoList = thirdPartyStationRelationService.getRelationInfoList(orderInfo.getStationId()); - // if (CollectionUtils.isNotEmpty(relationInfoList)) { - // for (ThirdPartyStationRelationVO vo : relationInfoList) { - // String startMode = vo.getStartMode(); - // if (StringUtils.equals(Constants.ONE, startMode)) { - // // 无需发送启机指令,在汇付回调中发送 - // sendStartCharging = false; - // } - // } - // } // 修改订单 orderInfo.setPayMode(dto.getPayMode()); @@ -3152,16 +3134,29 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { if (sendStartCharging) { String pileSn = orderInfo.getPileSn(); + String pileConnectorCode = orderInfo.getPileConnectorCode(); + // 获取桩信息 + PileConnectorDetailVO pileConnectorDetailVO = pileBasicInfoService.queryPileConnectorDetail(pileConnectorCode); + if (pileConnectorDetailVO == null) { + logger.error("订单:{}支付成功, 启动充电失败, 桩信息为空, pileSn:{}", dto.getOrderCode(), pileSn); + return; + } // 发送启动充电指令前,再次下发计费模板 BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn); - if (billingTemplateVO != null) { + if (billingTemplateVO != null && !StringUtils.equals(pileConnectorDetailVO.getChargePortType(), Constants.THREE)) { logger.info("发送启动充电指令前,再次下发计费模板, orderCode:{}, 计费模板:{}", orderInfo.getOrderCode(), JSON.toJSONString(billingTemplateVO)); pileRemoteService.publishPileBillingTemplate(pileSn, billingTemplateVO); } // 获取启动金额 BigDecimal chargeAmount = computeChargeAmount(orderInfo.getMerchantId(), orderInfo.getStationId(), orderInfo.getMemberId(), orderInfo.getPayAmount()); // 发送启动指令 - pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), chargeAmount); + if (StringUtils.equals(pileConnectorDetailVO.getChargePortType(), Constants.THREE)) { + // 电单车桩 + pileRemoteService.remoteStartChargingEBike(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), chargeAmount); + } else { + // 电动汽车桩 + pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), chargeAmount); + } logger.info("订单:{}支付成功, 发送启动指令", dto.getOrderCode()); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java index 7f9d44269..2cba2355a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java @@ -326,17 +326,6 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService { return pileInfoVOS; } - /** - * 查询充电桩信息 - * 后管使用,带权限过滤 - * @param dto 前台参数 - * @return 充电桩信息集合 - */ - public List queryPileInfosV2(QueryPileDTO dto) { - - return null; - } - /** * 查询充电桩列表 * 后管使用,带权限过滤 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java index 0402a818a..1d232160d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java @@ -63,7 +63,7 @@ public class PileInfoVO { /** * 充电接口类型 1-快充,2-慢充,3-电单车 */ - private String chargePortType; + // private String chargePortType; /** * 枪口编号