|
@@ -516,21 +516,28 @@ 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);
|
|
|
- } 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.TEACHER.getCode());
|
|
|
}
|
|
|
if (toTenantId != null && toTenantId != -1L) {
|
|
|
// 加好友
|