update 电单车协议

This commit is contained in:
Guoqs
2024-08-05 11:30:41 +08:00
parent 4f946b31eb
commit a93d86bfff
3 changed files with 38 additions and 25 deletions

View File

@@ -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);
}

View File

@@ -182,32 +182,37 @@ public class WxAppletRemoteService {
return openid;
}
/**
* 开始充电发送消息
* @param memberId 会员id
* @param orderCode 订单编号
* @return
*/
public Map<String, String> 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<String, String> 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<String, String> 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;