Bläddra i källkod

fix 群成员人数限制

Eric 1 år sedan
förälder
incheckning
4815d8876c

+ 17 - 17
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberAuditServiceImpl.java

@@ -99,16 +99,15 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
         String lockName = "klx:group_member_apply_lock:" + groupId;
         DistributedLock.of(redissonClient).runIfLockToFunction(lockName, (x)-> {
 
-            try {
-
-                // 统计群成员数量,大于等于群组最大人数时,不允许加入
-                int memberCount = imGroupMemberService.countGroupMember(groupId);
-                // 查询群成员人数限制
-                SysConfig byParamName = sysConfigService.findByParamName(SysConfigConstant.GROUP_MEMBER_LIMIT);
-                if (Objects.nonNull(byParamName) && memberCount >= Integer.parseInt(byParamName.getParamValue())) {
-                    throw new BizException("群成员数量已达上限");
-                }
+            // 统计群成员数量,大于等于群组最大人数时,不允许加入
+            int memberCount = imGroupMemberService.countGroupMember(groupId);
+            // 查询群成员人数限制
+            SysConfig byParamName = sysConfigService.findByParamName(SysConfigConstant.GROUP_MEMBER_LIMIT);
+            if (Objects.nonNull(byParamName) && memberCount >= Integer.parseInt(byParamName.getParamValue())) {
+                throw new BizException("群成员数量已达上限");
+            }
 
+            try {
                 Date date = new Date();
                 //是否自动通过审核
                 imGroupMemberAudit.setAuditStatus(imGroup.getAutoPassFlag() && autoJoin?AuditStatusEnum.OPEN:AuditStatusEnum.AUDITING);
@@ -158,15 +157,16 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
         // 增加群成员校验锁,当群成员人数达到限制时,不允许再次加入
         String lockName = "klx:group_member_audit_lock:" + groupId;
         DistributedLock.of(redissonClient).runIfLockToFunction(lockName, (x)-> {
-            try {
-                // 统计群成员数量,大于等于群组最大人数时,不允许加入
-                int memberCount = imGroupMemberService.countGroupMember(groupId);
-                // 查询群成员人数限制
-                SysConfig config = sysConfigService.findByParamName(SysConfigConstant.GROUP_MEMBER_LIMIT);
-                if (Objects.nonNull(config) && memberCount >= Integer.parseInt(config.getParamValue())) {
-                    throw new BizException("群成员数量已达上限");
-                }
 
+            // 统计群成员数量,大于等于群组最大人数时,不允许加入
+            int memberCount = imGroupMemberService.countGroupMember(groupId);
+            // 查询群成员人数限制
+            SysConfig config = sysConfigService.findByParamName(SysConfigConstant.GROUP_MEMBER_LIMIT);
+            if (Objects.nonNull(config) && memberCount >= Integer.parseInt(config.getParamValue())) {
+                throw new BizException("群成员数量已达上限");
+            }
+
+            try {
                 //修改审核状态
                 baseMapper.batchUpdateAuditStatus(auditIds,auditStatus.getCode());
                 if(auditStatus == AuditStatusEnum.OPEN){