瀏覽代碼

1.审核过程中修改机构信息

yuanliang 1 年之前
父節點
當前提交
3a0cd15ccb

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

@@ -433,6 +433,13 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                 userAccountService.save(userAccount);
             }
         } else {
+            if (!teacher.getTenantId().equals(teacherSubmitReq.getTenantId())) {
+                TeacherWrapper.UpdateTenant updateTenant = new TeacherWrapper.UpdateTenant();
+                updateTenant.setTeacherId(teacher.getUserId());
+                updateTenant.setTenantId(teacherSubmitReq.getTenantId());
+                updateTenant(updateTenant);
+            }
+
             teacher.setUpdateTime(new Date());
             teacher = getTeacherDetil(teacher, teacherSubmitReq);
             if (null == teacher.getEntryAuthDate() || null == teacher.getMusicianDate()) {
@@ -443,27 +450,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                 );
             }
 
-            // 机构解绑
-            if (teacher.getTenantId() != -1L && Boolean.FALSE.equals(teacherSubmitReq.getBindTenant())) {
-                // 老师建立的班级群解散,并解除好友关系
-                List<ImGroupMember> groupMembers = imGroupMemberService.lambdaQuery()
-                        .eq(ImGroupMember::getIsAdmin, true)
-                        .eq(ImGroupMember::getUserId, teacher.getUserId()).list();
-                if (!groupMembers.isEmpty()) {
-                    List<String> groupIdList = groupMembers.stream().map(ImGroupMember::getGroupId).distinct()
-                            .collect(Collectors.toList());
-                    groupIdList.forEach(next -> {
-                        try {
-                            imGroupService.dismiss(next);
-                        } catch (Exception e) {
-                            log.error("解散群聊失败,", e);
-                        }
-                    });
-                    imUserFriendService.delFriendByTenantId(teacher.getTenantId(), teacher.getUserId());
-                }
-                // 机构解绑后,归属为平台老师
-                teacher.setTenantId(-1L);
-            }
             baseMapper.updateById(teacher);
         }
 
@@ -909,6 +895,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         return wrapper;
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void updateTenant(TeacherWrapper.UpdateTenant updateTenant) {
         Teacher teacher = this.getById(updateTenant.getTeacherId());
@@ -928,6 +915,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
                     log.error("老师修改机构,解散机构群失败:{}", e.getMessage());
                 }
             });
+            imUserFriendService.delFriendByTenantId(teacher.getTenantId(), teacher.getUserId());
         }
 
         teacher.setTenantId(updateTenant.getTenantId());