Browse Source

群主转让、群注销

zouxuan 1 year ago
parent
commit
3e91cc9d3b

+ 17 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -573,17 +573,27 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		List<ImGroupMember> imGroupMemberList = imGroupMemberDao.queryByImGroupIdAndUserId(imGroupId.toString(), userIdList.stream().map(Objects::toString)
 				.collect(Collectors.joining(",")));
 
-		if (imGroupMemberList == null || imGroupMemberList.size() == 0) {
+		if (CollectionUtils.isEmpty(imGroupMemberList)) {
 			throw new BizException("更新失败:找不到用户信息");
 		}
-
 		Date date = new Date();
-		for (ImGroupMember imGroupMember : imGroupMemberList) {
-			imGroupMember.setRoleType(roleType);
-			imGroupMember.setUpdateTime(date);
+		ImGroupMember imGroupMember = imGroupMemberList.get(0);
+		imGroupMember.setGroupRoleType(null);
+		imGroupMember.setRoleType(roleType);
+		imGroupMember.setUpdateTime(date);
+		ImGroup group = imGroupDao.get(imGroupId);
+		if(!imGroupMember.getIsAdmin()){
+			this.initImGroupMembers(imGroupMemberList,group.getGroupType());
+			if(imGroupMember.getIsAdmin()){
+				try {
+					imPluginContext.getPluginService().changeGroupOwner(imGroupId,imGroupMember.getUserId().toString(),null);
+				} catch (Exception e) {
+					log.error(e.getMessage());
+					throw new BizException("更新失败:设置群主异常");
+				}
+			}
 		}
-		imGroupMemberDao.batchUpdate(imGroupMemberList);
-
+		imGroupMemberDao.update(imGroupMember);
 		return true;
 	}