|
@@ -221,18 +221,14 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void quit(String groupId, Long userId) throws Exception {
|
|
|
- if(imGroupMemberService.getDao().delByGroupIdAndUserId(groupId, userId) < 1){
|
|
|
- throw new BizException("操作失败:用户不在此群组");
|
|
|
- }
|
|
|
- //修改群成员数
|
|
|
- baseMapper.updateMemberNum(groupId);
|
|
|
+ public void quit(String groupId, Long userId, ClientEnum clientType) throws Exception {
|
|
|
|
|
|
+ ImGroupMemberRoleType roleType = ImGroupMemberRoleType.valueOf(clientType.name());
|
|
|
// 查询群成员用户身份
|
|
|
ImGroupMember groupMember = imGroupMemberService.lambdaQuery()
|
|
|
.eq(ImGroupMember::getGroupId, groupId)
|
|
|
.eq(ImGroupMember::getUserId, userId)
|
|
|
- .eq(ImGroupMember::getIsAdmin, false)
|
|
|
+ .eq(ImGroupMember::getRoleType, roleType)
|
|
|
.one();
|
|
|
|
|
|
String imUserId = String.valueOf(userId);
|
|
@@ -242,6 +238,12 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
|
|
|
imUserId = MessageFormat.format("{0}:{1}", imUserId, ClientEnum.STUDENT.name());
|
|
|
}
|
|
|
|
|
|
+ if(imGroupMemberService.getDao().delByGroupIdAndUserId(groupId, userId, roleType) < 1){
|
|
|
+ throw new BizException("操作失败:用户不在此群组");
|
|
|
+ }
|
|
|
+ //修改群成员数
|
|
|
+ baseMapper.updateMemberNum(groupId);
|
|
|
+
|
|
|
GroupModel groupModel = new GroupModel(groupId,0);
|
|
|
GroupMember[] groupMembers = new GroupMember[]{new GroupMember(imUserId,groupId,null)};
|
|
|
groupModel.setMembers(groupMembers);
|