From 71cb31427f3167a2e79a2b082668245df01d6222 Mon Sep 17 00:00:00 2001 From: ArgonarioD Date: Tue, 12 Jul 2022 13:55:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=88=90=E5=91=98?= =?UTF-8?q?=E7=A6=BB=E9=98=9F=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectGroupController.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java index 5d5ab02..ed598bb 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java @@ -15,7 +15,6 @@ import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.ResponseList; import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.ResponseMap; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -74,12 +73,13 @@ public class ProjectGroupController { } //TODO: test + @Operation(description = "body中只传staffUsername和projectStaffPosition") @SneakyThrows @PostMapping public ResponseMap addGroupMember( @RequestHeader(TokenUtils.HEADER_TOKEN) String token, @PathVariable Integer projectId, - @Parameter(description = "只传staffUsername和projectStaffPosition") @RequestBody GroupPositionVO groupPosition + @RequestBody GroupPositionVO groupPosition ) { if (projectGroupService.insertNewMember(token, projectId, groupPosition.getStaffUsername(), groupPosition.getProjectStaffPosition())) { return ResponseMap.ofSuccess(); @@ -87,14 +87,34 @@ public class ProjectGroupController { throw new BadRequestException(BadRequestException.OPERATE_FAILED); } + @SneakyThrows + @DeleteMapping("/{staffId}") + public ResponseMap deleteGroupMember( + @RequestHeader(TokenUtils.HEADER_TOKEN) String token, + @PathVariable Integer projectId, + @PathVariable Integer staffId + ) { + if (projectGroupService.compareProjectAccessLevel(projectId, token, staffId) <= 0) { + throw new ForbiddenException(ForbiddenException.UNABLE_TO_OPERATE); + } + if (projectGroupService.remove(Wrappers.lambdaQuery() + .eq(ProjectGroup::getProjectId, projectId) + .eq(ProjectGroup::getStaffId, staffId)) + ) { + return ResponseMap.ofSuccess(); + } + throw new BadRequestException(BadRequestException.OPERATE_FAILED); + } + //TODO: test + @Operation(description = "body中只传projectStaffPosition") @SneakyThrows @PutMapping("/{staffId}") public ResponseMap modifyDesignatedStaffPosition( @RequestHeader(TokenUtils.HEADER_TOKEN) String token, @PathVariable Integer projectId, @PathVariable Integer staffId, - @Parameter(description = "在body中只传projectStaffPosition") @RequestBody GroupPositionVO groupPosition + @RequestBody GroupPositionVO groupPosition ) { if (projectGroupService.updateStaffPositions(token, projectId, staffId, groupPosition.getProjectStaffPosition())) { return ResponseMap.ofSuccess();