Browse Source

修复登录通知异常;优化消息通知代码

fuyuchuan 4 days ago
parent
commit
d580cd901d

+ 8 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceReceiveServiceImpl.java

@@ -311,6 +311,14 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
         List<Long> targetUserIds = mceRequestVO.getUserIds();
         userIdList.retainAll(targetUserIds);
 
+        if (CollectionUtils.isEmpty(userIdList)) {
+            log.error("用户:" + mceRequestVO.getUserName() +
+                    ",发送的" + mceRequestVO.getInfoTypeName() +
+                    ",id:" + mceRequestVO.getId() +
+                    ",抄送用户均未找到消息配置,消息发送终止");
+            return;
+        }
+
         // 查询符合条件的 MceMbuser 列表
         List<MceMbuser> mbUserList = mceMbuserService.list(Wrappers.lambdaQuery(MceMbuser.class).in(MceMbuser::getUserId, userIdList));
 

+ 5 - 4
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/util/AsyncFactory.java

@@ -79,16 +79,17 @@ public class AsyncFactory
         // 日志状态
         if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
             logininfor.setStatus(String.valueOf(Constants.LOGIN_SUCCESS_STATUS)); // 使用String.valueOf进行转换
+
+        // 如果登录成功,发送微信公众号消息
+            if (Constants.LOGIN_SUCCESS.equals(status)) {
+                sendWeChatMessage(logininfor);
+            }
         } else if (Constants.LOGIN_FAIL.equals(status)) {
             logininfor.setStatus(String.valueOf(Constants.LOGIN_FAIL_STATUS)); // 使用String.valueOf进行转换
         }
         sys_user_logger.info("log is {}", JSON.toJSONString(logininfor));
         // 插入数据
         SpringContextUtils.getBean(ISysLogininforService.class).insertLogininfor(logininfor);
-        if (Constants.LOGIN_SUCCESS.equals(logininfor.getStatus())){
-            // 微信公众号推送登录消息
-            sendWeChatMessage(logininfor);
-        }
     }
 
     public static String getBlock(Object msg)