浏览代码

Merge remote-tracking branch 'origin/feature/0721-tenant' into feature/0721-tenant

zouxuan 1 年之前
父节点
当前提交
ce3fa10580

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

@@ -456,6 +456,16 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             teacher = getTeacherDetil(teacher, teacherSubmitReq);
             baseMapper.insert(teacher);
 
+            // 机构老师与学生互加好友关系
+            if (Optional.ofNullable(teacher.getTenantId()).orElse(-1L) > 0) {
+                // 自动与机构老师成为好友
+                Set<Long> collect = studentService.lambdaQuery()
+                        .eq(Student::getTenantId, teacher.getTenantId()).list().stream()
+                        .map(Student::getUserId).collect(Collectors.toSet());
+
+                imUserFriendService.saveUserFriend(teacher.getUserId(), collect);
+            }
+
             //插入老师账户表
             UserAccount oldAcc = userAccountService.getById(teacherSubmitReq.getUserId());
             if (null == oldAcc) {
@@ -936,6 +946,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         }
         Long oldTenantId = teacher.getTenantId();
         if (oldTenantId != -1L) {
+            // 机构老师处理流程
             List<ImGroup> imGroups = imGroupService.lambdaQuery()
                     .eq(ImGroup::getCreateBy, teacher.getUserId())
                     .eq(ImGroup::getType, ImGroupType.ORG)
@@ -947,8 +958,21 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                     log.error("老师修改机构,解散机构群失败:{}", e.getMessage());
                 }
             });
+            // 删除好友关系
             imUserFriendService.delFriendByTenantId(teacher.getTenantId(), teacher.getUserId());
+
+            // 机构老师与学生互加好友关系
+            if (Optional.ofNullable(teacher.getTenantId()).orElse(-1L) > 0) {
+                // 自动与机构老师成为好友
+                Set<Long> collect = studentService.lambdaQuery()
+                        .eq(Student::getTenantId, updateTenant.getTenantId()).list().stream()
+                        .map(Student::getUserId).collect(Collectors.toSet());
+
+                imUserFriendService.saveUserFriend(teacher.getUserId(), collect);
+            }
         }else {
+
+            // 平台老师处理流程
             if (ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
                 // 解绑后,结算方式如果是机构,默认调整为老师
                 teacher.setSettlementFrom(ESettlementFrom.TEACHER);