This commit is contained in:
雷欧(林平凡)
2025-08-06 11:06:12 +08:00
parent fc711b57fc
commit 8cc8ff5c6d
5 changed files with 29 additions and 103 deletions

View File

@@ -4,6 +4,7 @@ import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import cn.van.business.model.jd.OrderRow; import cn.van.business.model.jd.OrderRow;
import cn.van.business.model.pl.Comment; import cn.van.business.model.pl.Comment;
import cn.van.business.model.wx.SuperAdmin;
import cn.van.business.repository.CommentRepository; import cn.van.business.repository.CommentRepository;
import cn.van.business.repository.OrderRowRepository; import cn.van.business.repository.OrderRowRepository;
import cn.van.business.util.jdReq.*; import cn.van.business.util.jdReq.*;
@@ -213,7 +214,7 @@ public class JDScheduleJob {
} }
// 订单处理方法 // 订单处理方法
private void processOrderResponse(UnionOpenOrderRowQueryResponse response, WXUtil.SuperAdmin admin) { private void processOrderResponse(UnionOpenOrderRowQueryResponse response, SuperAdmin admin) {
Arrays.stream(response.getQueryResult().getData()).parallel().map(this::createOrderRow).forEach(orderRowRepository::save); Arrays.stream(response.getQueryResult().getData()).parallel().map(this::createOrderRow).forEach(orderRowRepository::save);
} }
@@ -324,7 +325,7 @@ public class JDScheduleJob {
if (isRunning_jd.equals("true")) { if (isRunning_jd.equals("true")) {
try { try {
OrderFetchStrategy strategy = new Days3090Strategy(); OrderFetchStrategy strategy = new Days3090Strategy();
for (WXUtil.SuperAdmin admin : super_admins.values()) { for (SuperAdmin admin : super_admins.values()) {
try { try {
if (Util.isAnyEmpty(admin.getAppKey(), admin.getSecretKey())) { if (Util.isAnyEmpty(admin.getAppKey(), admin.getSecretKey())) {
continue; continue;
@@ -351,7 +352,7 @@ public class JDScheduleJob {
try { try {
OrderFetchStrategy strategy = new Days1430Strategy(); // 需补充Days1430Strategy实现 OrderFetchStrategy strategy = new Days1430Strategy(); // 需补充Days1430Strategy实现
for (WXUtil.SuperAdmin admin : super_admins.values()) { for (SuperAdmin admin : super_admins.values()) {
try { try {
if (Util.isAnyEmpty(admin.getAppKey(), admin.getSecretKey())) { if (Util.isAnyEmpty(admin.getAppKey(), admin.getSecretKey())) {
continue; continue;

View File

@@ -8,6 +8,7 @@ import cn.van.business.model.jd.JDOrder;
import cn.van.business.model.jd.OrderRow; import cn.van.business.model.jd.OrderRow;
import cn.van.business.model.pl.Comment; import cn.van.business.model.pl.Comment;
import cn.van.business.model.pl.TaobaoComment; import cn.van.business.model.pl.TaobaoComment;
import cn.van.business.model.wx.SuperAdmin;
import cn.van.business.repository.*; import cn.van.business.repository.*;
import cn.van.business.util.ds.DeepSeekClientUtil; import cn.van.business.util.ds.DeepSeekClientUtil;
import cn.van.business.util.ds.GPTClientUtil; import cn.van.business.util.ds.GPTClientUtil;
@@ -265,9 +266,9 @@ public class JDUtil {
public void sendOrderToWxByOrderJD(String order, String fromWxid) { public void sendOrderToWxByOrderJD(String order, String fromWxid) {
int[] param = {-1}; int[] param = {-1};
List<WXUtil.SuperAdmin> superAdmins = getSuperAdmins(fromWxid); List<SuperAdmin> superAdmins = getSuperAdmins(fromWxid);
List<Long> unionIds = new ArrayList<>(); List<Long> unionIds = new ArrayList<>();
for (WXUtil.SuperAdmin superAdmin : superAdmins) { for (SuperAdmin superAdmin : superAdmins) {
String unionId = superAdmin.getUnionId(); String unionId = superAdmin.getUnionId();
unionIds.add(Long.valueOf(unionId)); unionIds.add(Long.valueOf(unionId));
} }
@@ -556,9 +557,9 @@ public class JDUtil {
*/ */
public void sendOrderToWxByOrderJDAdvanced(String order, String fromWxid) { public void sendOrderToWxByOrderJDAdvanced(String order, String fromWxid) {
int[] param = {-1}; int[] param = {-1};
List<WXUtil.SuperAdmin> superAdmins = getSuperAdmins(fromWxid); List<SuperAdmin> superAdmins = getSuperAdmins(fromWxid);
List<Long> unionIds = new ArrayList<>(); List<Long> unionIds = new ArrayList<>();
for (WXUtil.SuperAdmin superAdmin : superAdmins) { for (SuperAdmin superAdmin : superAdmins) {
String unionId = superAdmin.getUnionId(); String unionId = superAdmin.getUnionId();
unionIds.add(Long.valueOf(unionId)); unionIds.add(Long.valueOf(unionId));
} }

View File

@@ -2,6 +2,7 @@ package cn.van.business.util;
import cn.van.business.enums.ValidCodeConverter; import cn.van.business.enums.ValidCodeConverter;
import cn.van.business.model.jd.OrderRow; import cn.van.business.model.jd.OrderRow;
import cn.van.business.model.wx.SuperAdmin;
import cn.van.business.repository.OrderRowRepository; import cn.van.business.repository.OrderRowRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
@@ -129,7 +130,8 @@ public class OrderUtil {
if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) { if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) {
return; return;
} }
List<WXUtil.SuperAdmin> superAdmins = getSuperAdmins(wxId);
List<SuperAdmin> superAdmins = getSuperAdmins(wxId);
if (superAdmins.isEmpty()) return; if (superAdmins.isEmpty()) return;
List<Long> unionIds = superAdmins.stream().map(admin -> Long.valueOf(admin.getUnionId())).collect(Collectors.toList()); List<Long> unionIds = superAdmins.stream().map(admin -> Long.valueOf(admin.getUnionId())).collect(Collectors.toList());

View File

@@ -1,9 +1,11 @@
package cn.van.business.util; package cn.van.business.util;
import cn.van.business.model.wx.SuperAdmin;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
import cn.van.business.enums.WXReqType; import cn.van.business.enums.WXReqType;
import cn.van.business.mq.MessageProducerService; import cn.van.business.mq.MessageProducerService;
import cn.van.business.repository.SuperAdminRepository;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -88,14 +90,16 @@ public class WXUtil {
public static String WX_BASE_URL; public static String WX_BASE_URL;
private final WxtsUtil wxTsUtil; private final WxtsUtil wxTsUtil;
private final MessageProducerService messageProducerService; private final MessageProducerService messageProducerService;
private final SuperAdminRepository superAdminRepository;
public int sendTimes = 0; public int sendTimes = 0;
private static boolean restartNoticeSent = false; private static boolean restartNoticeSent = false;
@Autowired @Autowired
public WXUtil(Environment env, WxtsUtil wxTsUtil, @Lazy MessageProducerService messageProducerService) { public WXUtil(Environment env, WxtsUtil wxTsUtil, @Lazy MessageProducerService messageProducerService, SuperAdminRepository superAdminRepository) {
this.messageProducerService = messageProducerService; this.messageProducerService = messageProducerService;
this.wxTsUtil = wxTsUtil; this.wxTsUtil = wxTsUtil;
WX_BASE_URL = env.getProperty("config.WX_BASE_URL"); WX_BASE_URL = env.getProperty("config.WX_BASE_URL");
this.superAdminRepository = superAdminRepository;
System.out.println("WX_BASE_URL:" + WX_BASE_URL); System.out.println("WX_BASE_URL:" + WX_BASE_URL);
initSuperAdmins(); initSuperAdmins();
} }
@@ -143,74 +147,16 @@ public class WXUtil {
if (restartNoticeSent) { if (restartNoticeSent) {
return; return;
} }
SuperAdmin admin1 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2014264913", "98e21c89ae5610240ec3f5f575f86a59", "3dcb6b23a1104639ac433fd07adb6dfb"); logger.info("初始化超级管理员");
super_admins.put(admin1.getWxid() + admin1.getUnionId(), admin1); List<SuperAdmin> superAdminList = superAdminRepository.findAll();
jdidToWxidMap.put(admin1.getUnionId(), admin1.getWxid()); for (SuperAdmin superAdmin : superAdminList) {
jdidToRemarkMap.put(admin1.getUnionId(), admin1.getName()); super_admins.put(superAdmin.getWxid() + superAdmin.getUnionId(), superAdmin);
if (Util.isNotEmpty(superAdmin.getUnionId())){
SuperAdmin admin2 = new SuperAdmin("wxid_yneqf1implxu12", "", "2025353364", "e3c161242c8a1416fada5b5564d7ee70", "41ae9aabf03b41e6ba309682e36b323e"); jdidToWxidMap.put(superAdmin.getUnionId(), superAdmin.getWxid());
super_admins.put(admin2.getWxid() + admin2.getUnionId(), admin2); jdidToRemarkMap.put(superAdmin.getUnionId(), superAdmin.getName());
jdidToWxidMap.put(admin2.getUnionId(), admin2.getWxid()); }
jdidToRemarkMap.put(admin2.getUnionId(), admin2.getName()); logger.info("超级管理员:{} {}", superAdmin.getName(), superAdmin.getWxid());
}
SuperAdmin admin3 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2035096657", "9c2011409f0fc906b73432dd3687599d", "3ceddff403e544a8a2eacc727cf05dab");
super_admins.put(admin3.getWxid() + admin3.getUnionId(), admin3);
jdidToWxidMap.put(admin3.getUnionId(), admin3.getWxid());
jdidToRemarkMap.put(admin3.getUnionId(), admin3.getName());
SuperAdmin admin4 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2036678559", "4dbc8edd74fbb24d537ee64930527e30", "27ee9b5871e547eb83e19027a4ff7e18");
super_admins.put(admin4.getWxid() + admin4.getUnionId(), admin4);
jdidToWxidMap.put(admin4.getUnionId(), admin4.getWxid());
jdidToRemarkMap.put(admin4.getUnionId(), admin4.getName());
SuperAdmin admin5 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2035140236", "5cc8da6a55842330775fad4ee9ebf47a", "c4aebcd408924143a75463781f6acd7c");
super_admins.put(admin5.getWxid() + admin5.getUnionId(), admin5);
jdidToWxidMap.put(admin5.getUnionId(), admin5.getWxid());
jdidToRemarkMap.put(admin5.getUnionId(), admin5.getName());
SuperAdmin admin6 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2019237086", "01381d95e4936f1f3fe643bba2171894", "087c56aa156a4c20be280195be8b3eda");
super_admins.put(admin6.getWxid() + admin6.getUnionId(), admin6);
jdidToWxidMap.put(admin6.getUnionId(), admin6.getWxid());
jdidToRemarkMap.put(admin6.getUnionId(), admin6.getName());
SuperAdmin admin7 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2033493067", "66618e24a5e9f44156253c4eb9892388", "15846e2334934482a703417d5058f842");
super_admins.put(admin7.getWxid() + admin7.getUnionId(), admin7);
jdidToWxidMap.put(admin7.getUnionId(), admin7.getWxid());
jdidToRemarkMap.put(admin7.getUnionId(), admin7.getName());
//370|10:39:16|wxid_kr145nk7l0an31|发出私聊|【发送】wxid_gca9mnidqhkq11<msg><emoji fromusername="wxid_kr145nk7l0an31" tousername="wxid_gca9mnidqhkq11" type="2" androidmd5="757143031ca266efd91d80282ff712a2" androidlen="1179" aeskey="da0fc6265e1c4a34be48793765b23625" encrypturl="http://vweixinf.tc.qq.com/110/20402/stodownload?m=929b1e2005a43d19d6b83bc838c1d344&amp;filekey=3043020101042f302d02016e0402535a0420393239623165323030356134336431396436623833626338333863316433343402024640040d00000004627466730000000132&amp;hy=SZ&amp;storeid=264422c1f000dce3a74f42d4d0000006e02004fb2535a07393970b6bcbbaed&amp;ef=2&amp;bizid=1022" externurl="http://vweixinf.tc.qq.com/110/20403/stodownload?m=3b7e84fd88d3da4b665c17e0a54317d2&amp;filekey=3043020101042f302d02016e0402535a04203362376538346664383864336461346236363563313765306135343331376432020204a0040d00000004627466730000000132&amp;hy=SZ&amp;storeid=264422c1f000e578f74f42d4d0000006e03004fb3535a07393970b6bcbbaf8&amp;ef=3&amp;bizid=1022" externmd5="afb197c2f679456c2506809e3fc1c56a"/></msg>
SuperAdmin admin8 = new SuperAdmin("wxid_ytpc72mdoskt22", "梓豪", "1003068753", "e335738c819a7c3343d4dde52c393880", "b56abdd9b177466ba2afb6f0ee89709c");
super_admins.put(admin8.getWxid() + admin8.getUnionId(), admin8);
jdidToWxidMap.put(admin8.getUnionId(), admin8.getWxid());
jdidToRemarkMap.put(admin8.getUnionId(), admin8.getName());
SuperAdmin admin9 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2032071669", "327beaa7ee7b5911a79e241013971403", "9b5110c76a534f09808258057e3cf20b");
super_admins.put(admin9.getWxid() + admin9.getUnionId(), admin9);
jdidToWxidMap.put(admin9.getUnionId(), admin9.getWxid());
jdidToRemarkMap.put(admin9.getUnionId(), admin9.getName());
SuperAdmin admin10 = new SuperAdmin("wxid_sr3r8ot0z6do12", "", "2036719699", "43de3e21ab2936380e558c5606e2bae0", "1fb013c8d5fb4e2597cbdb19fe128b02");
super_admins.put(admin10.getWxid() + admin10.getUnionId(), admin10);
jdidToWxidMap.put(admin10.getUnionId(), admin10.getWxid());
jdidToRemarkMap.put(admin10.getUnionId(), admin10.getName());
//102|12:50:55|wxid_kr145nk7l0an31|收到私聊|1 0213的微信号
SuperAdmin admin11 = new SuperAdmin("wxid_cfmrk2upjtf322", "0213", "", "", "");
super_admins.put(admin11.getWxid() + admin11.getUnionId(), admin11);
SuperAdmin admin12 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2036765910", "e9c3f42fb6452af9c3dfc4a8496d6798", "5e56bb788a3c4d9ba032234277c521f2");
super_admins.put(admin12.getWxid() + admin12.getUnionId(), admin12);
jdidToWxidMap.put(admin12.getUnionId(), admin12.getWxid());
jdidToRemarkMap.put(admin12.getUnionId(), admin12.getName());
SuperAdmin admin13 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2036827177", "0218a93e14d1a37661889e91333aed30", "c0f5f9a37d904f95a9e968be97ad37bb");
super_admins.put(admin13.getWxid() + admin13.getUnionId(), admin13);
jdidToWxidMap.put(admin13.getUnionId(), admin13.getWxid());
jdidToRemarkMap.put(admin13.getUnionId(), admin13.getName());
/**/
SuperAdmin admin14 = new SuperAdmin("wxid_m5ibcpe0ukw521", "小怪兽", "", "", "");
super_admins.put(admin14.getWxid() + admin14.getUnionId(), admin14);
/* 内部管理群 */ /* 内部管理群 */
@@ -250,18 +196,6 @@ public class WXUtil {
String fromWxid = default_bot_wxid; // 来源为机器人自身 String fromWxid = default_bot_wxid; // 来源为机器人自身
sendTextMessage(default_super_admin_wxid, messageContent, 1, fromWxid, false); sendTextMessage(default_super_admin_wxid, messageContent, 1, fromWxid, false);
//for (SuperAdmin admin : super_admins.values()) {
// if (!notify_wx.contains(admin.getWxid())){
// try {
// sendTextMessage(admin.getWxid(), messageContent, 1, fromWxid, false);
// notify_wx.add(admin.getWxid());
// } catch (Exception e) {
// logger.warn("发送重启通知失败,目标 wxid: {}", admin.getWxid(), e);
// }
// }
//
//}
restartNoticeSent = true; restartNoticeSent = true;
} }
@@ -304,7 +238,6 @@ public class WXUtil {
//JSONObject wxBotInfo = (JSONObject) wxList.getJSONArray("result").get(0); //JSONObject wxBotInfo = (JSONObject) wxList.getJSONArray("result").get(0);
//botWxid = wxBotInfo.getString("wxid"); //botWxid = wxBotInfo.getString("wxid");
// //
////
WxReqDate wxReqDate = createWxReqData(WXReqType.SEND_TEXT_MESSAGE); WxReqDate wxReqDate = createWxReqData(WXReqType.SEND_TEXT_MESSAGE);
JSONObject data = new JSONObject(); JSONObject data = new JSONObject();
//if ((msgType.equals(1))) { //if ((msgType.equals(1))) {
@@ -475,18 +408,6 @@ public class WXUtil {
} }
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SuperAdmin {
private String wxid;
private String name;
// 联盟ID
private String unionId;
private String appKey;
private String secretKey;
}
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor

View File

@@ -2,6 +2,7 @@ package cn.van.business.util;
import cn.van.business.enums.FromType; import cn.van.business.enums.FromType;
import cn.van.business.model.wx.SuperAdmin;
import cn.van.business.model.wx.WxMessage; import cn.van.business.model.wx.WxMessage;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -64,7 +65,7 @@ public class WxMessageConsumer {
logger.info("消息内容:{}", innerData.getMsg()); logger.info("消息内容:{}", innerData.getMsg());
} }
String fromWxid = innerData.getFromWxid(); String fromWxid = innerData.getFromWxid();
WXUtil.SuperAdmin superAdmin = getSuperAdmins(fromWxid).get(0); SuperAdmin superAdmin = getSuperAdmins(fromWxid).get(0);
if (Util.isEmpty(superAdmin)) { if (Util.isEmpty(superAdmin)) {
logger.info("不是超管消息,不处理"); logger.info("不是超管消息,不处理");
return; return;