|
@@ -10,6 +10,7 @@ import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
|
|
|
import com.ym.mec.biz.dal.entity.ImGroupMemberPlus;
|
|
|
import com.ym.mec.biz.dal.entity.ImGroupPlus;
|
|
|
import com.ym.mec.biz.dal.enums.EFriendRoleType;
|
|
|
+import com.ym.mec.biz.dal.enums.im.EImGroupRoleType;
|
|
|
import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
|
|
|
import com.ym.mec.biz.dal.wrapper.ImGroupWrapper;
|
|
|
import com.ym.mec.biz.service.ImGroupMemberPlusService;
|
|
@@ -429,31 +430,22 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
|
|
|
|
|
|
// 添加群成员到当前群组
|
|
|
imPluginContext.getPluginService().groupJoin(imGroup.getId(), imGroup.getName(), getImGroupMembers(groupMembers));
|
|
|
-
|
|
|
+ // 设置管理员
|
|
|
+ for (ImGroupMemberWrapper.ImGroupMember groupMember : groupMembers) {
|
|
|
+ if (groupMember.getGroupRoleType() != null) {
|
|
|
+ if(groupMember.getGroupRoleType().equals(EImGroupRoleType.Admin.getCode())){
|
|
|
+ imPluginContext.getPluginService().groupAdminCreate(imGroup.getId(),groupMember.getImUserId());
|
|
|
+ }
|
|
|
+ if(groupMember.getGroupRoleType().equals(EImGroupRoleType.Owner.getCode())){
|
|
|
+ imPluginContext.getPluginService().changeGroupOwner(imGroup.getId(),groupMember.getImUserId(),null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// 自动激活用户
|
|
|
asyncRegisterUser(groupMembers);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 添加群组成员
|
|
|
- *
|
|
|
- * @param imGroupId 群组主键ID
|
|
|
- * @param groupMembers List<ImGroupMemberWrapper.ImGroupMember>
|
|
|
- * @throws Exception Exception
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void saveImGroupMemberList(Long imGroupId, List<ImGroupMemberWrapper.ImGroupMember> groupMembers) throws Exception {
|
|
|
-
|
|
|
- // 群组信息
|
|
|
- ImGroupPlus imGroup = imGroupService.getById(imGroupId);
|
|
|
- if (Objects.isNull(imGroup)) {
|
|
|
- throw new BizException("群组不存在");
|
|
|
- }
|
|
|
-
|
|
|
- // 添加群组成员信息
|
|
|
- saveImGroupMemberList(imGroup.getId(), groupMembers);
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* 群成员加入
|
|
@@ -479,7 +471,17 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
|
|
|
|
|
|
// 添加群成员到当前群组
|
|
|
imPluginContext.getPluginService().groupJoin(imGroup.getId(), imGroup.getName(), getImGroupMembers(groupMembers));
|
|
|
-
|
|
|
+ // 设置管理员
|
|
|
+ for (ImGroupMemberWrapper.ImGroupMember groupMember : groupMembers) {
|
|
|
+ if (groupMember.getGroupRoleType() != null) {
|
|
|
+ if(groupMember.getGroupRoleType().equals(EImGroupRoleType.Admin.getCode())){
|
|
|
+ imPluginContext.getPluginService().groupAdminCreate(imGroup.getId(),groupMember.getImUserId());
|
|
|
+ }
|
|
|
+ if(groupMember.getGroupRoleType().equals(EImGroupRoleType.Owner.getCode())){
|
|
|
+ imPluginContext.getPluginService().changeGroupOwner(imGroup.getId(),groupMember.getImUserId(),null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// 自动激活用户
|
|
|
asyncRegisterUser(groupMembers);
|
|
|
|
|
@@ -502,39 +504,6 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
|
|
|
.update();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 添加进入群组
|
|
|
- *
|
|
|
- * @param userId 用户ID
|
|
|
- * @param clientType 客户端类型
|
|
|
- * @param imGroupId 群组ID
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void groupJoin(Long userId, String clientType, String imGroupId) throws Exception {
|
|
|
-
|
|
|
- // 群组信息
|
|
|
- ImGroupPlus imGroup = imGroupService.getById(imGroupId);
|
|
|
- if (Objects.isNull(imGroup)) {
|
|
|
- throw new BizException("群组不存在");
|
|
|
- }
|
|
|
-
|
|
|
- List<ImGroupMemberWrapper.ImGroupMember> imGroupMembers = new ArrayList<>();
|
|
|
- ImGroupMemberWrapper.ImGroupMember groupMember = ImGroupMemberWrapper.ImGroupMember
|
|
|
- .builder()
|
|
|
- .groupId(imGroup.getId())
|
|
|
- .userId(userId)
|
|
|
- .clientType(clientType)
|
|
|
- .imUserId(getImUserId(userId.toString(),clientType))
|
|
|
- .isAdmin(false)
|
|
|
- .roleType(clientType)
|
|
|
- .tenantId(imGroup.getTenantId())
|
|
|
- .build();
|
|
|
- imGroupMembers.add(groupMember);
|
|
|
-
|
|
|
- saveImGroupMemberList(imGroupId, imGroupMembers);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 转让群主
|
|
|
*
|