1
This commit is contained in:
@@ -243,41 +243,10 @@ 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));
|
||||||
|
|
||||||
/**
|
|
||||||
* {
|
|
||||||
* "event": 10009,
|
|
||||||
* "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 data = wxMessage.getData();
|
||||||
WxMessage.DataSection.InnerData innerData = data.getData();
|
WxMessage.DataSection.InnerData innerData = data.getData();
|
||||||
Integer event = wxMessage.getEvent();
|
Integer event = wxMessage.getEvent();
|
||||||
@@ -285,23 +254,21 @@ public class WxMessageConsumer {
|
|||||||
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();
|
String fromWxid = innerData.getFromWxid();
|
||||||
WXUtil.SuperAdmin superAdmin = super_admins.get(fromWxid);
|
WXUtil.SuperAdmin superAdmin = super_admins.get(fromWxid);
|
||||||
if (Util.isEmpty(superAdmin)){
|
if (Util.isEmpty(superAdmin)) {
|
||||||
logger.info("不是超管消息,不处理");
|
logger.info("不是超管消息,不处理");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String msg = innerData.getMsg();
|
String msg = innerData.getMsg();
|
||||||
|
|
||||||
/**
|
if (msg.contains("【京东】")) {
|
||||||
* 【京东】https://3.cn/2c-47ATm 「京东京造桌面抽屉式收纳盒」
|
logger.info("消息包含【京东】,处理转链消息");
|
||||||
* 点击链接直接打开
|
|
||||||
* */
|
|
||||||
if (msg.contains("【京东】")){
|
|
||||||
String wxid;
|
String wxid;
|
||||||
if (Objects.equals(event, fromGR)) {
|
if (Objects.equals(event, fromGR)) {
|
||||||
wxid = innerData.getFromWxid();
|
wxid = innerData.getFromWxid();
|
||||||
@@ -309,27 +276,30 @@ public class WxMessageConsumer {
|
|||||||
wxid = innerData.getFinalFromWxid();
|
wxid = innerData.getFinalFromWxid();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 使用正则表达式匹配URL
|
|
||||||
//从 转链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);
|
String finallyUrl = getUrlStr(msg);
|
||||||
//String finallyUrl = extractProductId(msg);
|
|
||||||
//String finallyUrl = msg.substring(2);
|
|
||||||
if (Util.isNotEmpty(finallyUrl)) {
|
if (Util.isNotEmpty(finallyUrl)) {
|
||||||
|
logger.info("提取到URL:{}", finallyUrl);
|
||||||
String transferResultUrl = jdUtils.transfer(finallyUrl);
|
String transferResultUrl = jdUtils.transfer(finallyUrl);
|
||||||
wxUtil.sendTextMessage(wxid, transferResultUrl, msgType, null);
|
wxUtil.sendTextMessage(wxid, transferResultUrl, msgType, null);
|
||||||
|
} else {
|
||||||
|
logger.info("未提取到URL");
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
} else {
|
||||||
|
logger.info("消息不包含【京东】");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg.startsWith("京")) {
|
if (msg.startsWith("京")) {
|
||||||
jdUtils.sendOrderToWxByOrderJD(msg.replace("京", ""),fromWxid);
|
logger.info("消息以京开头,处理京东订单消息");
|
||||||
|
jdUtils.sendOrderToWxByOrderJD(msg.replace("京", ""), fromWxid);
|
||||||
return;
|
return;
|
||||||
|
} else {
|
||||||
|
logger.info("消息不以京开头");
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info("未命中前置指令,开始命中 Default 流程");
|
logger.info("未命中前置指令,开始命中 Default 流程");
|
||||||
jdUtils.sendOrderToWxByOrderDefault(msg,fromWxid);
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user