From 0417ba1bdadc99c88c10f0fb6875d9b051a4e7df Mon Sep 17 00:00:00 2001 From: "yang.yongquan" <3395816735@qq.com> Date: Tue, 5 Jul 2022 21:26:15 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E5=AD=90=E4=BB=BB=E5=8A=A1=E5=88=A4=E6=96=AD=E7=9A=84controlle?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TaskController.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java index 0e782ee..54083de 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java @@ -44,8 +44,8 @@ public class TaskController { } @SneakyThrows - @PostMapping("/subtask/exist") - public ResponseMap createTask( + @GetMapping("/subtask/exist") + public ResponseMap existSubTask( @RequestHeader("Token") String token, @PathVariable("projectId") Integer projectId, @RequestParam("taskId") Long taskId @@ -54,4 +54,14 @@ public class TaskController { .put("existSubTask" ,taskService.existSubTask(token, projectId, taskId)); } + @SneakyThrows + @DeleteMapping + public ResponseMap deleteTaskAndSubTask( + @RequestHeader("Token") String token, + @PathVariable("projectId") Integer projectId, + @RequestParam("taskId") Long taskId + ) { + return ResponseMap.ofSuccess("删除成功"); + } + } From d7d2579aefe76cb77f6ca3bd419417928f8e0d6c Mon Sep 17 00:00:00 2001 From: ArgonarioD Date: Wed, 6 Jul 2022 10:16:35 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=86getSubTaskList?= =?UTF-8?q?=E7=9A=84URL=E4=BB=A5=E9=80=82=E5=BA=94=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rmdjzz/projectmanagement/controller/TaskController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java index 96b182e..88e5c2f 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java @@ -26,7 +26,7 @@ public class TaskController { private IProjectGroupService projectGroupService; @SneakyThrows - @GetMapping("/subtask/{fatherId}") + @GetMapping("/{fatherId}/subtask") public ResponseList getSubTaskList( @RequestHeader("Token") String token, @PathVariable("projectId") Integer projectId, @@ -55,7 +55,7 @@ public class TaskController { } @SneakyThrows - @PostMapping("/") + @PostMapping public ResponseMap createTask( @RequestHeader("Token") String token, @PathVariable("projectId") Integer projectId, @@ -67,7 +67,7 @@ public class TaskController { } @SneakyThrows - @PutMapping("/") + @PutMapping public ResponseMap modifyTask( @RequestHeader("Token") String token, @PathVariable("projectId") Integer projectId, From dc315eeca7dec91ef8ef98086463ecccd263dfa7 Mon Sep 17 00:00:00 2001 From: ArgonarioD Date: Wed, 6 Jul 2022 10:50:07 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E9=80=82=E9=85=8D=E4=BA=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=AD=97=E6=AE=B5=E5=90=8D=E7=9A=84=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectController.java | 3 +- .../controller/TaskController.java | 3 +- .../projectmanagement/entity/Project.java | 14 ++++---- .../entity/{ => query}/ResultProject.java | 4 +-- .../entity/query/ResultTask.java | 34 +++++++++++++++++++ .../mapper/ProjectMapper.java | 6 ++-- .../projectmanagement/mapper/TaskMapper.java | 1 + .../service/IProjectService.java | 2 +- .../service/ITaskService.java | 24 ++++++++----- .../service/impl/ProjectServiceImpl.java | 12 +++---- .../service/impl/TaskServiceImpl.java | 2 +- 11 files changed, 73 insertions(+), 32 deletions(-) rename src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/{ => query}/ResultProject.java (86%) create mode 100644 src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java index 2802976..163a15c 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectController.java @@ -1,7 +1,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.controller; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; -import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultProject; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectService; @@ -17,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.util.HashMap; import java.util.Map; /** diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java index 88e5c2f..d6868dc 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java @@ -1,7 +1,6 @@ package cn.edu.hfut.rmdjzz.projectmanagement.controller; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Task; -import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService; import cn.edu.hfut.rmdjzz.projectmanagement.service.ITaskService; import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.ResponseList; @@ -32,7 +31,7 @@ public class TaskController { @PathVariable("projectId") Integer projectId, @PathVariable("fatherId") Long fatherId ) { - List result = taskService.getTaskList(token, projectId, fatherId); + List result = taskService.getSubTaskList(token, projectId, fatherId); return ResponseList.ofSuccess("查询成功", result); } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java index 59f15ee..a5b4746 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.java @@ -20,12 +20,11 @@ public class Project { private Integer projectId; private String projectName; //TODO: 时间线顺序判断 - private LocalDate projectStartTime; - private LocalDate projectOnlineTime; - private LocalDate projectFirstTestTime; - private LocalDate projectFinalTestTime; - private LocalDate projectEndTime; - private LocalDate projectCloseTime; + private LocalDate projectStartDate; + private LocalDate projectOnlineDate; + private LocalDate projectFirstTestDate; + private LocalDate projectFinalTestDate; + private LocalDate projectEndDate; private String projectAbbreviation; private Integer projectClassId; private Integer projectSubclassId; @@ -44,5 +43,6 @@ public class Project { @TableLogic private Boolean deleted; private Integer projectCreator; - private LocalDateTime projectCreateTime; + private LocalDateTime projectCreatedTime; + private LocalDate projectClosedDate; } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ResultProject.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java similarity index 86% rename from src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ResultProject.java rename to src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java index eabeed4..5eff0d6 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/ResultProject.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java @@ -1,4 +1,4 @@ -package cn.edu.hfut.rmdjzz.projectmanagement.entity; +package cn.edu.hfut.rmdjzz.projectmanagement.entity.query; import lombok.AllArgsConstructor; import lombok.Data; @@ -21,7 +21,7 @@ public class ResultProject { String projectSubclassName; Boolean deleted; Boolean completed; - LocalDate projectCloseTime; + LocalDate projectClosedDate; Integer completeNum; Integer totalNum; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java new file mode 100644 index 0000000..e6fc8e4 --- /dev/null +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java @@ -0,0 +1,34 @@ +package cn.edu.hfut.rmdjzz.projectmanagement.entity.query; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.Map; + +/** + * @author 佘语殊 + * @since 2022/7/6 10:25 + */ +@Data +public class ResultTask { + private Long taskId; + private String taskName; + private Integer taskProjectId; + private Integer taskHolderId; + private String taskHolderName; + private String taskStatus; + private String taskType; + private Long taskFatherId; + private LocalDateTime taskCreatedTime; + private LocalDateTime taskStartTime; + private LocalDateTime taskEndTime; + private LocalDateTime taskClosedTime; + private Integer taskPriority; + private String taskDescription; + @TableField(typeHandler = JacksonTypeHandler.class) + private Map attachedInfo; + private Boolean hasChildren; + private Boolean deleted; +} diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java index a62c50d..1bb9470 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java @@ -1,7 +1,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.mapper; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; -import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultProject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -34,7 +34,7 @@ public interface ProjectMapper extends BaseMapper { pt2.project_class_name as project_subclass_name, is_completed, is_deleted, - project_close_time + project_closed_date FROM project join project_type pt1 on project.project_class_id = pt1.project_class_id join project_type pt2 on project.project_subclass_id = pt2.project_class_id WHERE project_id IN (SELECT DISTINCT project_id FROM project_group WHERE staff_id = #{id})) AS T @@ -50,7 +50,7 @@ public interface ProjectMapper extends BaseMapper { @Result(column = "project_class_name", property = "projectClassName"), @Result(column = "is_completed", property = "completed"), @Result(column = "is_deleted", property = "deleted"), - @Result(column = "project_close_time", property = "projectCloseTime"), + @Result(column = "project_closed_date", property = "projectClosedDate"), @Result(column = "project_creator", property = "projectCreator") }) IPage findMyProject(IPage pg, @Param("id") Integer staff_id, @Param(Constants.WRAPPER) Wrapper wrapper); diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java index 787e414..2f801bb 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java @@ -8,4 +8,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * created at 2022/7/4 14:52 */ public interface TaskMapper extends BaseMapper { + } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java index f1791e8..c3423c7 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectService.java @@ -1,7 +1,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; -import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultProject; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.RequestPage; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java index 7b6527f..bd2165f 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java @@ -1,6 +1,5 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service; -import cn.edu.hfut.rmdjzz.projectmanagement.entity.Staff; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Task; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import com.baomidou.mybatisplus.extension.service.IService; @@ -12,14 +11,23 @@ import java.util.List; * created at 2022/7/4 14:49 */ public interface ITaskService extends IService { - List getTaskList(String token,Integer projectId,Long fatherId) throws BadRequestException; + List getSubTaskList(String token, Integer projectId, Long fatherId) throws BadRequestException; + Boolean existSubTask(String token, Integer projectId, Long taskId) throws BadRequestException; + Boolean deleteTaskAndSubTask(String token, Integer projectId, Long taskId) throws BadRequestException; - Boolean closeTaskAndSubTask(String token, Integer projectId, Long taskId) throws BadRequestException; - Integer checkHolder(Integer staffId,Long taskId); - Integer checkHolder(String token,Long taskId); - List getMyTaskList(String token,Integer projectId) throws BadRequestException; + + Boolean closeTaskAndSubTask(String token, Integer projectId, Long taskId) throws BadRequestException; + + Integer checkHolder(Integer staffId, Long taskId); + + Integer checkHolder(String token, Long taskId); + + List getMyTaskList(String token, Integer projectId) throws BadRequestException; + Boolean canBeDone(Long taskId); - Task insertTask(String token,Task task) throws BadRequestException; - Task modifyTask(String token,Task task) throws BadRequestException; + + Task insertTask(String token, Task task) throws BadRequestException; + + Task modifyTask(String token, Task task) throws BadRequestException; } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java index 15fdf13..6d05669 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectServiceImpl.java @@ -1,7 +1,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service.impl; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; -import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultProject; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectMapper; @@ -60,7 +60,7 @@ public class ProjectServiceImpl extends ServiceImpl impl if (targetProject.getCompleted()) throw new BadRequestException("该项目已结项"); targetProject.setCompleted(true); - targetProject.setProjectCloseTime(LocalDate.now()); + targetProject.setProjectClosedDate(LocalDate.now()); if (baseMapper.updateById(targetProject) == 1) return true; throw new BadRequestException("操作失败"); @@ -70,14 +70,14 @@ public class ProjectServiceImpl extends ServiceImpl impl public Boolean createProject(String token, Project project) throws TokenException, BadRequestException { project.setProjectId(null); project.setCompleted(false); - project.setProjectCreateTime(null); + project.setProjectCreatedTime(null); project.setProjectCreator(TokenUtils.getStaffId(token)); - project.setProjectCloseTime(null); + project.setProjectClosedDate(null); if (project.getExpectedCompletion() == null) { project.setExpectedCompletion((short) 100); } else if (project.getExpectedCompletion() < 0 || project.getExpectedCompletion() > 100 || - project.getProjectStartTime() == null || project.getProjectEndTime() == null || - project.getProjectStartTime().isAfter(project.getProjectEndTime()) + project.getProjectStartDate() == null || project.getProjectEndDate() == null || + project.getProjectStartDate().isAfter(project.getProjectEndDate()) ) { throw new BadRequestException("参数错误"); } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java index 057a856..dbb905d 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java @@ -30,7 +30,7 @@ public class TaskServiceImpl extends ServiceImpl implements IT //FIXME: 抛出未授权异常 @Override - public List getTaskList(String token, Integer projectId, Long fatherId) throws BadRequestException { + public List getSubTaskList(String token, Integer projectId, Long fatherId) throws BadRequestException { if (projectGroupService.getUserLevelInGroup(token, projectId) == 0 || fatherId == null) { throw new BadRequestException("错误的访问参数"); } From 58e0701d07ea1628b806d9eaef0e61e40c60197a Mon Sep 17 00:00:00 2001 From: "yang.yongquan" <3395816735@qq.com> Date: Wed, 6 Jul 2022 11:22:48 +0800 Subject: [PATCH 04/10] =?UTF-8?q?SQL=E8=AF=AD=E5=8F=A5=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BAxml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/query/ResultProject.java | 4 +++ .../mapper/ProjectMapper.java | 30 ------------------- src/main/resources/application.yml | 3 +- src/main/resources/mapper/ProjectMapper.xml | 21 +++++++++++++ 4 files changed, 27 insertions(+), 31 deletions(-) create mode 100644 src/main/resources/mapper/ProjectMapper.xml diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java index 5eff0d6..02fb102 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java @@ -1,5 +1,8 @@ package cn.edu.hfut.rmdjzz.projectmanagement.entity.query; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import lombok.AllArgsConstructor; import lombok.Data; @@ -12,6 +15,7 @@ import java.time.LocalDate; @Data @AllArgsConstructor public class ResultProject { + @TableId Integer projectId; String projectName; Integer projectCreator; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java index 1bb9470..b14e537 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/ProjectMapper.java @@ -23,35 +23,5 @@ public interface ProjectMapper extends BaseMapper { """) Long findProjectCount(@Param("id") Integer staffId); - @Select(""" - SELECT * FROM - (SELECT project_id, - project_name, - contract_amount, - project_importance, - project_creator, - pt1.project_class_name as project_class_name, - pt2.project_class_name as project_subclass_name, - is_completed, - is_deleted, - project_closed_date - FROM project join project_type pt1 on project.project_class_id = pt1.project_class_id - join project_type pt2 on project.project_subclass_id = pt2.project_class_id - WHERE project_id IN (SELECT DISTINCT project_id FROM project_group WHERE staff_id = #{id})) AS T - ${ew.customSqlSegment} - """) - @Results({ - @Result(column = "project_id", property = "projectId", id = true), - @Result(column = "project_name", property = "projectName"), - @Result(column = "contract_amount", property = "contractAmount"), - @Result(column = "project_importance", property = "projectImportance"), - @Result(column = "project_class_name", property = "projectClassName"), - @Result(column = "project_subclass_name", property = "projectSubclassName"), - @Result(column = "project_class_name", property = "projectClassName"), - @Result(column = "is_completed", property = "completed"), - @Result(column = "is_deleted", property = "deleted"), - @Result(column = "project_closed_date", property = "projectClosedDate"), - @Result(column = "project_creator", property = "projectCreator") - }) IPage findMyProject(IPage pg, @Param("id") Integer staff_id, @Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 3157889..1e8f8be 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -20,6 +20,7 @@ spring: pathmatch: matching-strategy: ant_path_matcher mybatis-plus: + mapper-locations: classpath:mapper/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl server: @@ -30,4 +31,4 @@ server: encoding: charset: UTF-8 force: true - enabled: true \ No newline at end of file + enabled: true diff --git a/src/main/resources/mapper/ProjectMapper.xml b/src/main/resources/mapper/ProjectMapper.xml new file mode 100644 index 0000000..b45663a --- /dev/null +++ b/src/main/resources/mapper/ProjectMapper.xml @@ -0,0 +1,21 @@ + + + + + From c4ce74c3650e376820ab2b3a1470d85d6965da9f Mon Sep 17 00:00:00 2001 From: ArgonarioD Date: Wed, 6 Jul 2022 11:45:49 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=86Task=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BB=A5=E9=80=82=E9=85=8D=E9=9C=80=E6=B1=82=EF=BC=8C?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BA=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TaskController.java | 5 ++-- .../entity/query/ResultProject.java | 2 -- .../entity/query/ResultTask.java | 1 - .../projectmanagement/mapper/TaskMapper.java | 6 +++- .../service/ITaskService.java | 3 +- .../service/impl/TaskServiceImpl.java | 7 +++-- src/main/resources/mapper/ProjectMapper.xml | 29 ++++++++++--------- src/main/resources/mapper/TaskMapper.xml | 27 +++++++++++++++++ 8 files changed, 56 insertions(+), 24 deletions(-) create mode 100644 src/main/resources/mapper/TaskMapper.xml diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java index d6868dc..58bb366 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java @@ -1,6 +1,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.controller; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Task; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultTask; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService; import cn.edu.hfut.rmdjzz.projectmanagement.service.ITaskService; import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.ResponseList; @@ -26,12 +27,12 @@ public class TaskController { @SneakyThrows @GetMapping("/{fatherId}/subtask") - public ResponseList getSubTaskList( + public ResponseList getSubTaskList( @RequestHeader("Token") String token, @PathVariable("projectId") Integer projectId, @PathVariable("fatherId") Long fatherId ) { - List result = taskService.getSubTaskList(token, projectId, fatherId); + List result = taskService.getSubTaskList(token, projectId, fatherId); return ResponseList.ofSuccess("查询成功", result); } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java index 02fb102..482a88f 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java @@ -1,8 +1,6 @@ package cn.edu.hfut.rmdjzz.projectmanagement.entity.query; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java index e6fc8e4..e986087 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultTask.java @@ -30,5 +30,4 @@ public class ResultTask { @TableField(typeHandler = JacksonTypeHandler.class) private Map attachedInfo; private Boolean hasChildren; - private Boolean deleted; } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java index 2f801bb..5b18bde 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/mapper/TaskMapper.java @@ -1,12 +1,16 @@ package cn.edu.hfut.rmdjzz.projectmanagement.mapper; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Task; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultTask; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author 张韬 * created at 2022/7/4 14:52 */ public interface TaskMapper extends BaseMapper { - + List selectSubTaskList(@Param("projectId") Integer projectId, @Param("fatherId") Long fatherId); } diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java index bd2165f..5474d64 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/ITaskService.java @@ -1,6 +1,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Task; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultTask; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import com.baomidou.mybatisplus.extension.service.IService; @@ -11,7 +12,7 @@ import java.util.List; * created at 2022/7/4 14:49 */ public interface ITaskService extends IService { - List getSubTaskList(String token, Integer projectId, Long fatherId) throws BadRequestException; + List getSubTaskList(String token, Integer projectId, Long fatherId) throws BadRequestException; Boolean existSubTask(String token, Integer projectId, Long taskId) throws BadRequestException; diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java index dbb905d..439c13f 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java @@ -1,6 +1,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service.impl; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Task; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.query.ResultTask; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import cn.edu.hfut.rmdjzz.projectmanagement.mapper.TaskMapper; @@ -30,11 +31,11 @@ public class TaskServiceImpl extends ServiceImpl implements IT //FIXME: 抛出未授权异常 @Override - public List getSubTaskList(String token, Integer projectId, Long fatherId) throws BadRequestException { + public List getSubTaskList(String token, Integer projectId, Long fatherId) throws BadRequestException { if (projectGroupService.getUserLevelInGroup(token, projectId) == 0 || fatherId == null) { throw new BadRequestException("错误的访问参数"); } - return baseMapper.selectList(Wrappers.lambdaQuery().eq(Task::getTaskProjectId, projectId).eq(Task::getTaskFatherId, fatherId)); + return baseMapper.selectSubTaskList(projectId, fatherId); } @Override @@ -97,7 +98,7 @@ public class TaskServiceImpl extends ServiceImpl implements IT Wrappers.lambdaUpdate() .in(Task::getTaskId, res) .set(Task::getTaskStatus, "关闭") - .set(Task::getTaskClosedTime,LocalDateTime.now()) + .set(Task::getTaskClosedTime, LocalDateTime.now()) ); if (list == null || list.isEmpty()) break; res = list.stream().map(Task::getTaskId).collect(Collectors.toList()); diff --git a/src/main/resources/mapper/ProjectMapper.xml b/src/main/resources/mapper/ProjectMapper.xml index b45663a..d43bedf 100644 --- a/src/main/resources/mapper/ProjectMapper.xml +++ b/src/main/resources/mapper/ProjectMapper.xml @@ -2,20 +2,21 @@ diff --git a/src/main/resources/mapper/TaskMapper.xml b/src/main/resources/mapper/TaskMapper.xml new file mode 100644 index 0000000..ddfe28f --- /dev/null +++ b/src/main/resources/mapper/TaskMapper.xml @@ -0,0 +1,27 @@ + + + + + From 17f516545b88e2b53cffed0afb289f3ac6b76159 Mon Sep 17 00:00:00 2001 From: ArgonarioD Date: Wed, 6 Jul 2022 12:09:09 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2subtask=E6=97=B6hasChildren=E5=AD=97=E6=AE=B5=E9=83=BD?= =?UTF-8?q?=E4=B8=BAtrue=E7=9A=84Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mapper/TaskMapper.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/resources/mapper/TaskMapper.xml b/src/main/resources/mapper/TaskMapper.xml index ddfe28f..59fa44d 100644 --- a/src/main/resources/mapper/TaskMapper.xml +++ b/src/main/resources/mapper/TaskMapper.xml @@ -6,10 +6,10 @@ task_name, task_project_id, task_holder_id, - s.staff_fullname AS task_holder_name, + s.staff_fullname AS task_holder_name, task_status, task_type, - task_father_id, + t.task_father_id, task_created_time, task_start_time, task_end_time, @@ -17,11 +17,12 @@ task_priority, task_description, attached_info, - EXISTS(SELECT task_id FROM task WHERE task_father_id = task.task_id) AS has_children - FROM task - JOIN (SELECT staff_id, staff_fullname FROM staff) AS s ON task.task_holder_id = s.staff_id + judge.task_father_id IS NOT NULL AS has_children + FROM task AS t + JOIN (SELECT staff_id, staff_fullname FROM staff) AS s ON t.task_holder_id = s.staff_id + LEFT JOIN (SELECT DISTINCT task_father_id FROM task) AS judge ON t.task_id = judge.task_father_id WHERE is_deleted = 0 AND task_project_id = #{projectId} - AND task_father_id = #{fatherId} + AND t.task_father_id = #{fatherId} From c81065d93ec145cec49665ad031da9ef1afdeb9e Mon Sep 17 00:00:00 2001 From: ArgonarioD Date: Wed, 6 Jul 2022 14:48:15 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86xml=E7=9A=84ma?= =?UTF-8?q?pper=E4=B8=AD=E4=B8=8D=E8=83=BD=E4=BD=BF=E7=94=A8mybatis-plus?= =?UTF-8?q?=E6=98=A0=E5=B0=84=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/query/ResultProject.java | 3 +++ src/main/resources/mapper/ProjectMapper.xml | 12 +++++++++--- .../projectmanagement/MybatisPlusTests.java | 16 +++++++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java index 482a88f..2fee21a 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/query/ResultProject.java @@ -1,6 +1,8 @@ package cn.edu.hfut.rmdjzz.projectmanagement.entity.query; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; @@ -12,6 +14,7 @@ import java.time.LocalDate; */ @Data @AllArgsConstructor +@TableName(autoResultMap = true) public class ResultProject { @TableId Integer projectId; diff --git a/src/main/resources/mapper/ProjectMapper.xml b/src/main/resources/mapper/ProjectMapper.xml index d43bedf..7f4eac7 100644 --- a/src/main/resources/mapper/ProjectMapper.xml +++ b/src/main/resources/mapper/ProjectMapper.xml @@ -1,7 +1,13 @@ - SELECT * FROM (SELECT project_id, project_name, @@ -10,8 +16,8 @@ project_creator, pt1.project_class_name AS project_class_name, pt2.project_class_name AS project_subclass_name, - is_completed AS completed, - is_deleted AS deleted, + is_completed, + is_deleted, project_closed_date FROM project JOIN project_type pt1 ON project.project_class_id = pt1.project_class_id diff --git a/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/MybatisPlusTests.java b/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/MybatisPlusTests.java index 834d6ce..7f28710 100644 --- a/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/MybatisPlusTests.java +++ b/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/MybatisPlusTests.java @@ -1,11 +1,11 @@ package cn.edu.hfut.rmdjzz.projectmanagement; import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project; -import cn.edu.hfut.rmdjzz.projectmanagement.entity.Staff; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectService; import cn.edu.hfut.rmdjzz.projectmanagement.service.IStaffService; import cn.edu.hfut.rmdjzz.projectmanagement.service.impl.ProjectServiceImpl; import cn.edu.hfut.rmdjzz.projectmanagement.utils.WrapperUtils; +import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.RequestPage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -73,4 +73,18 @@ public class MybatisPlusTests { System.out.println(objectMapper.writeValueAsString(((ProjectServiceImpl) projectService).getBaseMapper() .findMyProject(new Page<>(1, 5), 1, Wrappers.query()))); } + + @SneakyThrows + @Test + public void findProjectTest() { + RequestPage page = new RequestPage(); + page.setPageCurrent(1); + page.setPageSize(5); + + Map map = new HashMap<>(); + map.put("completed", true); + System.out.println(objectMapper.writeValueAsString(projectService + .getOnePageProject("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkdXJhdGlvbiI6MTgwMDAsInN0YWZmVXNlcm5hbWUiOiJtaWtlIiwiZXhwIjoxNjU3MDkzNTU1LCJpYXQiOjE2NTcwNzU1NTUsInN0YWZmSWQiOjF9.g8l01dnHglt223469Z03i9gqZL8P13Fo7KoaA1pf310", + page, map))); + } } From a9a662abc304546dfe66bb77de2149f003f8f3e5 Mon Sep 17 00:00:00 2001 From: ArgonarioD Date: Wed, 6 Jul 2022 14:55:22 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2subtask=E6=97=B6=E8=A2=AB=E5=88=A0=E9=99=A4=E7=9A=84?= =?UTF-8?q?=E5=AD=90=E5=B7=A5=E4=BD=9C=E9=A1=B9=E5=BD=B1=E5=93=8DhasChildr?= =?UTF-8?q?en=E5=AD=97=E6=AE=B5=E6=AD=A3=E7=A1=AE=E6=80=A7=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mapper/TaskMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mapper/TaskMapper.xml b/src/main/resources/mapper/TaskMapper.xml index 59fa44d..747c4af 100644 --- a/src/main/resources/mapper/TaskMapper.xml +++ b/src/main/resources/mapper/TaskMapper.xml @@ -20,7 +20,7 @@ judge.task_father_id IS NOT NULL AS has_children FROM task AS t JOIN (SELECT staff_id, staff_fullname FROM staff) AS s ON t.task_holder_id = s.staff_id - LEFT JOIN (SELECT DISTINCT task_father_id FROM task) AS judge ON t.task_id = judge.task_father_id + LEFT JOIN (SELECT DISTINCT task_father_id FROM task WHERE is_deleted = 0) AS judge ON t.task_id = judge.task_father_id WHERE is_deleted = 0 AND task_project_id = #{projectId} AND t.task_father_id = #{fatherId} From 1eb05a9c8a4a3c1e0b8bcb875020a4272b603892 Mon Sep 17 00:00:00 2001 From: "yang.yongquan" <3395816735@qq.com> Date: Wed, 6 Jul 2022 16:18:52 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E9=83=A8=E5=88=86=E7=9A=84controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hfut/rmdjzz/projectmanagement/controller/TaskController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java index 58bb366..8d12035 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/TaskController.java @@ -84,6 +84,7 @@ public class TaskController { @PathVariable("projectId") Integer projectId, @RequestParam("taskId") Long taskId ) { + taskService.deleteTaskAndSubTask(token, projectId, taskId); return ResponseMap.ofSuccess("删除成功"); } From e714f2e3d41ae67a868be875028f62ac57811ede Mon Sep 17 00:00:00 2001 From: "yang.yongquan" <3395816735@qq.com> Date: Wed, 6 Jul 2022 16:45:32 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=81=8C=E4=BD=8D=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectGroupController.java | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 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 3141609..5519066 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 @@ -1,14 +1,16 @@ package cn.edu.hfut.rmdjzz.projectmanagement.controller; +import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; +import cn.edu.hfut.rmdjzz.projectmanagement.exception.UnauthorizedException; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService; +import cn.edu.hfut.rmdjzz.projectmanagement.utils.TokenUtils; 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 lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -29,4 +31,24 @@ public class ProjectGroupController { List res = projectGroupService.findAllProjectNumber(projectId); return ResponseList.ofSuccess("查询成功", res); } + + @SneakyThrows + @GetMapping("/{staffId}") + public ResponseMap getStaffPostion( + @RequestHeader("Token") String token, + @PathVariable Integer staffId, + @PathVariable Integer projectId + ) { + if (TokenUtils.getStaffId(token) != staffId) { + throw new BadRequestException("用户访问错误"); + } + if (projectGroupService.getUserLevelInGroup(token, projectId) == 0) { + throw new UnauthorizedException("无该项目访问权限"); + } + return ResponseMap.ofSuccess("查询成功", projectGroupService.getOne( + Wrappers.lambdaQuery() + .eq(ProjectGroup::getStaffId, staffId) + .eq(ProjectGroup::getProjectId, projectId) + )); + } }