From 006285470266d811926b8d38a25ecaa70b5ca57d Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Mon, 11 Mar 2024 09:26:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=9F=A5=E8=AF=A2=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=A0=87=E7=AD=BE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsl/oa/controllers/ProjectController.java | 6 ++++-- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 5 ++++- .../java/com/jsl/oa/mapper/ProjectMapper.java | 4 ++++ .../com/jsl/oa/model/voData/ProjectInfoVO.java | 5 ----- .../com/jsl/oa/services/ProjectService.java | 2 +- .../oa/services/impl/ProjectServiceImpl.java | 17 ++++++++++++----- 6 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index 79e8e68..db50763 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -44,9 +44,11 @@ public class ProjectController { * @return */ @GetMapping("/project/get") - public BaseResponse projectGet(@RequestParam(required = false) Integer listAll,HttpServletRequest request) { + public BaseResponse projectGet(@RequestParam(required = false) Integer listAll, + @RequestParam(required = false) String tags, + HttpServletRequest request) { log.info("请求接口[GET]: /project/get"); - return projectService.get(listAll,request); + return projectService.get(listAll,request,tags); } /** diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 85a7a29..5791030 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -105,9 +105,12 @@ public class ProjectDAO { return projectMapper.setProjectShow(setProjectShow); } - public List get(Long userId,Integer listAll) { + public List get(Long userId,Integer listAll,String tags) { log.info("\t> 执行 DAO 层 ProjectDAO.get 方法"); log.info("\t\t> 从 MySQL 获取数据"); + if(tags != null){ + return projectMapper.getByTags(tags); + } if(listAll == 0) { return projectMapper.get(userId); }else { diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index fe6448c..df16f63 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -40,6 +40,10 @@ public interface ProjectMapper { @Update("UPDATE organize_oa.oa_config SET data = #{setProjectShow}, updated_at = CURRENT_TIMESTAMP WHERE value = 'project_show'") boolean setProjectShow(String setProjectShow); + @Select("select * from organize_oa.oa_project where json_extract(tags,'$.tags')" + + "like concat('%',#{tags},'%')") + ListgetByTags(String tags); + @Select("select * from organize_oa.oa_project where is_delete=false and status =1") List get(Long userId); diff --git a/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java b/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java index 39b71d8..d66c177 100644 --- a/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java +++ b/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java @@ -12,17 +12,12 @@ public class ProjectInfoVO { private Long id; @NotNull(message = "负责人id不能为空") private Long principalId; - @NotBlank(message = "项目名不能为空") private String name; - private String description; - @NotNull(message = "周期不能为空") private Long cycle; - private String file; - private Timestamp completeTime; private Timestamp deadline; private Integer status; diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 058ad42..3f50336 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -25,7 +25,7 @@ public interface ProjectService { BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id); - BaseResponse get(Integer listAll,HttpServletRequest request); + BaseResponse get(Integer listAll,HttpServletRequest request,String tags); BaseResponse getByName(String name); diff --git a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java index ef54178..7d867d8 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -4,6 +4,7 @@ import com.jsl.oa.annotations.CheckUserHasPermission; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.UserDAO; +import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.UserDO; @@ -42,7 +43,7 @@ import java.util.List; @RequiredArgsConstructor public class ProjectServiceImpl implements ProjectService { - private final RoleDAO roleDAO; + private final RoleMapper roleMapper; private final ProjectDAO projectDAO; private final UserDAO userDAO; @@ -183,16 +184,22 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse get(Integer listAll,HttpServletRequest request) { + public BaseResponse get(Integer listAll,HttpServletRequest request,String tags) { log.info("\t> 执行 Service 层 ProjectService.get 方法"); //获取用户 Long userId= Processing.getAuthHeaderToUserId(request); + //根据标签查询 + if(tags != null){ + List projectDOList = projectDAO.get(userId,listAll,tags); + return ResultUtil.success(projectDOList); + } + //判断是否是老师(项目负责人) - if(Processing.checkUserIsTeacher(request,roleDAO.roleMapper)){ - List projectDOList = projectDAO.get(userId,listAll); + if(listAll != null && Processing.checkUserIsAdmin(request,roleMapper)){ + List projectDOList = projectDAO.get(userId,listAll,tags); return ResultUtil.success(projectDOList); }else { - List projectDOList = projectDAO.get(userId,0); + List projectDOList = projectDAO.get(userId,0,tags); return ResultUtil.success(projectDOList); }