diff --git a/src/main/java/cn/van/business/util/JDUtil.java b/src/main/java/cn/van/business/util/JDUtil.java index 572a33e..f61bc4e 100644 --- a/src/main/java/cn/van/business/util/JDUtil.java +++ b/src/main/java/cn/van/business/util/JDUtil.java @@ -50,8 +50,7 @@ import java.util.stream.Stream; import static cn.van.business.util.JDUtil.UserInteractionState.GiftMoneyStep.*; import static cn.van.business.util.JDUtil.UserInteractionState.ProcessState.INIT; -import static cn.van.business.util.WXUtil.chatRoom_BY; -import static cn.van.business.util.WXUtil.super_admins; +import static cn.van.business.util.WXUtil.*; /** * @author Leo @@ -236,8 +235,13 @@ public class JDUtil { public void sendOrderToWxByOrderJD(String order, String fromWxid) { int[] param = {-1}; - WXUtil.SuperAdmin superAdmin = super_admins.get(fromWxid); - String unionId = superAdmin.getUnionId(); + WXUtil.SuperAdmin superAdmin = getSuperAdmin(fromWxid); + String unionId; + if (superAdmin != null) { + unionId = superAdmin.getUnionId(); + }else { + return; + } List orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, Long.valueOf(unionId)); /** * 菜单: @@ -422,8 +426,13 @@ public class JDUtil { */ public void sendOrderToWxByOrderJDAdvanced(String order, String fromWxid) { int[] param = {-1}; - WXUtil.SuperAdmin superAdmin = super_admins.get(fromWxid); - String unionId = superAdmin.getUnionId(); + WXUtil.SuperAdmin superAdmin = getSuperAdmin(fromWxid); + String unionId; + if (superAdmin != null) { + unionId = superAdmin.getUnionId(); + }else { + return; + } List orderRows = orderRowRepository.findByValidCodeNotInOrderByOrderTimeDescAndUnionId(param, Long.valueOf(unionId)); List contents = new ArrayList<>(); diff --git a/src/main/java/cn/van/business/util/WXUtil.java b/src/main/java/cn/van/business/util/WXUtil.java index 2614fb6..92ff6cb 100644 --- a/src/main/java/cn/van/business/util/WXUtil.java +++ b/src/main/java/cn/van/business/util/WXUtil.java @@ -33,6 +33,7 @@ public class WXUtil { public static final String default_super_admin_wxid = "wxid_ytpc72mdoskt22"; private static final Logger logger = LoggerFactory.getLogger(WXUtil.class); public static String default_bot_wxid = "wxid_kr145nk7l0an31"; + public static Map super_admins = new HashMap<>(); public static Map jdidToWxidMap = new HashMap<>(); public static Map jdidToRemarkMap = new HashMap<>(); @@ -94,6 +95,15 @@ public class WXUtil { public static String getRemarkFromJdid(String jdid) { return jdidToRemarkMap.get(jdid); } + public static SuperAdmin getSuperAdmin(String wxid) { + for (Map.Entry entry : super_admins.entrySet()) { + SuperAdmin value = entry.getValue(); + if (value.getWxid().equals(wxid)) { + return (SuperAdmin) entry; + } + } + return null; + } public static List splitStringByLength(String input, int length) { List result = new ArrayList<>(); @@ -109,27 +119,27 @@ public class WXUtil { // 初始化超级管理员 public void initSuperAdmins() { SuperAdmin admin1 = new SuperAdmin("wxid_ytpc72mdoskt22", "凡", "2014264913", "98e21c89ae5610240ec3f5f575f86a59", "3dcb6b23a1104639ac433fd07adb6dfb"); - super_admins.put(admin1.getWxid(), admin1); + super_admins.put(admin1.getWxid()+admin1.getUnionId(), admin1); jdidToWxidMap.put(admin1.getUnionId(), admin1.getWxid()); jdidToRemarkMap.put(admin1.getUnionId(), admin1.getName()); SuperAdmin admin2 = new SuperAdmin("wxid_yneqf1implxu12", "源", "2025353364", "e3c161242c8a1416fada5b5564d7ee70", "41ae9aabf03b41e6ba309682e36b323e"); - super_admins.put(admin2.getWxid(), admin2); + super_admins.put(admin2.getWxid()+admin2.getUnionId(), admin2); jdidToWxidMap.put(admin2.getUnionId(), admin2.getWxid()); jdidToRemarkMap.put(admin2.getUnionId(), admin2.getName()); SuperAdmin admin3 = new SuperAdmin("wxid_ytpc72mdoskt22", "林琳", "2035096657", "9c2011409f0fc906b73432dd3687599d", "3ceddff403e544a8a2eacc727cf05dab"); - super_admins.put(admin3.getWxid(), admin3); + 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); + 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); + super_admins.put(admin5.getWxid()+admin5.getUnionId(), admin5); jdidToWxidMap.put(admin5.getUnionId(), admin5.getWxid()); jdidToRemarkMap.put(admin5.getUnionId(), admin5.getName()); diff --git a/src/main/java/cn/van/business/util/WxMessageConsumer.java b/src/main/java/cn/van/business/util/WxMessageConsumer.java index 409829a..871430f 100644 --- a/src/main/java/cn/van/business/util/WxMessageConsumer.java +++ b/src/main/java/cn/van/business/util/WxMessageConsumer.java @@ -231,7 +231,7 @@ public class WxMessageConsumer { } String fromWxid = innerData.getFromWxid(); - WXUtil.SuperAdmin superAdmin = super_admins.get(fromWxid); + WXUtil.SuperAdmin superAdmin = getSuperAdmin(fromWxid); if (Util.isEmpty(superAdmin)) { logger.info("不是超管消息,不处理"); return;