瀏覽代碼

Merge branch 'feature/0721-tenant'

# Conflicts:
#	cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
yuanliang 1 年之前
父節點
當前提交
a1c05d6ad2

+ 0 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/StudentService.java

@@ -130,5 +130,4 @@ public interface StudentService extends IService<Student> {
      */
     void updateTenant(Student student, Long toTenantId);
 
-    void addStudent(StudentWrapper.Student student);
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -76,6 +76,7 @@ import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.dto.search.*;
 import com.yonge.cooleshow.biz.dal.entity.*;
+import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.mapper.UserTenantAlbumRecordMapper;

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

@@ -528,21 +528,29 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
             return;
         }
         if (!tenantId.equals(-1L)) {
+            // 退群
             List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
+                    .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.STUDENT)
+                    .eq(ImGroupMember::getIsAdmin, false)
                     .eq(ImGroupMember::getUserId, student.getUserId())
-                    .eq(ImGroupMember::getRoleType, ClientEnum.STUDENT.getCode())
-                    .eq(ImGroupMember::getIsAdmin, false).list();
-            List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId).distinct()
-                    .collect(Collectors.toList());
-            for (String groupId : groupIdList) {
-                try {
-                    imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT, true);
-                } catch (Exception e) {
-                    log.error("退出群聊失败", e);
-                }
+                    .list();
+            List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId)
+                    .distinct().collect(Collectors.toList());
+            if (!groupIdList.isEmpty()) {
+                List<String> orgGroupIdList = imGroupService.listByIds(groupIdList).stream()
+                        .filter(next -> ImGroupType.ORG.equals(next.getType())).map(ImGroup::getId)
+                        .collect(Collectors.toList());
+                orgGroupIdList.forEach(groupId -> {
+                    try {
+                        imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT);
+                    } catch (Exception e) {
+                        log.error("学生注册,切换机构退群失败:{}", e.getMessage());
+                    }
+                });
             }
-            // 删除机构好友关系
-            imUserFriendService.delTeacherFriendByTenantId(tenantId, student.getUserId(),ClientEnum.STUDENT.getCode());
+//             删除好友
+            imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),
+                    ClientEnum.STUDENT.getCode());
         }
         if (toTenantId != null && toTenantId != -1L) {
             // 加好友
@@ -560,64 +568,6 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 .update();
     }
 
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void addStudent(StudentWrapper.Student student) {
-        // 更新头像
-        if (StringUtils.isEmpty(student.getAvatar())) {
-            String avatar = sysConfigService.findConfigValue(SysConfigConstant.STUDENT_AVATAR);
-            student.setAvatar(avatar);
-        }
-        SysUser sysUser = employeeDao.querySysUserByPhone(student.getPhone());
-        if (sysUser == null) {
-            sysUser = new SysUser();
-            sysUser.setUserType(ClientEnum.STUDENT.getCode());
-            sysUser.setGender(student.getGender());
-            //设置默认头像
-            sysUser.setAvatar(student.getAvatar());
-
-            sysUser.setUsername(student.getName());
-            sysUser.setPhone(student.getPhone());
-            //初始密码,手机号后6位
-            String password = "klx" + sysUser.getPhone().substring(sysUser.getPhone().length() - 4);
-            sysUser.setPassword(new BCryptPasswordEncoder().encode(password));
-            //插入
-            employeeDao.insertSysUser(sysUser);
-        } else {
-            if(StringUtils.isNotEmpty(sysUser.getUserType()) && sysUser.getUserType().contains(ClientEnum.STUDENT.getCode())){
-                throw new BizException("手机号已经注册学生账号");
-            }
-            if (StringUtil.isEmpty(sysUser.getUserType())) {
-                sysUser.setUserType(ClientEnum.STUDENT.getCode());
-            } else if (!sysUser.getUserType().contains(ClientEnum.STUDENT.getCode())) {
-                sysUser.setUserType(sysUser.getUserType() + "," + ClientEnum.STUDENT.getCode());
-            }
-            sysUser.setGender(student.getGender());
-            employeeDao.updateSysUser(sysUser);
-        }
-
-        student.setId(sysUser.getId());
-        this.save(student);
-
-        try {
-            imGroupCoreService.register(String.valueOf(student.getId()), ClientEnum.STUDENT.getCode(),
-                    sysUser.getUsername(),student.getAvatar());
-        } catch (Exception e) {
-            log.error("学生注册IM失败:" + e.getMessage(), e);
-        }
-        // 加好友
-        if (student.getTenantId() != -1) {
-            // 自动与机构老师成为好友
-            List<Teacher> teacherList = teacherDao.selectList(Wrappers.<Teacher>lambdaQuery()
-                    .eq(Teacher::getTenantId, student.getTenantId()));
-            if (!teacherList.isEmpty()) {
-                teacherList.forEach(next -> imUserFriendService.saveUserFriend(next.getUserId(),
-                        new HashSet<>(ImmutableList.of(student.getId()))));
-            }
-        }
-
-    }
-
     private Boolean updateStudent(StudentWrapper.Student studentInfo) {
         StudentVo student = detail(studentInfo.getId());
         if (student == null) {
@@ -647,7 +597,8 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 });
             }
 //             删除好友
-            imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),ClientEnum.TEACHER.getCode());
+            imUserFriendService.delTeacherFriendByTenantId(student.getTenantId(), student.getUserId(),
+                    ClientEnum.STUDENT.getCode());
         }
 
 

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

@@ -110,30 +110,12 @@ public class OpenStudentController extends BaseController {
                     throw new BizException("已经注册当前机构,请勿重复注册");
                 }
                 // 转到其他机构
-//                if ((!Objects.equals(student.getTenantId(), one.getTenantId()))) {
-//                    if(student.getUpdateTenant() == null || Boolean.FALSE.equals(student.getUpdateTenant())){
-//                        TenantInfo oldTenant = tenantInfoService.getById(one.getTenantId());
-//                        throw new BizException(5004, oldTenant.getName());
-//                    } else {
-//                        // 退群
-//                        List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
-//                                .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.STUDENT)
-//                                .eq(ImGroupMember::getIsAdmin, false)
-//                                .eq(ImGroupMember::getUserId, one.getUserId())
-//                                .list();
-//                        List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId)
-//                                .distinct().collect(Collectors.toList());
-//                        groupIdList.forEach(groupId -> {
-//                            try {
-//                                imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT);
-//                            } catch (Exception e) {
-//                                log.error("学生注册,切换机构退群失败:{}", e.getMessage());
-//                            }
-//                        });
-//                        // 删除好友
-//                        imUserFriendService.delTeacherFriendByTenantId(tenantId, one.getUserId(),ClientEnum.TEACHER.getCode());
-//                    }
-//                }
+                if ((!Objects.equals(student.getTenantId(), one.getTenantId()))) {
+                    if (student.getUpdateTenant() == null || Boolean.FALSE.equals(student.getUpdateTenant())) {
+                        TenantInfo oldTenant = tenantInfoService.getById(one.getTenantId());
+                        throw new BizException(5004, oldTenant.getName());
+                    }
+                }
 
                 // 更新头像
                 if (StringUtils.isEmpty(student.getAvatar())) {