Sfoglia il codice sorgente

群主转让、群注销

zouxuan 1 anno fa
parent
commit
6ed03d49d5

+ 36 - 13
mec-application/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java

@@ -16,6 +16,7 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.vo.ImUserWrapper;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -43,7 +44,7 @@ public class ImGroupController extends BaseController {
 	@Resource
 	private ImGroupNoticeService imGroupNoticeService;
 	@Resource
-	private SysUserService userLoginService;
+	private SysUserService sysUserService;
     @Resource
     private ImGroupMemberPlusService imGroupMemberPlusService;
 
@@ -57,10 +58,32 @@ public class ImGroupController extends BaseController {
 		return succeed();
 	}
 
+	@ApiOperation(" 移交群主")
+	@PostMapping(value = "/groupChangeOwner")
+	public Object groupChangeOwner(@RequestBody ImGroupWrapper.GroupTransferOwner groupTransferOwner) {
+		if (StringUtils.isEmpty(groupTransferOwner.getImGroupId()) || StringUtils.isEmpty(groupTransferOwner.getUserId())){
+			throw new com.microsvc.toolkit.common.webportal.exception.BizException("参数错误");
+		}
+		groupTransferOwner.setCurrentOwner(sysUserService.getUserId().toString());
+		if(StringUtils.equals(groupTransferOwner.getUserId(),groupTransferOwner.getCurrentOwner())){
+			throw new com.microsvc.toolkit.common.webportal.exception.BizException("不能转交给自己");
+		}
+		imGroupService.transferOwner(groupTransferOwner);
+		return succeed();
+	}
+
+	@ApiOperation("解散群")
+	@PostMapping(value = "/dismissGroup")
+	@ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String")
+	public HttpResponseResult<Object> dismissGroup(String imGroupId) {
+		imGroupService.dismissGroup(imGroupId,sysUserService.getUserId().toString());
+		return succeed();
+	}
+
 	@ApiOperation("查询群列表")
 	@GetMapping(value = "/queryGroupList")
 	public HttpResponseResult<List<ImGroup>> queryGroupList(String search, String groupType) {
-		return succeed(imGroupService.queryByUserId(userLoginService.getUserId(), search,groupType));
+		return succeed(imGroupService.queryByUserId(sysUserService.getUserId(), search,groupType));
 	}
 
 
@@ -70,7 +93,7 @@ public class ImGroupController extends BaseController {
         if (StringUtils.isNotBlank(classType) && classType.equals("SINGLE")) {
             classType = "NORMAL";
         }
-        return succeed(imGroupService.queryByUserIdV2(userLoginService.getUserId(), search,groupType,musicGroupId,classType));
+        return succeed(imGroupService.queryByUserIdV2(sysUserService.getUserId(), search,groupType,musicGroupId,classType));
     }
 
 	@ApiOperation("查询群详情")
@@ -86,7 +109,7 @@ public class ImGroupController extends BaseController {
         }
         ImGroupMemberPlus admin = imGroupMemberPlusService.lambdaQuery()
             .eq(ImGroupMemberPlus::getImGroupId, imGroup.getId())
-            .eq(ImGroupMemberPlus::getUserId, userLoginService.getUser().getId())
+            .eq(ImGroupMemberPlus::getUserId, sysUserService.getUser().getId())
             .last("limit 1").one();
         if (admin == null) {
             // 该用户不在该群,无权限查看,处理用户退出群后,查看历史消息校验
@@ -115,7 +138,7 @@ public class ImGroupController extends BaseController {
         }
         ImGroupMemberPlus admin = imGroupMemberPlusService.lambdaQuery()
             .eq(ImGroupMemberPlus::getImGroupId, imGroup.getId())
-            .eq(ImGroupMemberPlus::getUserId, userLoginService.getUser().getId())
+            .eq(ImGroupMemberPlus::getUserId, sysUserService.getUser().getId())
             .last("limit 1").one();
         if (admin == null) {
             // 该用户不在该群,无权限查看,处理用户退出群后,查看历史消息校验
@@ -152,10 +175,10 @@ public class ImGroupController extends BaseController {
 	@ApiOperation("查询好友详情")
 	@GetMapping(value = "/queryFriendDetail")
 	public HttpResponseResult<ImUserFriendDto> queryFriendDetail(Integer userId) {
-		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(userLoginService.getUserId(), userId);
+		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(sysUserService.getUserId(), userId);
 		if (dto == null) {
 			dto = new ImUserFriendDto();
-			SysUser user = userLoginService.queryUserById(userId);
+			SysUser user = sysUserService.queryUserById(userId);
 			dto.setFriend(user);
 
 			List<String> userTypes = Lists.newArrayList(user.getUserType().split(","));
@@ -180,10 +203,10 @@ public class ImGroupController extends BaseController {
 	})
 	@GetMapping(value = "/imUserFriend/getDetail/{userId}")
 	public HttpResponseResult<ImUserWrapper.ImUserFriend> getImUserFriendDetail(@PathVariable("userId") Integer userId) {
-		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(userLoginService.getUserId(), userId);
+		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(sysUserService.getUserId(), userId);
 		if (dto == null) {
 			dto = new ImUserFriendDto();
-			SysUser user = userLoginService.queryUserById(userId);
+			SysUser user = sysUserService.queryUserById(userId);
 			dto.setFriend(user);
 			if (user.getUserType().contains("STUDENT") || user.getUserType().contains("SCHOOL")) {
 				dto.setFriendNickname(user.getUsername());
@@ -212,7 +235,7 @@ public class ImGroupController extends BaseController {
 	@ApiOperation("查询好友列表")
 	@GetMapping(value = "/queryFriendList")
 	public HttpResponseResult<List<ImUserFriendDto>> queryFriendList(String search) {
-		return succeed(imUserFriendService.queryFriendListByUserId(userLoginService.getUserId(), search));
+		return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search));
 	}
 
 	@ApiOperation("查询好友列表(重构版)")
@@ -220,7 +243,7 @@ public class ImGroupController extends BaseController {
 	public HttpResponseResult<List<ImUserWrapper.ImUserFriend>> queryImUserFriendList(String search) {
 
 		// 好友关系列表
-		List<ImUserFriendDto> friendDtos = imUserFriendService.queryFriendListByUserId(userLoginService.getUserId(), search);
+		List<ImUserFriendDto> friendDtos = imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search);
 
 		List<ImUserWrapper.ImUserFriend> wrappers = Lists.newArrayList();
 		if (CollectionUtils.isNotEmpty(friendDtos)) {
@@ -249,7 +272,7 @@ public class ImGroupController extends BaseController {
 	@ApiOperation("查询好友中的学生列表")
 	@GetMapping(value = "/queryFriendStudentList")
 	public HttpResponseResult<List<ImUserFriendDto>> queryFriendStudentList(String search) {
-		return succeed(imUserFriendService.queryFriendListByUserId(userLoginService.getUserId(), search).stream().filter(e -> StringUtils.isBlank(e.getTags()))
+		return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search).stream().filter(e -> StringUtils.isBlank(e.getTags()))
 				.collect(Collectors.toList()));
 	}
 
@@ -257,7 +280,7 @@ public class ImGroupController extends BaseController {
     @ApiOperation("查询好友中的学生列表-v2")
     @GetMapping(value = "/queryFriendStudentList/v2")
     public HttpResponseResult<List<ImUserFriendDto>> queryFriendStudentListV2(String search, String musicGroupId, Integer subjectId, Boolean vipFlag) {
-        return succeed(imUserFriendService.queryFriendListByUserIdV2(userLoginService.getUserId(), search,musicGroupId,subjectId,vipFlag)
+        return succeed(imUserFriendService.queryFriendListByUserIdV2(sysUserService.getUserId(), search,musicGroupId,subjectId,vipFlag)
                 .stream().filter(e -> StringUtils.isBlank(e.getTags()))
                 .collect(Collectors.toList()));
     }

+ 11 - 39
mec-application/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -10,12 +10,10 @@ import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.entity.ImGroupMemberPlus;
 import com.ym.mec.biz.dal.enums.im.ClientEnum;
 import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
-import com.ym.mec.biz.dal.vo.ImGroupVo;
 import com.ym.mec.biz.dal.wrapper.ImGroupWrapper;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
 import com.ym.mec.vo.ImUserWrapper;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
@@ -66,30 +64,6 @@ public class ImGroupController extends BaseController {
 		return succeed();
 	}
 
-	@ApiOperation(value = "转交群主")
-	@PostMapping("/transferOwner")
-	public HttpResponseResult<Object> transferOwner(@RequestBody ImGroupWrapper.GroupTransferOwner groupTransferOwner) {
-		if (StringUtils.isEmpty(groupTransferOwner.getGroupId()) || StringUtils.isEmpty(groupTransferOwner.getImUserId())){
-			throw new com.microsvc.toolkit.common.webportal.exception.BizException("参数错误");
-		}
-		groupTransferOwner.setCurrentOwner(sysUserService.getUserId().toString());
-		if(StringUtils.equals(groupTransferOwner.getImUserId(),groupTransferOwner.getCurrentOwner())){
-			throw new com.microsvc.toolkit.common.webportal.exception.BizException("不能转交给自己");
-		}
-		imGroupService.transferOwner(groupTransferOwner);
-		return succeed();
-	}
-
-	@ApiOperation(value = "群注销")
-	@PostMapping("/cancelGroup")
-	public HttpResponseResult<Object> cancelGroup(String groupId) {
-		if (StringUtils.isEmpty(groupId)){
-			throw new com.microsvc.toolkit.common.webportal.exception.BizException("参数错误");
-		}
-		imGroupService.cancelGroup(groupId,sysUserService.getUserId().toString());
-		return succeed();
-	}
-
 	@ApiOperation("查询群列表")
 	@GetMapping(value = "/queryGroupList")
 	public HttpResponseResult<List<ImGroup>> queryGroupList(String search,String groupType) {
@@ -323,27 +297,25 @@ public class ImGroupController extends BaseController {
 
     @ApiOperation(" 移交群主")
     @AuditLogAnnotation(operateName = "移交群主",interfaceURL = "imGroup/groupChangeOwner")
-    /*@ApiImplicitParams({
-			@ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "integer")
-	})*/
     @PostMapping(value = "/groupChangeOwner")
-    public Object groupChangeOwner(@RequestBody ImGroupVo.GroupChangeOwner info) throws Exception {
-
-		// 校验参数合法性
-		if (StringUtils.isBlank(info.getImGroupId()) || Objects.isNull(info.getUserId())) {
-			throw new BizException("请求参数错误");
+    public Object groupChangeOwner(@RequestBody ImGroupWrapper.GroupTransferOwner groupTransferOwner) {
+		if (StringUtils.isEmpty(groupTransferOwner.getImGroupId()) || StringUtils.isEmpty(groupTransferOwner.getUserId())){
+			throw new com.microsvc.toolkit.common.webportal.exception.BizException("参数错误");
 		}
-
-        return succeed(imGroupService.groupChangeOwner(info.getUserId(), info.getImGroupId()));
+		groupTransferOwner.setCurrentOwner(sysUserService.getUserId().toString());
+		if(StringUtils.equals(groupTransferOwner.getUserId(),groupTransferOwner.getCurrentOwner())){
+			throw new com.microsvc.toolkit.common.webportal.exception.BizException("不能转交给自己");
+		}
+		imGroupService.transferOwner(groupTransferOwner);
+		return succeed();
     }
 
 	@ApiOperation("解散群")
 	@PostMapping(value = "/dismissGroup")
 	@AuditLogAnnotation(operateName = "解散群",interfaceURL = "imGroup/dismissGroup")
 	@ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String")
-	public Object dismissGroup(String imGroupId) {
-		imGroupService.dismissGroup(imGroupId);
+	public HttpResponseResult<Object> dismissGroup(String imGroupId) {
+		imGroupService.dismissGroup(imGroupId,sysUserService.getUserId().toString());
 		return succeed();
 	}
 

+ 36 - 13
mec-application/src/main/java/com/ym/mec/web/controller/education/EduImGroupController.java

@@ -16,6 +16,7 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.vo.ImUserWrapper;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -43,7 +44,7 @@ public class EduImGroupController extends BaseController {
 	@Resource
 	private ImGroupNoticeService imGroupNoticeService;
 	@Resource
-	private SysUserService userLoginService;
+	private SysUserService sysUserService;
     @Resource
     private ImGroupMemberPlusService imGroupMemberPlusService;
 
@@ -57,10 +58,32 @@ public class EduImGroupController extends BaseController {
 		return succeed();
 	}
 
+	@ApiOperation(" 移交群主")
+	@PostMapping(value = "/groupChangeOwner")
+	public Object groupChangeOwner(@RequestBody ImGroupWrapper.GroupTransferOwner groupTransferOwner) {
+		if (StringUtils.isEmpty(groupTransferOwner.getImGroupId()) || StringUtils.isEmpty(groupTransferOwner.getUserId())){
+			throw new com.microsvc.toolkit.common.webportal.exception.BizException("参数错误");
+		}
+		groupTransferOwner.setCurrentOwner(sysUserService.getUserId().toString());
+		if(StringUtils.equals(groupTransferOwner.getUserId(),groupTransferOwner.getCurrentOwner())){
+			throw new com.microsvc.toolkit.common.webportal.exception.BizException("不能转交给自己");
+		}
+		imGroupService.transferOwner(groupTransferOwner);
+		return succeed();
+	}
+
+	@ApiOperation("解散群")
+	@PostMapping(value = "/dismissGroup")
+	@ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String")
+	public HttpResponseResult<Object> dismissGroup(String imGroupId) {
+		imGroupService.dismissGroup(imGroupId,sysUserService.getUserId().toString());
+		return succeed();
+	}
+
 	@ApiOperation("查询群列表")
 	@GetMapping(value = "/queryGroupList")
 	public HttpResponseResult<List<ImGroup>> queryGroupList(String search, String groupType) {
-		return succeed(imGroupService.queryByUserId(userLoginService.getUserId(), search,groupType));
+		return succeed(imGroupService.queryByUserId(sysUserService.getUserId(), search,groupType));
 	}
 
 
@@ -70,7 +93,7 @@ public class EduImGroupController extends BaseController {
         if (StringUtils.isNotBlank(classType) && classType.equals("SINGLE")) {
             classType = "NORMAL";
         }
-        return succeed(imGroupService.queryByUserIdV2(userLoginService.getUserId(), search,groupType,musicGroupId,classType));
+        return succeed(imGroupService.queryByUserIdV2(sysUserService.getUserId(), search,groupType,musicGroupId,classType));
     }
 
 	@ApiOperation("查询群详情")
@@ -86,7 +109,7 @@ public class EduImGroupController extends BaseController {
         }
         ImGroupMemberPlus admin = imGroupMemberPlusService.lambdaQuery()
             .eq(ImGroupMemberPlus::getImGroupId, imGroup.getId())
-            .eq(ImGroupMemberPlus::getUserId, userLoginService.getUser().getId())
+            .eq(ImGroupMemberPlus::getUserId, sysUserService.getUser().getId())
             .last("limit 1").one();
         if (admin == null) {
             // 该用户不在该群,无权限查看,处理用户退出群后,查看历史消息校验
@@ -115,7 +138,7 @@ public class EduImGroupController extends BaseController {
         }
         ImGroupMemberPlus admin = imGroupMemberPlusService.lambdaQuery()
             .eq(ImGroupMemberPlus::getImGroupId, imGroup.getId())
-            .eq(ImGroupMemberPlus::getUserId, userLoginService.getUser().getId())
+            .eq(ImGroupMemberPlus::getUserId, sysUserService.getUser().getId())
             .last("limit 1").one();
         if (admin == null) {
             // 该用户不在该群,无权限查看,处理用户退出群后,查看历史消息校验
@@ -152,10 +175,10 @@ public class EduImGroupController extends BaseController {
 	@ApiOperation("查询好友详情")
 	@GetMapping(value = "/queryFriendDetail")
 	public HttpResponseResult<ImUserFriendDto> queryFriendDetail(Integer userId) {
-		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(userLoginService.getUserId(), userId);
+		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(sysUserService.getUserId(), userId);
 		if (dto == null) {
 			dto = new ImUserFriendDto();
-			SysUser user = userLoginService.queryUserById(userId);
+			SysUser user = sysUserService.queryUserById(userId);
 			dto.setFriend(user);
 
 			List<String> userTypes = Lists.newArrayList(user.getUserType().split(","));
@@ -180,10 +203,10 @@ public class EduImGroupController extends BaseController {
 	})
 	@GetMapping(value = "/imUserFriend/getDetail/{userId}")
 	public HttpResponseResult<ImUserWrapper.ImUserFriend> getImUserFriendDetail(@PathVariable("userId") Integer userId) {
-		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(userLoginService.getUserId(), userId);
+		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(sysUserService.getUserId(), userId);
 		if (dto == null) {
 			dto = new ImUserFriendDto();
-			SysUser user = userLoginService.queryUserById(userId);
+			SysUser user = sysUserService.queryUserById(userId);
 			dto.setFriend(user);
 			if (user.getUserType().contains("STUDENT") || user.getUserType().contains("SCHOOL")) {
 				dto.setFriendNickname(user.getUsername());
@@ -212,7 +235,7 @@ public class EduImGroupController extends BaseController {
 	@ApiOperation("查询好友列表")
 	@GetMapping(value = "/queryFriendList")
 	public HttpResponseResult<List<ImUserFriendDto>> queryFriendList(String search) {
-		return succeed(imUserFriendService.queryFriendListByUserId(userLoginService.getUserId(), search));
+		return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search));
 	}
 
 	@ApiOperation("查询好友列表(重构版)")
@@ -220,7 +243,7 @@ public class EduImGroupController extends BaseController {
 	public HttpResponseResult<List<ImUserWrapper.ImUserFriend>> queryImUserFriendList(String search) {
 
 		// 好友关系列表
-		List<ImUserFriendDto> friendDtos = imUserFriendService.queryFriendListByUserId(userLoginService.getUserId(), search);
+		List<ImUserFriendDto> friendDtos = imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search);
 
 		List<ImUserWrapper.ImUserFriend> wrappers = Lists.newArrayList();
 		if (CollectionUtils.isNotEmpty(friendDtos)) {
@@ -249,7 +272,7 @@ public class EduImGroupController extends BaseController {
 	@ApiOperation("查询好友中的学生列表")
 	@GetMapping(value = "/queryFriendStudentList")
 	public HttpResponseResult<List<ImUserFriendDto>> queryFriendStudentList(String search) {
-		return succeed(imUserFriendService.queryFriendListByUserId(userLoginService.getUserId(), search).stream().filter(e -> StringUtils.isBlank(e.getTags()))
+		return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search).stream().filter(e -> StringUtils.isBlank(e.getTags()))
 				.collect(Collectors.toList()));
 	}
 
@@ -257,7 +280,7 @@ public class EduImGroupController extends BaseController {
     @ApiOperation("查询好友中的学生列表-v2")
     @GetMapping(value = "/queryFriendStudentList/v2")
     public HttpResponseResult<List<ImUserFriendDto>> queryFriendStudentListV2(String search, String musicGroupId, Integer subjectId, Boolean vipFlag) {
-        return succeed(imUserFriendService.queryFriendListByUserIdV2(userLoginService.getUserId(), search,musicGroupId,subjectId,vipFlag)
+        return succeed(imUserFriendService.queryFriendListByUserIdV2(sysUserService.getUserId(), search,musicGroupId,subjectId,vipFlag)
                 .stream().filter(e -> StringUtils.isBlank(e.getTags()))
                 .collect(Collectors.toList()));
     }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/ImGroupWrapper.java

@@ -183,10 +183,10 @@ public class ImGroupWrapper {
     @ApiModel("转交群主")
     public static class GroupTransferOwner {
         @ApiModelProperty(value = "群ID",required = true)
-        private String groupId;
+        private String imGroupId;
 
         @ApiModelProperty("新群主ID")
-        private String imUserId;
+        private String userId;
 
         @ApiModelProperty("当前群主")
         private String currentOwner;

+ 1 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java

@@ -92,7 +92,7 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
     void updateImGroup(ImGroup imGroup);
 
     //解散群组
-    void dismissGroup(String imGroupId);
+    void dismissGroup(String imGroupId,String userId);
 
     /**
      * @description: 获取群聊、用户详情
@@ -134,7 +134,6 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
      * @param userId 用户id
      * @param imGroupId     群组id
      */
-    @Transactional(rollbackFor = Exception.class)
     Boolean  groupChangeOwner(Integer userId, String imGroupId) throws Exception;
 
     /**
@@ -231,5 +230,4 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
 
     void transferOwner(ImGroupWrapper.GroupTransferOwner groupTransferOwner);
 
-    void cancelGroup(String groupId,String userId);
 }

+ 1 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/im/impl/ImGroupCoreServiceImpl.java

@@ -256,15 +256,6 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
      */
     @Override
     public void groupDismiss(String groupId) throws Exception {
-
-        // 判定登录用户是否为群主
-        ImGroupPlus imGroup = imGroupService.lambdaQuery().eq(ImGroupPlus::getId, groupId).last("LIMIT 1").one();
-        if (Objects.isNull(imGroup)) {
-            //throw new BizException("群组不存在");
-            return;
-        }
-
-
         // 获取群成员
         List<ImGroupMemberWrapper.ImGroupMember> groupMembers = imGroupMemberPlusService.lambdaQuery()
                 .select(ImGroupMemberPlus::getUserId, ImGroupMemberPlus::getImGroupId, ImGroupMemberPlus::getRoleType)
@@ -280,7 +271,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
         imGroupMemberPlusService.remove(Wrappers.<ImGroupMemberPlus>lambdaQuery().eq(ImGroupMemberPlus::getImGroupId, groupId));
 
         // 解散群
-        imPluginContext.getPluginService().groupDismiss(imGroup.getId(), getImGroupMembers(groupMembers));
+        imPluginContext.getPluginService().groupDismiss(groupId, getImGroupMembers(groupMembers));
 
     }
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1552,7 +1552,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //删除班级
         classGroupDao.delete(classGroupId);
         //删除im群组
-        imGroupService.cancel(classGroupId.toString());
+        imGroupService.dismissGroup(classGroupId.toString(),null);
     }
 
     @Override

+ 26 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -416,9 +416,28 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void dismissGroup(String imGroupId) {
+    public void dismissGroup(String groupId,String userId) {
+        ImGroup imGroup = imGroupService.get(groupId);
+        if (imGroup == null) {
+            throw new BizException("群组不存在");
+        }
+        if(StringUtils.isNotEmpty(userId)){
+            ImGroupMember admin = imGroupMemberService.getDao().getAdmin(groupId);
+            if (admin == null) {
+                throw new BizException("群主信息不存在");
+            }
+            if (!StringUtils.equals(admin.getUserId().toString(), userId)) {
+                throw new BizException("当前操作人不是群主");
+            }
+        }
+        // 删除群成员
+        imGroupMemberDao.deleteByImGroupId(groupId);
+        // 删除群公告
+        imGroupNoticeDao.deleteByImGroupId(groupId);
+        // 删除群信息
+        imGroupDao.delete(groupId);
         try {
-            imGroupCoreService.groupDismiss(imGroupId);
+            imPluginContext.getPluginService().groupDismiss(groupId,null);
         } catch (Exception e) {
             log.error("解散群组失败",e);
             throw new BizException("解散群组失败");
@@ -510,7 +529,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         List<ImGroup> groups = imGroups.stream().filter(imGroup -> imGroup.getMemberNum().equals(1)).collect(Collectors.toList());
         for (ImGroup group : groups) {
             try {
-                dismissGroup(group.getId());
+                dismissGroup(group.getId(),userId.toString());
             } catch (Exception e) {
                 log.error("解散群组失败{},{}", userId, group.getId(), e);
             }
@@ -1937,18 +1956,18 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void transferOwner(ImGroupWrapper.GroupTransferOwner groupTransferOwner) {
-        ImGroup imGroup = imGroupService.get(groupTransferOwner.getGroupId());
+        ImGroup imGroup = imGroupService.get(groupTransferOwner.getImGroupId());
         if (imGroup == null) {
             throw new BizException("群组不存在");
         }
-        ImGroupMember admin = imGroupMemberService.getDao().getAdmin(groupTransferOwner.getGroupId());
+        ImGroupMember admin = imGroupMemberService.getDao().getAdmin(groupTransferOwner.getImGroupId());
         if (admin == null) {
             throw new BizException("群主信息不存在");
         }
         if (!StringUtils.equals(admin.getUserId().toString(), groupTransferOwner.getCurrentOwner())) {
             throw new BizException("当前操作人不是群主");
         }
-        List<ImGroupMember> imGroupMembers = imGroupMemberService.getDao().queryByImGroupIdAndUserId(groupTransferOwner.getGroupId(), groupTransferOwner.getImUserId());
+        List<ImGroupMember> imGroupMembers = imGroupMemberService.getDao().queryByImGroupIdAndUserId(groupTransferOwner.getImGroupId(), groupTransferOwner.getUserId());
         if (CollectionUtils.isEmpty(imGroupMembers)) {
             throw new BizException("新群主不在群组中");
         }
@@ -1965,29 +1984,13 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         imGroupMemberService.update(admin);
         // 调用IM接口
         try {
-            imPluginContext.getPluginService().changeGroupOwner(groupTransferOwner.getGroupId(), groupTransferOwner.getImUserId(),groupTransferOwner.getCurrentOwner());
+            imPluginContext.getPluginService().changeGroupOwner(groupTransferOwner.getImGroupId(), groupTransferOwner.getUserId(),groupTransferOwner.getCurrentOwner());
         } catch (Exception e) {
             log.error("转让群主失败", e);
             throw new BizException("转让群主失败");
         }
     }
 
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void cancelGroup(String groupId,String userId) {
-        ImGroup imGroup = imGroupService.get(groupId);
-        if (imGroup == null) {
-            throw new BizException("群组不存在");
-        }
-        ImGroupMember admin = imGroupMemberService.getDao().getAdmin(groupId);
-        if (admin == null) {
-            throw new BizException("群主信息不存在");
-        }
-        if (!StringUtils.equals(admin.getUserId().toString(), userId)) {
-            throw new BizException("当前操作人不是群主");
-        }
-        imGroupService.delGroup(groupId);
-    }
 
     private TencentRequest.MessageBody getTimGifElem(String remoteUr,int size,int width,int height) {
         if (StringUtils.isEmpty(remoteUr) && size == 0 && width == 0 && height == 0) {