fix: 微信消息格式化问题处理,最新版本无法正常发送公众号消息问题处理。以及订单状态判定修复,之前存在消息发送状态判定错误问题

This commit is contained in:
Chopper711 2023-03-09 16:54:47 +08:00
parent 1a0130dd1a
commit f6030cc918
4 changed files with 13 additions and 14 deletions

View File

@ -138,13 +138,13 @@ public class WechatMessageServiceImpl extends ServiceImpl<WechatMessageMapper, W
List<WechatMessageData> msg = new ArrayList<>();
//新订单消息提示
msg.add(new WechatMessageData(
"待支付",
"您有新订单需要支付",
"订单支付成功通知",
"订单支付成功通知",
"如有问题,请联系在线客服",
"OPENTM207498902",
WechatMessageItemEnums.MEMBER_NAME.name() + "," + WechatMessageItemEnums.ORDER_SN.name() + "," +
WechatMessageItemEnums.PRICE.name() + "," + WechatMessageItemEnums.GOODS_INFO.name(),
OrderStatusEnum.UNPAID));
OrderStatusEnum.UNDELIVERED));
//已发货
msg.add(new WechatMessageData(
"订单发货",

View File

@ -1,6 +1,5 @@
package cn.lili.modules.wechat.util;
import cn.hutool.json.JSONUtil;
import lombok.Data;
import java.util.HashMap;
@ -48,7 +47,7 @@ public class WechatMessageData {
*
* @return
*/
public String createData() {
public Map<String, Map<String, String>> createData() {
Map<String, Map<String, String>> dataMap = new LinkedHashMap<>();
@ -62,7 +61,7 @@ public class WechatMessageData {
//拼接备注
dataMap.put("remark", createValue(this.remark));
return JSONUtil.toJsonStr(dataMap);
return dataMap;
}

View File

@ -100,14 +100,13 @@ public class WechatMessageUtil {
//发送url
String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
Map<String, String> map = new HashMap<>(4);
Map<String, Object> map = new HashMap<>(4);
//用户id
map.put("touser", connect.getUnionId());
//模版id
map.put("template_id", wechatMessage.getCode());
//模版中所需数据
String postParams = createData(order, wechatMessage);
map.put("data", postParams);
map.put("data", createData(order, wechatMessage));
log.info("参数内容:" + JSONUtil.toJsonStr(map));
String content = HttpUtil.post(url, JSONUtil.toJsonStr(map));
@ -119,7 +118,7 @@ public class WechatMessageUtil {
if (!"0".equals(errcode)) {
log.error("消息发送失败:" + errorMessage);
log.error("消息发送请求token" + token);
log.error("消息发送请求:" + postParams);
log.error("消息发送请求:" + map.get("data"));
}
}
@ -164,8 +163,7 @@ public class WechatMessageUtil {
//模版id
map.put("template_id", wechatMPMessage.getCode());
//模版中所需数据
Map<String, Map<String, String>> postParams = createData(order, wechatMPMessage);
map.put("data", postParams);
map.put("data", createData(order, wechatMPMessage));
map.put("page", "pages/order/orderDetail?sn=" + order.getSn());
log.info("参数内容:" + JSONUtil.toJsonStr(map));
String content = null;
@ -182,7 +180,7 @@ public class WechatMessageUtil {
if (!"0".equals(errcode)) {
log.error("消息发送失败:" + errorMessage);
log.error("消息发送请求token" + token);
log.error("消息发送请求:" + postParams);
log.error("消息发送请求:" + map.get("data"));
}
}
@ -193,7 +191,7 @@ public class WechatMessageUtil {
* @param wechatMessage
* @return
*/
private String createData(Order order, WechatMessage wechatMessage) {
private Map<String, Map<String, String>> createData(Order order, WechatMessage wechatMessage) {
WechatMessageData wechatMessageData = new WechatMessageData();
wechatMessageData.setFirst(wechatMessage.getFirst());
wechatMessageData.setRemark(wechatMessage.getRemark());

View File

@ -1,5 +1,6 @@
package cn.lili.controller.wechat;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
@ -31,6 +32,7 @@ public class WechatMessageManageController {
@GetMapping(value = "/init")
@ApiOperation(value = "初始化微信消息")
@DemoSite
public ResultMessage init() {
wechatMessageService.init();
return ResultUtil.success();