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("错误的访问参数"); }