|
@@ -13,6 +13,7 @@ import com.yonge.cooleshow.biz.dal.dao.SubjectDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ImGroupType;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.mapper.SysAreaMapper;
|
|
@@ -89,6 +90,9 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
|
|
|
@Autowired
|
|
|
private TenantGroupMapper tenantGroupMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ImGroupMemberService imGroupMemberService;
|
|
|
+
|
|
|
/**
|
|
|
* @param id 详情ID
|
|
|
* @return TenantUnbindRecord
|
|
@@ -240,16 +244,23 @@ public class TenantUnbindRecordServiceImpl extends ServiceImpl<TenantUnbindRecor
|
|
|
Long tenantId = teacher.getTenantId();
|
|
|
if (tenantId != -1L) {
|
|
|
// 解散机构群
|
|
|
- List<ImGroup> imGroups = imGroupService.lambdaQuery()
|
|
|
- .eq(ImGroup::getCreateBy, unbindRecord.getUserId())
|
|
|
- .eq(ImGroup::getType, ImGroupType.ORG)
|
|
|
- .list();
|
|
|
- for (ImGroup imGroup : imGroups) {
|
|
|
- try {
|
|
|
- imGroupService.dismiss(imGroup.getId());
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("老师解绑审核成功,解散机构群失败:{}", e.getMessage());
|
|
|
- }
|
|
|
+ List<String> imGroupIds = imGroupMemberService.lambdaQuery()
|
|
|
+ .eq(ImGroupMember::getUserId, unbindRecord.getUserId())
|
|
|
+ .eq(ImGroupMember::getIsAdmin, true)
|
|
|
+ .eq(ImGroupMember::getRoleType, ImGroupMemberRoleType.TEACHER)
|
|
|
+ .list().stream().map(ImGroupMember::getGroupId).distinct().collect(Collectors.toList());
|
|
|
+ if (!imGroupIds.isEmpty()) {
|
|
|
+ List<ImGroup> imGroups = imGroupService.lambdaQuery()
|
|
|
+ .in(ImGroup::getId, imGroupIds)
|
|
|
+ .eq(ImGroup::getType, ImGroupType.ORG)
|
|
|
+ .list();
|
|
|
+ imGroups.forEach(next -> {
|
|
|
+ try {
|
|
|
+ imGroupService.dismiss(next.getId());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("老师修改机构,解散机构群失败:{}", e.getMessage());
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
imUserFriendService.delStudentFriendByTenantId(tenantId, unbindRecord.getUserId(),
|
|
|
ClientEnum.TEACHER.getCode());
|