This commit is contained in:
雷欧(林平凡)
2025-02-26 17:53:29 +08:00
parent 532d74bcb2
commit 44b4e5a78c

View File

@@ -243,93 +243,63 @@ public class WxMessageConsumer {
* *
* @param wxMessage * @param wxMessage
*/ */
private void handlePrivateMessage(WxMessage wxMessage) throws Exception { private void handlePrivateMessage(WxMessage wxMessage) throws Exception {
Integer msgType = 1; Integer msgType = 1;
// 做业务处理 logger.info("处理消息: {}", JSON.toJSONString(wxMessage));
logger.info("处理消息: {}", JSON.toJSONString(wxMessage));
/** WxMessage.DataSection data = wxMessage.getData();
* { WxMessage.DataSection.InnerData innerData = data.getData();
* "event": 10009, Integer event = wxMessage.getEvent();
* "wxid": "wxid_nq6r0w9v12612",
* "data": {
* "type": "recvMsg",
* "des": "收到消息",
* "data": {
* "timeStamp": "1716620300237",
* "fromType": 1,
* "msgType": 1,
* "msgSource": 0,
* "fromWxid": "wxid_3sq4tklb6c3121",
* "finalFromWxid": "",
* "atWxidList": [],
* "silence": 0,
* "membercount": 0,
* "signature": "V1_uKhKVjB1|v1_uKhKVjB1",
* "msg": " 你在干嘛呢",
* "msgId": "4937897417714063715",
* "msgBase64": "IOS9oOWcqOW5suWYm+WRog=="
* },
* "timestamp": "1716620300238",
* "wxid": "wxid_nq6r0w9v12612",
* "port": 8888,
* "pid": 3944,
* "flag": "7888"
* }
* }
* */
WxMessage.DataSection data = wxMessage.getData();
WxMessage.DataSection.InnerData innerData = data.getData();
Integer event = wxMessage.getEvent();
if (Util.isAnyEmpty(innerData.getMsg(), innerData.getFromWxid())) { if (Util.isAnyEmpty(innerData.getMsg(), innerData.getFromWxid())) {
logger.info("消息内容为空,不处理"); logger.info("消息内容为空,不处理");
return; return;
}else { } else {
logger.info("消息内容:"+innerData.getMsg()); logger.info("消息内容:" + innerData.getMsg());
} }
// 只处理超管的消息
String fromWxid = innerData.getFromWxid();
WXUtil.SuperAdmin superAdmin = super_admins.get(fromWxid);
if (Util.isEmpty(superAdmin)){
logger.info("不是超管消息,不处理");
return;
}
String msg = innerData.getMsg();
/** String fromWxid = innerData.getFromWxid();
* 【京东】https://3.cn/2c-47ATm 「京东京造桌面抽屉式收纳盒」 WXUtil.SuperAdmin superAdmin = super_admins.get(fromWxid);
* 点击链接直接打开 if (Util.isEmpty(superAdmin)) {
* */ logger.info("不是超管消息,不处理");
if (msg.contains("【京东】")){ return;
String wxid; }
if (Objects.equals(event, fromGR)) {
wxid = innerData.getFromWxid();
} else {
wxid = innerData.getFinalFromWxid();
}
// 使用正则表达式匹配URL String msg = innerData.getMsg();
//从 转链https://item.m.jd.com/product/100065976064.html?utm_user=plusmember&gx=RnAomTM2bGbfy59DrNFzDHu0uUde7Oc&gxd=RnAoxWMLamXdwpscqIV-D94totD10SY&ad_od=share&utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=CopyURL_shareid64b2a4939719b1d3173112851071496926_shangxiang_none
// 获取 100065976064
logger.info("处理转链消息");
String finallyUrl = getUrlStr(msg); if (msg.contains("【京东】")) {
//String finallyUrl = extractProductId(msg); logger.info("消息包含【京东】,处理转链消息");
//String finallyUrl = msg.substring(2); String wxid;
if (Util.isNotEmpty(finallyUrl)) { if (Objects.equals(event, fromGR)) {
String transferResultUrl = jdUtils.transfer(finallyUrl); wxid = innerData.getFromWxid();
wxUtil.sendTextMessage(wxid, transferResultUrl, msgType, null); } else {
} wxid = innerData.getFinalFromWxid();
return;
}
if (msg.startsWith("")) {
jdUtils.sendOrderToWxByOrderJD(msg.replace("", ""),fromWxid);
return;
} }
logger.info("未命中前置指令,开始命中 Default 流程"); String finallyUrl = getUrlStr(msg);
jdUtils.sendOrderToWxByOrderDefault(msg,fromWxid); if (Util.isNotEmpty(finallyUrl)) {
logger.info("提取到URL{}", finallyUrl);
String transferResultUrl = jdUtils.transfer(finallyUrl);
wxUtil.sendTextMessage(wxid, transferResultUrl, msgType, null);
} else {
logger.info("未提取到URL");
}
return;
} else {
logger.info("消息不包含【京东】");
}
if (msg.startsWith("")) {
logger.info("消息以京开头,处理京东订单消息");
jdUtils.sendOrderToWxByOrderJD(msg.replace("", ""), fromWxid);
return;
} else {
logger.info("消息不以京开头");
}
logger.info("未命中前置指令,开始命中 Default 流程");
jdUtils.sendOrderToWxByOrderDefault(msg, fromWxid);
}
//else if (msg.startsWith("美团 ")) { //else if (msg.startsWith("美团 ")) {
// logger.info("处理美团的消息"); // logger.info("处理美团的消息");
@@ -422,7 +392,6 @@ public class WxMessageConsumer {
// wxUtil.sendTextMessage(wxid, result, msgType, wxMessageDataForChat.getFromwxid()); // wxUtil.sendTextMessage(wxid, result, msgType, wxMessageDataForChat.getFromwxid());
//} //}
// wxMessageDataForChatService.save(wxMessageDataForChat); // wxMessageDataForChatService.save(wxMessageDataForChat);
}
/** /**
* @param wxMessage * @param wxMessage