Browse Source

feat:增加了解散团队功能

DingXiaoYu 3 years ago
parent
commit
82140e9a19

+ 9 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/repository/group/GroupRepository.java

@@ -54,4 +54,13 @@ public interface GroupRepository extends BaseMapper<Group> {
      */
     @Select("select * from ${name}")
     List<Group> findAll(@Param("name") String name);
+
+    @Select("select group_id from ${name} where user_id=${id}")
+    Integer findGroupByUserId(@Param("name") String name, @Param("id")Long id);
+
+    @Delete("delete from ${name} where group_id=${id}")
+    void deleteGroupMemberTableById(@Param("name")String name,@Param("id")Long id);
+
+    @Delete("delete from ${name} where id=${id}")
+    void deleteGroupTableById(@Param("name")String name,@Param("id")Long id);
 }

+ 1 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/GroupService.java

@@ -72,4 +72,5 @@ public interface GroupService {
     List<GroupDTO> findAllGroupsByCourse(Long courseId);
 
 
+    Boolean deleteGroup(Long userId,Long courseId);
 }

+ 8 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/GroupServiceImpl.java

@@ -202,6 +202,14 @@ public class GroupServiceImpl implements GroupService {
         return groupDTOList;
     }
 
+    @Override
+    public Boolean deleteGroup(Long userId,Long courseId) {
+        long groupId=groupRepository.findGroupByUserId(getGroupMemberTableName(courseId),userId);
+        groupRepository.deleteGroupMemberTableById(getGroupMemberTableName(courseId),groupId);
+        groupRepository.deleteGroupTableById(getGroupTableName(courseId),groupId);
+        return true;
+    }
+
     @Override
     @Transactional(rollbackFor = RuntimeException.class)
     public GroupRuleVO createGroupRule(GroupRuleVO ruleVO) {

+ 6 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/GroupController.java

@@ -32,6 +32,12 @@ public class GroupController {
         return OkResponse.of(groupService.findGroupRuleByCourseId(courseId));
     }
 
+    @GetMapping("/delete")
+    public OkResponse<Boolean> deleteGroup(@RequestParam(value = "userId") Long userId,
+                                           @RequestParam(value = "courseId")Long courseId){
+        return OkResponse.of(groupService.deleteGroup(userId,courseId));
+    }
+
     @PostMapping
     public OkResponse<GroupDTO> createGroup(@RequestBody GroupVO groupVO){
         return OkResponse.of(groupService.createGroup(groupVO));