From 93a0d7ba2832a60ff12d7b2275652919118fb4a9 Mon Sep 17 00:00:00 2001 From: ShiPengHui <1527550984@qq.com> Date: Wed, 6 Jul 2022 17:26:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=A6=E6=9D=83=E9=99=90=E7=9A=84=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=88=90=E5=91=98id=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 10 ++++++++++ .../controller/ProjectGroupController.java | 10 +++------- .../projectmanagement/mapper/ProjectMapper.java | 2 +- .../service/IProjectGroupService.java | 3 ++- .../service/impl/ProjectGroupServiceImpl.java | 12 +++++++++--- 5 files changed, 25 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 1547933..74203e2 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,8 @@ ProjectManagementBackend 17 + ${java.version} + ${java.version} @@ -154,6 +156,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 15 + 15 + + 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..75fefcd 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,10 @@ package cn.edu.hfut.rmdjzz.projectmanagement.controller; -import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService; import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.ResponseList; 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; @@ -25,8 +21,8 @@ public class ProjectGroupController { @SneakyThrows @GetMapping - public ResponseList getGroupNumber(@PathVariable Integer projectId) { - List res = projectGroupService.findAllProjectNumber(projectId); + public ResponseList getGroupNumber(@PathVariable Integer projectId, @RequestHeader("Token") String token) { + List res = projectGroupService.findAllProjectNumber(token, projectId); return ResponseList.ofSuccess("查询成功", res); } } 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..d4fd88c 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 @@ -18,7 +18,7 @@ import org.apache.ibatis.annotations.Select; public interface ProjectMapper extends BaseMapper { @Select(""" - SELECT COUNT(*) FROM project WHERE project_id IN + SELECT COUNT(*) FROM project WHERE project_id IN (SELECT DISTINCT project_id FROM project_group WHERE staff_id = #{id}) """) Long findProjectCount(@Param("id") Integer staffId); diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java index 3f63b5c..e612f6c 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IProjectGroupService.java @@ -2,6 +2,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service; import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; +import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -18,5 +19,5 @@ public interface IProjectGroupService extends IService { */ Integer getUserLevelInGroup(String token, Integer projectId); - List findAllProjectNumber(Integer projectId) throws BadRequestException; + List findAllProjectNumber(String token, Integer projectId) throws TokenException, BadRequestException; } \ No newline at end of file diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectGroupServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectGroupServiceImpl.java index 4d5d953..6e0e592 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectGroupServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/ProjectGroupServiceImpl.java @@ -2,6 +2,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service.impl; import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; +import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException; import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectGroupMapper; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService; import cn.edu.hfut.rmdjzz.projectmanagement.utils.TokenUtils; @@ -48,14 +49,19 @@ public class ProjectGroupServiceImpl extends ServiceImpl findAllProjectNumber(Integer projectId) throws BadRequestException { + public List findAllProjectNumber(String token, Integer projectId) throws TokenException, BadRequestException { List res = new ArrayList<>(); + Integer staffId = TokenUtils.getStaffId(token); List targetProject = baseMapper.selectList(Wrappers.lambdaQuery().eq(ProjectGroup::getProjectId, projectId)); + + if (targetProject.size() == 0) throw new BadRequestException("项目不存在"); - for (int i = 0; i < targetProject.size(); i++) { - res.add(targetProject.get(i).getStaffId()); + for (ProjectGroup projectGroup : targetProject) { + res.add(projectGroup.getStaffId()); } + if(!res.contains(staffId)) + throw new BadRequestException("用户请求非法"); return res; } }