Browse Source

1.导入学生添加小组校验
2.文案修改
3.群主交换身份添加校验

yuanliang 1 year ago
parent
commit
2784e08ae1

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -88,7 +88,7 @@ public class OpenStudentController extends BaseController {
         Long tenantGroupId = student.getTenantGroupId();
         TenantGroup tenantGroup = tenantGroupMapper.selectById(tenantGroupId);
         if (tenantGroup == null) {
-            throw new com.microsvc.toolkit.common.webportal.exception.BizException("请选择小组");
+            throw new BizException("该链接已失效");
         }
         Long studentId = student.getId();
 

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -486,17 +486,17 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             int msgRowNo = rowIndex + 1;
             student.checkValid().forEach(err -> errMsg.add(String.format("第%s行%s", msgRowNo, err)));
 
-            if (phoneMap.containsKey(student.getPhone().trim())) {
+            if (phoneMap.containsKey(student.getPhone())) {
                 errMsg.add(String.format("第%s行手机号重复", msgRowNo));
             } else {
-                phoneMap.put(student.getPhone().trim(), msgRowNo);
+                phoneMap.put(student.getPhone(), msgRowNo);
             }
 
             if (!subjectNames.contains(student.getSubjectName())) {
                 errMsg.add(String.format("第%s行声部不支持", msgRowNo));
             }
 
-            if (StringUtils.isNotEmpty(student.getTenantGroupName()) && !groupNameIdMap.containsKey(student.getTenantGroupName())) {
+            if (!groupNameIdMap.containsKey(student.getTenantGroupName())) {
                 errMsg.add(String.format("第%s行小组不存在", msgRowNo));
             }
 

+ 13 - 9
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantGroupServiceImpl.java

@@ -223,7 +223,7 @@ public class TenantGroupServiceImpl extends ServiceImpl<TenantGroupMapper, Tenan
             }
         }
         // 修改小组负责人,调整群主,更换群主需要新的群主为该群成员
-        changeGroupOwner(tenantGroup, oldGroup, entity);
+        changeGroupOwner(oldGroup, entity);
         QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda()
                 .eq(Student::getTenantId, tenantGroup.getTenantId())
@@ -452,8 +452,7 @@ public class TenantGroupServiceImpl extends ServiceImpl<TenantGroupMapper, Tenan
         }
     }
 
-    private void changeGroupOwner(TenantGroupWrapper.TenantGroup tenantGroup, TenantGroup oldGroup,
-                                  TenantGroup newGroup) {
+    private void changeGroupOwner(TenantGroup oldGroup, TenantGroup newGroup) {
         if (newGroup.getAdminId() == null || newGroup.getAdminId().equals(oldGroup.getAdminId())) {
             return;
         }
@@ -463,9 +462,15 @@ public class TenantGroupServiceImpl extends ServiceImpl<TenantGroupMapper, Tenan
             // 群不存在
             return;
         }
+
+        if (!newGroup.getImGroupId().equals(oldGroup.getImGroupId())) {
+            // 旧的群被删除了,不需要交换身份
+            return;
+        }
+
         // 如果新负责人不在群,先加入群
         ImGroupMember groupMember = imGroupMemberService.lambdaQuery()
-                .eq(ImGroupMember::getGroupId, oldGroup.getImGroupId())
+                .eq(ImGroupMember::getGroupId, newGroup.getImGroupId())
                 .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.TEACHER)
                 .eq(ImGroupMember::getUserId, newGroup.getAdminId())
                 .eq(ImGroupMember::getIsAdmin, true)
@@ -477,15 +482,14 @@ public class TenantGroupServiceImpl extends ServiceImpl<TenantGroupMapper, Tenan
         try {
             SysUser newTeacher = sysUserService.getByUserId(newGroup.getAdminId());
             ImGroupMember imGroupMember = new ImGroupMember();
-            imGroupMember.setGroupId(oldGroup.getImGroupId());
+            imGroupMember.setGroupId(newGroup.getImGroupId());
             imGroupMember.setUserId(newGroup.getAdminId());
             imGroupMember.setRoleType(ImGroupMemberRoleType.TEACHER);
             imGroupMember.setAvatar(newTeacher.getAvatar());
             imGroupMember.setNickname(newTeacher.getUsername());
             imGroupMember.setIsAdmin(false);
-            imGroupMember.setRoleType(ImGroupMemberRoleType.TEACHER);
 
-            imGroupMemberService.join(Collections.singletonList(imGroupMember), oldGroup.getImGroupId());
+            imGroupMemberService.join(Collections.singletonList(imGroupMember), newGroup.getImGroupId());
         } catch (Exception e) {
             log.error("负责人加入群失败", e);
             throw new BizException("负责人加入群失败");
@@ -493,12 +497,12 @@ public class TenantGroupServiceImpl extends ServiceImpl<TenantGroupMapper, Tenan
 
         try {
             imGroupCoreService.changeGroupOwner(oldGroup.getImGroupId(),
-                    String.valueOf(tenantGroup.getAdminId()),
+                    String.valueOf(newGroup.getAdminId()),
                     String.valueOf(oldGroup.getAdminId()));
             imGroupCoreService.groupQuit(oldGroup.getAdminId(), ClientEnum.TEACHER.getCode(),
                     oldGroup.getImGroupId(), true);
             imGroupService.lambdaUpdate()
-                    .set(ImGroup::getCreateBy, tenantGroup.getAdminId())
+                    .set(ImGroup::getCreateBy, newGroup.getAdminId())
                     .eq(ImGroup::getId, imGroupId);
         } catch (Exception e) {
             log.error("更换群主失败", e);

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/StudentWrapper.java

@@ -182,6 +182,9 @@ public class StudentWrapper {
             } else if (!"男".equals(gender) && !"女".equals(gender)) {
                 errMsg.add("性别错误");
             }
+            if (StringUtils.isEmpty(tenantGroupName)) {
+                errMsg.add("小组为空");
+            }
             return errMsg;
         }
     }

+ 1 - 1
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -97,7 +97,7 @@ public class OpenStudentController extends BaseController {
         Long tenantGroupId = student.getTenantGroupId();
         TenantGroup tenantGroup = tenantGroupMapper.selectById(tenantGroupId);
         if (tenantGroup == null) {
-            throw new com.microsvc.toolkit.common.webportal.exception.BizException("请选择小组");
+            throw new BizException("该链接已失效");
         }
         Long studentId = student.getId();