diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index 660c17cce..7765e3545 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -26,17 +26,9 @@ import com.jsowell.common.util.JWTUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.id.IdUtils; import com.jsowell.common.util.id.SnowflakeIdWorker; -import com.jsowell.pile.domain.MemberBasicInfo; -import com.jsowell.pile.domain.MemberInvoiceTitle; -import com.jsowell.pile.domain.MemberPlateNumberRelation; -import com.jsowell.pile.domain.MemberWalletInfo; -import com.jsowell.pile.domain.PileAuthCard; +import com.jsowell.pile.domain.*; import com.jsowell.pile.dto.*; -import com.jsowell.pile.service.IMemberBasicInfoService; -import com.jsowell.pile.service.IMemberInvoiceTitleService; -import com.jsowell.pile.service.IMemberPlateNumberRelationService; -import com.jsowell.pile.service.IPileAuthCardService; -import com.jsowell.pile.service.IPileMerchantInfoService; +import com.jsowell.pile.service.*; import com.jsowell.pile.transaction.dto.MemberTransactionDTO; import com.jsowell.pile.transaction.service.TransactionService; import com.jsowell.pile.vo.MemberPlateNumberVO; @@ -91,6 +83,12 @@ public class MemberService { @Autowired private IMemberInvoiceTitleService memberInvoiceTitleService; + @Autowired + private PileRemoteService pileRemoteService; + + @Autowired + private IOrderBasicInfoService orderBasicInfoService; + @Autowired private OrderService orderService; @@ -495,6 +493,11 @@ public class MemberService { return null; } + /** + * 充值订单金额 + * @param dto + * @throws ParseException + */ public void rechargeOrderAmount(RechargeOrderAmountDTO dto) throws ParseException { // 根据memberId查询出当前用户正在充电的 vin启动订单 或 卡启动订单 UniAppQueryOrderDTO orderDTO = new UniAppQueryOrderDTO(); @@ -511,13 +514,25 @@ public class MemberService { if (StringUtils.equals(orderVO.getStartMode(), StartModeEnum.AUTH_CARD.getValue()) || StringUtils.equals(orderVO.getStartMode(), StartModeEnum.OFFLINE_CARD.getValue()) || StringUtils.equals(orderVO.getStartMode(), StartModeEnum.VIN_CODE.getValue())) { + // 将充值后的余额计算出来 BigDecimal rechargeAmount = new BigDecimal(dto.getRechargeAmount()); - orderVO.setPayAmount(orderVO.getPayAmount().add(rechargeAmount)); + BigDecimal payAmount = orderVO.getPayAmount().add(rechargeAmount); + orderVO.setPayAmount(payAmount); + // 发送0x41指令更新账户余额 + RemoteAccountBalanceUpdateDTO remoteDTO = new RemoteAccountBalanceUpdateDTO(); + remoteDTO.setPileSn(orderVO.getPileSn()); + remoteDTO.setConnectorCode(orderVO.getConnectorCode()); + remoteDTO.setAccountBalance(String.valueOf(orderVO.getPayAmount())); + pileRemoteService.remoteAccountBalanceUpdate(remoteDTO); + + // 将支付金额修改数据库 + OrderBasicInfo basicInfo = new OrderBasicInfo(); + basicInfo.setId(Long.parseLong(orderVO.getId())); + basicInfo.setPayAmount(payAmount); + + orderBasicInfoService.updateOrderBasicInfo(basicInfo); } } - // 将充值后的余额计算出来 - - // 发送0x41指令更新账户余额 } } diff --git a/jsowell-admin/src/main/java/com/jsowell/service/PileRemoteService.java b/jsowell-admin/src/main/java/com/jsowell/service/PileRemoteService.java index d3a9bdc6c..eb5527f39 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/PileRemoteService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/PileRemoteService.java @@ -201,10 +201,12 @@ public class PileRemoteService { RemoteAccountBalanceUpdateCommand command = RemoteAccountBalanceUpdateCommand.builder() .pileSn(dto.getPileSn()) .connectorCode(dto.getConnectorCode()) - .logicCard(dto.getLogicCard()) .accountBalance(dto.getAccountBalance()) .build(); + if (StringUtils.isNotBlank(dto.getLogicCard())) { + command.setLogicCard(dto.getLogicCard()); + } ykcPushCommandService.pushAccountBalanceUpdateCommand(command); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java index a02a7a1aa..cc641ff92 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/OrderVO.java @@ -12,6 +12,8 @@ import java.math.BigDecimal; */ @Data public class OrderVO { + private String id; + /** * 订单号 */ diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index 1e5ccff24..8c6ab317b 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -765,6 +765,7 @@