lzy 1 week ago
parent
commit
d94a441100

+ 7 - 0
src/main/java/com/zhentao/groups/controller/groupsController.java

@@ -74,6 +74,13 @@ public class groupsController {
         return groupsService.outGroup(outGroupDto, currentUserId);
     }
 
+    //    解散群聊
+    @PostMapping("/delGroup")
+    public Result delGroup(@RequestBody OutGroupsDto outGroupsDto, @RequestHeader("token") String token){
+        Long userIdFromToken = Long.valueOf(TokenUtils.getUserIdFromToken(token));
+        outGroupsDto.setUid(userIdFromToken);
+        return groupsService.delGroup(outGroupsDto);
+    }
 
 
 

+ 19 - 0
src/main/java/com/zhentao/groups/dto/OutGroupsDto.java

@@ -0,0 +1,19 @@
+package com.zhentao.groups.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OutGroupsDto {
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING)
+    private Long groupsId;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING)
+    private Long uid;
+
+}

+ 2 - 1
src/main/java/com/zhentao/groups/service/GroupsService.java

@@ -48,6 +48,7 @@ public interface GroupsService extends IService<Groupss> {
 
     //     退出群聊
     Result outGroup(OutGroupDto outGroupDto, Long currentUserId);
-
+    //    解散群聊
+    Result delGroup(OutGroupsDto outGroupsDto);
 
 }

+ 17 - 0
src/main/java/com/zhentao/groups/service/impl/GroupsServiceImpl.java

@@ -419,6 +419,23 @@ public class GroupsServiceImpl extends ServiceImpl<GroupsMapper, Groupss>
         }
     }
 
+    //    解散群聊
+    @Override
+    public Result delGroup(OutGroupsDto outGroupsDto) {
+        GroupMembers groupMembers = groupMembersMapper.selectOne(new LambdaQueryWrapper<GroupMembers>().eq(GroupMembers::getGroupId, outGroupsDto.getGroupsId()).eq(GroupMembers::getUserId, outGroupsDto.getUid()));
+        if (groupMembers.getRole()==2){
+            Groupss groupss = this.baseMapper.selectById(outGroupsDto.getGroupsId());
+            this.baseMapper.deleteById(groupss);
+            List<GroupMembers> list = groupMembersMapper.selectList(new LambdaQueryWrapper<GroupMembers>().eq(GroupMembers::getGroupId, outGroupsDto.getGroupsId()));
+            groupMembersMapper.deleteBatchIds(list);
+            List<UserShouye> userShouyes = userShouyeMapper.selectList(new LambdaQueryWrapper<UserShouye>().eq(UserShouye::getGid, outGroupsDto.getGroupsId()));
+            userShouyeMapper.deleteBatchIds(userShouyes);
+            return Result.OK(null,"解散成功");
+        }else{
+            return Result.ERR(null,"权限不足");
+        }
+    }
+
 }