diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java index 2da92bead..29df41a74 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/ConfirmStartChargingRequestHandler.java @@ -13,19 +13,22 @@ import com.jsowell.common.util.BytesUtil; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.YKCUtils; import com.jsowell.netty.factory.YKCOperateFactory; +import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.MemberPlateNumberRelation; import com.jsowell.pile.domain.PileAuthCard; import com.jsowell.pile.dto.GenerateOrderDTO; -import com.jsowell.pile.service.ICarVinInfoService; -import com.jsowell.pile.service.IMemberPlateNumberRelationService; -import com.jsowell.pile.service.IOrderBasicInfoService; -import com.jsowell.pile.service.IPileAuthCardService; +import com.jsowell.pile.service.*; import com.jsowell.pile.vo.CarVinInfoVO; +import com.jsowell.pile.vo.uniapp.MemberVO; +import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO; +import com.jsowell.wxpay.dto.WechatSendMsgDTO; +import com.jsowell.wxpay.service.WxAppletRemoteService; import io.netty.channel.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.List; import java.util.Map; /** @@ -52,6 +55,12 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{ @Autowired private IMemberPlateNumberRelationService memberPlateNumberRelationService; + @Autowired + private WxAppletRemoteService wxAppletRemoteService; + + @Autowired + private IMemberBasicInfoService memberBasicInfoService; + @Override public void afterPropertiesSet() throws Exception { YKCOperateFactory.register(type, this); @@ -147,6 +156,15 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{ accountBalanceByteArr = YKCUtils.getPriceByte(String.valueOf(map.get("accountBalance")), 2); // 鉴权成功标识 0x00 失败 0x01 成功 authenticationFlagByteArr = Constants.oneByteArray; + + // 推送小程序启动充电消息 + // 通过memberId查询openId + MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(pileAuthCardInfo.getMemberId()); + WechatSendMsgDTO sendMsgDTO = new WechatSendMsgDTO(); + sendMsgDTO.setOpenId(memberBasicInfo.getOpenId()); + sendMsgDTO.setOrderCode((String) map.get("orderCode")); + + wxAppletRemoteService.startChargingSendMsg(sendMsgDTO); }else { throw new BusinessException("", "生成刷卡订单失败"); } @@ -192,6 +210,15 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{ accountBalanceByteArr = YKCUtils.getPriceByte(String.valueOf(map.get("accountBalance")), 2); // 鉴权成功标识 0x00 失败 0x01 成功 authenticationFlagByteArr = Constants.oneByteArray; + + // 推送小程序启动充电消息 + // 通过memberId查询openId + MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(plateInfo.getMemberId()); + WechatSendMsgDTO sendMsgDTO = new WechatSendMsgDTO(); + sendMsgDTO.setOpenId(memberBasicInfo.getOpenId()); + sendMsgDTO.setOrderCode((String) map.get("orderCode")); + + wxAppletRemoteService.startChargingSendMsg(sendMsgDTO); }else { throw new BusinessException("", "生成vin订单失败"); } 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 6ecdbc8ba..cf4d8a23b 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 @@ -185,8 +185,13 @@ public class WxAppletRemoteService { * @return */ public Map startChargingSendMsg(WechatSendMsgDTO dto) { - // 通过code查询openId并set - String openId = getOpenIdByCode(dto.getCode()); + String openId = ""; + if (StringUtils.isNotBlank(dto.getOpenId())) { + openId = dto.getOpenId(); + }else { + // 通过code查询openId并set + openId = getOpenIdByCode(dto.getCode()); + } if (StringUtils.isBlank(openId)) { return null; }