From 592cca7f6a891ebd2d53aab64beaa69169503214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B0=81=E7=BE=BD?= <2360164671@qq.com> Date: Thu, 30 Jun 2022 18:48:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=BB=93=E9=A1=B9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectController.java | 7 +++++++ .../projectmanagement/entity/Project.java | 2 +- .../service/IProjectService.java | 3 ++- .../service/impl/ProjectServiceImpl.java | 20 +++++++++++++++---- 4 files changed, 26 insertions(+), 6 deletions(-) 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 33cb784..9ebdf2e 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 @@ -48,4 +48,11 @@ public class ProjectController { return ResponseMap.ofSuccess("获得参与项目总数", res); } + @SneakyThrows + @PostMapping("/complete") + public ResponseMap completeProject(@RequestHeader("Token") String token,@RequestBody Map map){ + Integer targetProjectId=(Integer)map.get("projectId"); + projectServiceImpl.setProjectCompleted(token, targetProjectId); + return ResponseMap.ofSuccess("操作成功"); + } } 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 ec432ee..3deb310 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 @@ -36,6 +36,6 @@ public class Project { private String projectDescription; private Boolean IsCompleted; @TableLogic - private Boolean deleted; + private Boolean isDeleted; private Integer projectCreator; } 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 3d8a200..80b8eec 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 @@ -2,6 +2,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.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -19,7 +20,7 @@ public interface IProjectService extends IService { Page getOnePageProject(String token, Integer pageCurrent, Integer pageSize, Map params) throws TokenException; - Boolean setProjectCompleted(String token, Project project) throws TokenException; + Boolean setProjectCompleted(String token, Integer projectId) throws TokenException, BadRequestException; Boolean makeANewProject(Project project) throws TokenException; } 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 b7b568e..bb1151b 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 @@ -2,6 +2,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.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectMapper; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectService; @@ -15,7 +16,9 @@ import io.swagger.models.auth.In; import org.springframework.stereotype.Service; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import java.time.LocalDate; import java.util.Map; +import java.util.Objects; /** * @author 阳勇权 @@ -37,18 +40,27 @@ public class ProjectServiceImpl extends ServiceImpl impl Integer pageSize, Map params ) throws TokenException { - Integer staffId = TokenUtils.getStaffId(token); + Integer staffId = 2; IPage page = new Page<>(pageCurrent, pageSize); IPage userPage = baseMapper.findMyProject(page, staffId, WrapperUtils.allEqAndTimeIntervalQueryWrapper(params, false)); return (Page) userPage; } @Override - public Boolean setProjectCompleted(String token, Project project) throws TokenException { + public Boolean setProjectCompleted(String token, Integer projectId) throws TokenException, BadRequestException { Integer staffId = TokenUtils.getStaffId(token); + Project project=new Project(); + project.setProjectId(projectId); Project targetProject = baseMapper.selectOne(Wrappers.lambdaQuery().eq(Project::getProjectId, project.getProjectId())); - - return null; + if(targetProject==null) + throw new BadRequestException("项目不存在"); + if(!Objects.equals(staffId, targetProject.getProjectCreator())) + throw new BadRequestException("用户请求非法"); + targetProject.setIsCompleted(true); + targetProject.setProjectCloseTime(LocalDate.now()); + if(baseMapper.updateById(targetProject)==1) + return true; + throw new BadRequestException("操作失败"); } @Override