瀏覽代碼

Merge remote-tracking branch 'origin/feature/1020-tencent-im' into feature/1020-tencent-im

Eric 1 年之前
父節點
當前提交
66e4f286ab
共有 1 個文件被更改,包括 18 次插入9 次删除
  1. 18 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

+ 18 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -29,6 +29,7 @@ import com.ym.mec.biz.dal.enums.im.ClientEnum;
 import com.ym.mec.biz.dal.enums.school.ESchoolStaffType;
 import com.ym.mec.biz.dal.mapper.SchoolStaffMapper;
 import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
+import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
 import com.ym.mec.biz.dal.wrapper.ImGroupWrapper;
 import com.ym.mec.biz.dal.wrapper.ImHistoryMessageWrapper;
 import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
@@ -538,8 +539,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         // 注册主播用户信息到三方平台
         imGroupCoreService.register(userId.toString(),"", name, avatar);
 
+        boolean createFlag = false;
         // 群组不存在,先创建群组
         if (Objects.isNull(imGroup)) {
+            createFlag = true;
             CooperationOrgan cooperationOrgan = cooperationOrganService.get(schoolId.intValue());
             imGroup = new ImGroup();
             imGroup.setSchoolId(schoolId);
@@ -559,22 +562,28 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
             initSchoolGroup(imGroup.getSchoolId());
         } else {
+            ImGroupMemberWrapper.ImGroupMember groupMember = ImGroupMemberWrapper.ImGroupMember.builder()
+                    .userId(userId.longValue())
+                    .nickname(name)
+                    .build();
+            imGroupCoreService.groupMemberJoin(imGroup.getId(), Lists.newArrayList(groupMember));
             // 更新群主流程
             if (schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER)) {
                 groupChangeOwner(userId, imGroup.getId());
             }
-        }
 
-        ImGroupMember imGroupMember = new ImGroupMember();
-        imGroupMember.setImGroupId(imGroup.getId());
-        imGroupMember.setUserId(userId);
-        imGroupMember.setIsAdmin(schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER));
-        imGroupMember.setRoleType(schoolStaffType.getDescribe());
-        imGroupMember.setType(EFriendRoleType.getByName(schoolStaffType.getDescribe()).name());
-        imGroupMember.setTenantId(imGroup.getTenantId());
-        imGroupMemberDao.insert(imGroupMember);
+            ImGroupMember imGroupMember = new ImGroupMember();
+            imGroupMember.setImGroupId(imGroup.getId());
+            imGroupMember.setUserId(userId);
+            imGroupMember.setIsAdmin(schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER));
+            imGroupMember.setRoleType(schoolStaffType.getDescribe());
+            imGroupMember.setType(EFriendRoleType.getByName(schoolStaffType.getDescribe()).name());
+            imGroupMember.setTenantId(imGroup.getTenantId());
+            imGroupMemberDao.insert(imGroupMember);
 
+        }
         updateImGroupUserNumber(imGroup.getId());
+
     }
 
     private void initSchoolGroup(Long schoolId) {