diff --git a/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java b/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java index 58fd2e27..acb730e8 100644 --- a/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/WechatMessageExecute.java @@ -39,7 +39,6 @@ public class WechatMessageExecute implements OrderStatusChangeEvent, TradeEvent public void orderChange(OrderMessage orderMessage) { switch (orderMessage.getNewStatus()) { - case PAID: case UNDELIVERED: case DELIVERED: case STAY_PICKED_UP: diff --git a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java index 9e575b82..260e1b34 100644 --- a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java @@ -217,7 +217,7 @@ public class ConnectServiceImpl extends ServiceImpl impl connectQueryDTO.getUnionType()) .eq(CharSequenceUtil.isNotEmpty(connectQueryDTO.getUnionId()), Connect::getUnionId, connectQueryDTO.getUnionId()); - return this.getOne(queryWrapper); + return this.getOne(queryWrapper,false); } @Override diff --git a/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageUtil.java b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageUtil.java index 487bffe3..0ea798f6 100644 --- a/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageUtil.java +++ b/framework/src/main/java/cn/lili/modules/wechat/util/WechatMessageUtil.java @@ -9,7 +9,6 @@ import cn.lili.common.exception.ServiceException; import cn.lili.common.utils.DateUtil; import cn.lili.common.utils.StringUtils; import cn.lili.modules.connect.entity.Connect; -import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.entity.enums.SourceEnum; import cn.lili.modules.connect.service.ConnectService; import cn.lili.modules.member.entity.dto.ConnectQueryDTO; @@ -79,47 +78,54 @@ public class WechatMessageUtil { if (order == null) { throw new ServiceException("订单" + sn + "不存在,发送微信公众号消息错误"); } - //获取微信消息 - LambdaQueryWrapper wechatMessageQueryWrapper = new LambdaQueryWrapper(); - wechatMessageQueryWrapper.eq(WechatMessage::getOrderStatus, order.getOrderStatus()); - WechatMessage wechatMessage = wechatMessageService.getOne(wechatMessageQueryWrapper); - if (wechatMessage == null) { - return; - } + if (ClientTypeEnum.H5.name().equals(order.getClientType())) { + //获取微信消息 + LambdaQueryWrapper wechatMessageQueryWrapper = new LambdaQueryWrapper(); + wechatMessageQueryWrapper.eq(WechatMessage::getOrderStatus, order.getOrderStatus()); + WechatMessage wechatMessage = wechatMessageService.getOne(wechatMessageQueryWrapper); - Connect connect = connectService.queryConnect( - ConnectQueryDTO.builder().userId(order.getMemberId()).unionType(ConnectEnum.WECHAT.name()).build() - ); - if (connect == null) { - return; - } + if (wechatMessage == null) { + log.error("未配置微信公众号消息"); + return; + } - log.info("微信消息发送消息:{}", order.getMemberId() + "-" + sn); - //获取token - String token = wechatAccessTokenUtil.cgiAccessToken(ClientTypeEnum.H5); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder() + .userId(order.getMemberId()) + .unionType(SourceEnum.WECHAT_OFFIACCOUNT_OPEN_ID.name()) + .build() + ); + if (connect == null) { + return; + } - //发送url - String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token; + log.info("微信消息发送消息:{}", order.getMemberId() + "-" + sn); + //获取token + String token = wechatAccessTokenUtil.cgiAccessToken(ClientTypeEnum.H5); - Map map = new HashMap<>(4); - //用户id - map.put("touser", connect.getUnionId()); - //模版id - map.put("template_id", wechatMessage.getCode()); - //模版中所需数据 - map.put("data", createData(order, wechatMessage)); + //发送url + String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token; - log.info("参数内容:" + JSONUtil.toJsonStr(map)); - String content = HttpUtil.post(url, JSONUtil.toJsonStr(map)); - JSONObject json = new JSONObject(content); - log.info("微信消息发送结果:" + content); - String errorMessage = json.getStr("errmsg"); - String errcode = json.getStr("errcode"); - //发送失败 - if (!"0".equals(errcode)) { - log.error("消息发送失败:" + errorMessage); - log.error("消息发送请求token:" + token); - log.error("消息发送请求:" + map.get("data")); + Map map = new HashMap<>(4); + //用户id + map.put("touser", connect.getUnionId()); + //模版id + map.put("template_id", wechatMessage.getCode()); + //模版中所需数据 + map.put("data", createData(order, wechatMessage)); + + log.info("参数内容:" + JSONUtil.toJsonStr(map)); + String content = HttpUtil.post(url, JSONUtil.toJsonStr(map)); + JSONObject json = new JSONObject(content); + log.info("微信消息发送结果:" + content); + String errorMessage = json.getStr("errmsg"); + String errcode = json.getStr("errcode"); + //发送失败 + if (!"0".equals(errcode)) { + log.error("消息发送失败:" + errorMessage); + log.error("消息发送请求token:" + token); + log.error("消息发送请求:" + map.get("data")); + } } } @@ -135,53 +141,56 @@ public class WechatMessageUtil { if (order == null) { throw new ServiceException("订单" + sn + "不存在,发送订阅消息错误"); } - //获取微信消息 - LambdaQueryWrapper wechatMPMessageQueryWrapper = new LambdaQueryWrapper(); - wechatMPMessageQueryWrapper.eq(WechatMPMessage::getOrderStatus, order.getOrderStatus()); - WechatMPMessage wechatMPMessage = wechatMPMessageService.getOne(wechatMPMessageQueryWrapper); - if (wechatMPMessage == null) { - log.info("未配置微信消息订阅"); - return; - } + if (ClientTypeEnum.WECHAT_MP.name().equals(order.getClientType())) { - Connect connect = connectService.queryConnect( - ConnectQueryDTO.builder().userId(order.getMemberId()).unionType(SourceEnum.WECHAT_MP_OPEN_ID.name()).build() - ); - if (connect == null) { - return; - } + //获取微信消息 + LambdaQueryWrapper wechatMPMessageQueryWrapper = new LambdaQueryWrapper(); + wechatMPMessageQueryWrapper.eq(WechatMPMessage::getOrderStatus, order.getOrderStatus()); + WechatMPMessage wechatMPMessage = wechatMPMessageService.getOne(wechatMPMessageQueryWrapper); + if (wechatMPMessage == null) { + log.info("未配置微信消息订阅"); + return; + } - log.info("微信消息订阅消息发送:{}", order.getMemberId() + "-" + sn); - //获取token - String token = wechatAccessTokenUtil.cgiAccessToken(ClientTypeEnum.WECHAT_MP); + Connect connect = connectService.queryConnect( + ConnectQueryDTO.builder().userId(order.getMemberId()).unionType(SourceEnum.WECHAT_MP_OPEN_ID.name()).build() + ); + if (connect == null) { + return; + } - //发送url - String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token; + log.info("微信消息订阅消息发送:{}", order.getMemberId() + "-" + sn); + //获取token + String token = wechatAccessTokenUtil.cgiAccessToken(ClientTypeEnum.WECHAT_MP); - Map map = new HashMap<>(4); - //用户id - map.put("touser", connect.getUnionId()); - //模版id - map.put("template_id", wechatMPMessage.getCode()); - //模版中所需数据 - map.put("data", createData(order, wechatMPMessage)); - map.put("page", "pages/order/orderDetail?sn=" + order.getSn()); - log.info("参数内容:" + JSONUtil.toJsonStr(map)); - String content = null; - try { - content = HttpUtil.post(url, JSONUtil.toJsonStr(map)); - } catch (Exception e) { - log.error("微信消息发送错误", e); - } - JSONObject json = new JSONObject(content); - log.info("微信消息发送结果:" + content); - String errorMessage = json.getStr("errmsg"); - String errcode = json.getStr("errcode"); - //发送失败 - if (!"0".equals(errcode)) { - log.error("消息发送失败:" + errorMessage); - log.error("消息发送请求token:" + token); - log.error("消息发送请求:" + map.get("data")); + //发送url + String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token; + + Map map = new HashMap<>(4); + //用户id + map.put("touser", connect.getUnionId()); + //模版id + map.put("template_id", wechatMPMessage.getCode()); + //模版中所需数据 + map.put("data", createData(order, wechatMPMessage)); + map.put("page", "pages/order/orderDetail?sn=" + order.getSn()); + log.info("参数内容:" + JSONUtil.toJsonStr(map)); + String content = null; + try { + content = HttpUtil.post(url, JSONUtil.toJsonStr(map)); + } catch (Exception e) { + log.error("微信消息发送错误", e); + } + JSONObject json = new JSONObject(content); + log.info("微信小程序消息发送结果:" + content); + String errorMessage = json.getStr("errmsg"); + String errcode = json.getStr("errcode"); + //发送失败 + if (!"0".equals(errcode)) { + log.error("消息发送失败:" + errorMessage); + log.error("消息发送请求token:" + token); + log.error("消息发送请求:" + map.get("data")); + } } }