diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/OrderController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/OrderController.java index 98443c8bb..1a33d250a 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/OrderController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/OrderController.java @@ -252,7 +252,7 @@ public class OrderController extends BaseController { try { String memberId = getMemberIdByAuthorization(request); dto.setMemberId(memberId); - Map resultMap = wxAppletRemoteService.startChargingSendMsg(dto); + Map resultMap = wxAppletRemoteService.startChargingSendMsg(dto.getMemberId(), dto.getOrderCode()); response = new RestApiResponse<>(resultMap); } catch (Exception e){ logger.error("微信小程序发送启动充电推送消息error, param:{}", JSON.toJSONString(dto), e); 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 118192819..329c038ef 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 @@ -2489,14 +2489,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode); orderLogic.payOrder(payOrderDTO); // 充电桩主动申请启动充电生成订单 使用支付 - // 推送小程序启动充电消息 - // 通过memberId查询openId - MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(dto.getMemberId()); - WechatSendMsgDTO sendMsgDTO = new WechatSendMsgDTO(); - sendMsgDTO.setOpenId(memberBasicInfo.getOpenId()); - sendMsgDTO.setOrderCode(basicInfo.getOrderCode()); - - wxAppletRemoteService.startChargingSendMsg(sendMsgDTO); + /* + 推送小程序启动充电消息 + 通过memberId查询openId + */ + if (StringUtils.isNotBlank(dto.getMemberId())) { + wxAppletRemoteService.startChargingSendMsg(dto.getMemberId(), basicInfo.getOrderCode()); + } return map; } @@ -3140,6 +3139,15 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { BigDecimal remedialAmount = orderInfo.getRemedialAmount(); orderInfo.setRemedialAmount(remedialAmount.subtract(payAmount)); } + + /* + 推送小程序启动充电消息 + 通过memberId查询openId + */ + if (StringUtils.isNotBlank(orderInfo.getMemberId())) { + wxAppletRemoteService.startChargingSendMsg(orderInfo.getMemberId(), orderInfo.getOrderCode()); + } + this.updateOrderBasicInfo(orderInfo); } diff --git a/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java b/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java index c96ab08cb..e36b57be1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java +++ b/jsowell-pile/src/main/java/com/jsowell/wxpay/service/WxAppletRemoteService.java @@ -182,32 +182,37 @@ public class WxAppletRemoteService { return openid; } + /** + * 开始充电发送消息 + * @param memberId 会员id + * @param orderCode 订单编号 + * @return + */ + public Map startChargingSendMsg(String memberId, String orderCode) { + MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(memberId); + if (memberBasicInfo == null) { + throw new BusinessException("99999", "开始充电发送消息 error, 查询openid为空"); + } + WechatSendMsgDTO sendMsgDTO = new WechatSendMsgDTO(); + sendMsgDTO.setOpenId(memberBasicInfo.getOpenId()); + sendMsgDTO.setOrderCode(orderCode); + return this.startChargingSendMsg(sendMsgDTO); + } + /** * 开始充电发送消息 * @param dto * @return */ - public Map startChargingSendMsg(WechatSendMsgDTO dto) { - String openId = ""; - if (StringUtils.isNotBlank(dto.getOpenId())) { - openId = dto.getOpenId(); - }else { - // 通过code查询openId并set - MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(dto.getMemberId()); - if (memberBasicInfo == null) { - throw new BusinessException("99999", "开始充电发送消息 error, 查询openid为空"); - } - openId = memberBasicInfo.getOpenId(); - } - if (StringUtils.isBlank(openId)) { + private Map startChargingSendMsg(WechatSendMsgDTO dto) { + if (StringUtils.isBlank(dto.getOpenId()) || StringUtils.isBlank(dto.getOrderCode())) { return null; } AppletTemplateMessageSendDTO msgInfo = new AppletTemplateMessageSendDTO(); msgInfo.setType(Constants.ONE); // 1-开始充电推送消息 - msgInfo.setTouser(openId); + msgInfo.setTouser(dto.getOpenId()); // 接收者的openId // 通过orderCode查询到充电站点和开始时间并set - String orderCode = dto.getOrderCode(); - SendMessageVO sendMessageVO = orderBasicInfoService.selectOrderInfoByOrderCode(orderCode); + SendMessageVO sendMessageVO = orderBasicInfoService.selectOrderInfoByOrderCode(dto.getOrderCode()); if (Objects.isNull(sendMessageVO)) { log.error("开始充电发送消息, 通过orderCode:{}, 查询SendMessageVO为null", dto.getOrderCode()); return null;