From 2494fb38b62a10df105bb004e0c3e3a6c5730cb6 Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Sun, 10 Mar 2024 17:36:13 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=92=8C=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsl/oa/controllers/ProjectController.java | 9 +++-- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 8 +++-- .../java/com/jsl/oa/mapper/ProjectMapper.java | 19 +++++++---- .../jsl/oa/model/doData/ProjectCuttingDO.java | 17 ++++++---- .../com/jsl/oa/model/doData/ProjectDO.java | 20 ++++++----- .../jsl/oa/model/voData/ProjectInfoVO.java | 34 +++++++------------ .../com/jsl/oa/services/ProjectService.java | 2 +- .../oa/services/impl/ProjectServiceImpl.java | 17 ++++++++-- .../java/com/jsl/oa/utils/Processing.java | 16 +++++++++ .../com/jsl/oa/mapper/ProjectMapper.xml | 34 +++++++++++-------- 10 files changed, 112 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index a7c556d..79e8e68 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -27,6 +27,7 @@ public class ProjectController { /** * 项目展示获取 + * 项目轮播图 * * @param id * @return @@ -43,13 +44,14 @@ public class ProjectController { * @return */ @GetMapping("/project/get") - public BaseResponse projectGet() { + public BaseResponse projectGet(@RequestParam(required = false) Integer listAll,HttpServletRequest request) { log.info("请求接口[GET]: /project/get"); - return projectService.get(); + return projectService.get(listAll,request); } /** * 单个项目的详细 + * 项目轮播图 * * @param name * @return @@ -62,6 +64,7 @@ public class ProjectController { /** * 增加项目展示 + * 项目轮播图 * * @param projectShowVO * @param request @@ -81,6 +84,7 @@ public class ProjectController { /** * 编辑展示的项目 + * 项目轮播图 * * @param projectShowVO * @param id @@ -106,6 +110,7 @@ public class ProjectController { /** * 删除项目展示 + * 项目轮播图 * * @param id * @param request diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 0ec8691..85a7a29 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -105,10 +105,14 @@ public class ProjectDAO { return projectMapper.setProjectShow(setProjectShow); } - public List get() { + public List get(Long userId,Integer listAll) { log.info("\t> 执行 DAO 层 ProjectDAO.get 方法"); log.info("\t\t> 从 MySQL 获取数据"); - return projectMapper.get(); + if(listAll == 0) { + return projectMapper.get(userId); + }else { + return projectMapper.get1(userId); + } } public ProjectDO getByName(String name) { diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index cb423f8..fe6448c 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -12,8 +12,10 @@ import java.util.List; public interface ProjectMapper { @Insert("insert into organize_oa.oa_project " + - "(name, description, introduction, core_code, git,type, reward) " + - "value (#{name},#{description},#{introduction},#{coreCode},#{git},#{type},#{reward})") + "(name, description, principal_id, cycle,file,complete_time," + + "deadline,status,is_finish) " + + "value (#{name},#{description},#{principalId},#{cycle},#{file}" + + ",#{completeTime},#{deadline},#{status},#{isFinish})") void projectAdd(ProjectInfoVO projectAdd); @@ -22,11 +24,11 @@ public interface ProjectMapper { @Select("select * from organize_oa.oa_project where id=#{id}") ProjectDO getProjectById(Long id); - @Select("select * from organize_oa.oa_project_cutting where id in" + - "(select pid from organize_oa.oa_project_user where uid=#{uid})") + @Select("select * from organize_oa.oa_project_work where principal_id=#{uid}") + //"(select id from organize_oa.oa_project_work where id in)") List projectGetUserInCutting(Long uid); - @Insert("insert into organize_oa.oa_project_user(uid, pid)value (#{uid},#{pid})") + @Insert("update organize_oa.oa_project_work set principal_id =#{uid} where id=#{pid}") void projectAddUserInCutting(Long uid, Long pid); @Select("select data from organize_oa.oa_config where value='project_show'") @@ -38,8 +40,11 @@ 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_permissions") - List get(); + @Select("select * from organize_oa.oa_project where is_delete=false and status =1") + List get(Long userId); + + @Select("select * from organize_oa.oa_project where status =1") + List get1(Long userId); @Select("select * from organize_oa.oa_project where name=#{name}") ProjectDO getByName(String name); diff --git a/src/main/java/com/jsl/oa/model/doData/ProjectCuttingDO.java b/src/main/java/com/jsl/oa/model/doData/ProjectCuttingDO.java index 8d723f9..3642285 100755 --- a/src/main/java/com/jsl/oa/model/doData/ProjectCuttingDO.java +++ b/src/main/java/com/jsl/oa/model/doData/ProjectCuttingDO.java @@ -20,12 +20,17 @@ import java.sql.Timestamp; @JsonInclude(JsonInclude.Include.NON_NULL) public class ProjectCuttingDO { private Long id; + private Long principalId; + private Long projectId; private Long pid; + private Long workLoad; + private Long cycle; private String name; - private String tag; - private Short engineering; - private Integer estimatedTime; - private Integer realTime; - private Timestamp createdAt; - private Timestamp updatedAt; + private String description; + private Integer is_delete; + private Integer is_finish; + private Integer status; + private boolean type; + private Timestamp beginTime; + private Timestamp completeTime; } diff --git a/src/main/java/com/jsl/oa/model/doData/ProjectDO.java b/src/main/java/com/jsl/oa/model/doData/ProjectDO.java index f9d383e..6f494d6 100755 --- a/src/main/java/com/jsl/oa/model/doData/ProjectDO.java +++ b/src/main/java/com/jsl/oa/model/doData/ProjectDO.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; import lombok.experimental.Accessors; +import java.sql.Timestamp; + /** *

project 数据表

*
@@ -18,14 +20,16 @@ import lombok.experimental.Accessors; @JsonInclude(JsonInclude.Include.NON_NULL) public class ProjectDO { private Long id; + private Long principalId; + private String tags; + private Long cycle; private String name; + private String file; private String description; - private String introduction; - private Short codeOpen; - private String coreCode; - private String git; - private Short difficultyLevel; - private Integer type; - private Long reward; - private Short status; + private Integer is_delete; + private Integer is_finish; + private boolean status; + private Timestamp beginTime; + private Timestamp completeTime; + private Timestamp deadline; } 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 1bc32e9..39b71d8 100644 --- a/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java +++ b/src/main/java/com/jsl/oa/model/voData/ProjectInfoVO.java @@ -4,36 +4,28 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.sql.Timestamp; @Data public class ProjectInfoVO { - @NotNull(message = "id不能为空") - private Long id; - @NotBlank(message = "项目名不为空") + private Long id; + @NotNull(message = "负责人id不能为空") + private Long principalId; + + @NotBlank(message = "项目名不能为空") private String name; - @NotBlank(message = "简介不能为空") private String description; - @NotBlank(message = "描述不能为空") - private String introduction; + @NotNull(message = "周期不能为空") + private Long cycle; - //@NotNull(message = "填写是否开放") - private Short codeOpen; + private String file; - private String coreCode; + private Timestamp completeTime; + private Timestamp deadline; + private Integer status; + private Integer isFinish; - private String git; - - //@NotNull(message = "难度等级不能为空") - private Short difficultyLevel; - - @NotNull(message = "项目类型不能为空") - private Integer type; - - private Long reward; - - //@NotNull(message = "项目状态不能为空") - private Short status; } diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 17e5f69..058ad42 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(); + BaseResponse get(Integer listAll,HttpServletRequest request); 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 c2aee5f..ef54178 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -2,6 +2,7 @@ package com.jsl.oa.services.impl; 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.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; @@ -41,6 +42,7 @@ import java.util.List; @RequiredArgsConstructor public class ProjectServiceImpl implements ProjectService { + private final RoleDAO roleDAO; private final ProjectDAO projectDAO; private final UserDAO userDAO; @@ -181,10 +183,19 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse get() { + public BaseResponse get(Integer listAll,HttpServletRequest request) { log.info("\t> 执行 Service 层 ProjectService.get 方法"); - List projectDOList = projectDAO.get(); - return ResultUtil.success(projectDOList); + //获取用户 + Long userId= Processing.getAuthHeaderToUserId(request); + //判断是否是老师(项目负责人) + if(Processing.checkUserIsTeacher(request,roleDAO.roleMapper)){ + List projectDOList = projectDAO.get(userId,listAll); + return ResultUtil.success(projectDOList); + }else { + List projectDOList = projectDAO.get(userId,0); + return ResultUtil.success(projectDOList); + } + } @Override diff --git a/src/main/java/com/jsl/oa/utils/Processing.java b/src/main/java/com/jsl/oa/utils/Processing.java index 10e1e28..1e1ea50 100755 --- a/src/main/java/com/jsl/oa/utils/Processing.java +++ b/src/main/java/com/jsl/oa/utils/Processing.java @@ -177,6 +177,22 @@ public class Processing { } } + /** + * 检查用户是否是老师 + * @param request + * @param roleMapper + * @return + */ + public static @NotNull Boolean checkUserIsTeacher(HttpServletRequest request, @NotNull RoleMapper roleMapper) { + RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request)); + if (roleUserDO != null) { + RoleDO roleDO = roleMapper.getRoleByRoleName("teacher"); + return roleUserDO.getRid().equals(roleDO.getId()); + } else { + return false; + } + } + private static char getCharFromIndex(int index) { // 生成字符集合,可以根据需要自定义 String charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; diff --git a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml index 9aa3d90..5cb5ef4 100644 --- a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml @@ -13,30 +13,36 @@ description = #{description}, - - introduction = #{introduction}, + + principal_id = #{principal_id}, - - code_open = #{codeOpen}, + + tags = #{tags}, - - core_code = #{coreCode}, + + cycle = #{cycle}, - - git = #{git}, + + file = #{file}, - - difficulty_level = #{difficultyLevel}, + + begin_time = #{begin_time}, - - type = #{type}, + + complete_time = #{complete_time}, - - reward = #{reward}, + + deadline = #{deadline}, status = #{status}, + + is_finish = #{is_finish}, + + + is_delete = #{is_delete}, + where id = #{id} 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 2/5] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BC=98=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); } From c0e2df344e7bac4e4ed3a71c1b0ccaaf39940780 Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Mon, 11 Mar 2024 13:11:01 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BC=98=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 --- .../java/com/jsl/oa/controllers/ProjectController.java | 4 +++- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 4 ++-- src/main/java/com/jsl/oa/mapper/ProjectMapper.java | 7 ++++--- src/main/java/com/jsl/oa/services/ProjectService.java | 4 +++- .../java/com/jsl/oa/services/impl/ProjectServiceImpl.java | 4 ++-- src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml | 7 +++++++ 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index db50763..d6c8f49 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -17,6 +17,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.util.Arrays; +import java.util.List; @Slf4j @RestController @@ -45,7 +47,7 @@ public class ProjectController { */ @GetMapping("/project/get") public BaseResponse projectGet(@RequestParam(required = false) Integer listAll, - @RequestParam(required = false) String tags, + @RequestParam(required = false) List tags, HttpServletRequest request) { log.info("请求接口[GET]: /project/get"); 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 5791030..e4650a5 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -105,10 +105,10 @@ public class ProjectDAO { return projectMapper.setProjectShow(setProjectShow); } - public List get(Long userId,Integer listAll,String tags) { + public List get(Long userId,Integer listAll,List tags) { log.info("\t> 执行 DAO 层 ProjectDAO.get 方法"); log.info("\t\t> 从 MySQL 获取数据"); - if(tags != null){ + if(tags != null && !tags.isEmpty()){ return projectMapper.getByTags(tags); } if(listAll == 0) { diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index df16f63..1454402 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -5,6 +5,7 @@ import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.ProjectUserDO; import com.jsl.oa.model.voData.ProjectInfoVO; import org.apache.ibatis.annotations.*; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -40,9 +41,9 @@ 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 json_extract(tags,'$.tags')" + + //"like concat('%',#{tags},'%')") + ListgetByTags(List 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/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 3f50336..9b3a7c4 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -5,8 +5,10 @@ import com.jsl.oa.model.voData.ProjectCuttingEditVO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.utils.BaseResponse; +import org.apache.catalina.LifecycleState; import javax.servlet.http.HttpServletRequest; +import java.util.List; public interface ProjectService { BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd); @@ -25,7 +27,7 @@ public interface ProjectService { BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id); - BaseResponse get(Integer listAll,HttpServletRequest request,String tags); + BaseResponse get(Integer listAll, HttpServletRequest request, List 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 7d867d8..0d4acbc 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -184,12 +184,12 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse get(Integer listAll,HttpServletRequest request,String tags) { + public BaseResponse get(Integer listAll,HttpServletRequest request,List tags) { log.info("\t> 执行 Service 层 ProjectService.get 方法"); //获取用户 Long userId= Processing.getAuthHeaderToUserId(request); //根据标签查询 - if(tags != null){ + if(tags != null && !tags.isEmpty()){ List projectDOList = projectDAO.get(userId,listAll,tags); return ResultUtil.success(projectDOList); } diff --git a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml index 5cb5ef4..4b2441f 100644 --- a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml @@ -47,4 +47,11 @@ where id = #{id} + + \ No newline at end of file From bf8ef7c748662875c97e5f93c7681fe653fb7298 Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Mon, 11 Mar 2024 16:13:17 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=92=8C=E7=8A=B6=E6=80=81=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 | 3 ++- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 5 ++++- .../java/com/jsl/oa/mapper/ProjectMapper.java | 5 ++++- .../com/jsl/oa/services/ProjectService.java | 3 +-- .../oa/services/impl/ProjectServiceImpl.java | 17 +++++++++++------ .../com/jsl/oa/mapper/ProjectMapper.xml | 6 ++++-- 6 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index d6c8f49..580d3a8 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -48,9 +48,10 @@ public class ProjectController { @GetMapping("/project/get") public BaseResponse projectGet(@RequestParam(required = false) Integer listAll, @RequestParam(required = false) List tags, + @RequestParam(required = false) Integer isFinish, HttpServletRequest request) { log.info("请求接口[GET]: /project/get"); - return projectService.get(listAll,request,tags); + return projectService.get(listAll,request,tags,isFinish); } /** diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index e4650a5..be19ea8 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,List tags) { + public List get(Long userId,Integer listAll,List tags,Integer isFinish) { log.info("\t> 执行 DAO 层 ProjectDAO.get 方法"); log.info("\t\t> 从 MySQL 获取数据"); + if(isFinish != null){ + return projectMapper.getByIsfinish(isFinish); + } if(tags != null && !tags.isEmpty()){ return projectMapper.getByTags(tags); } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 1454402..4453bf9 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -43,12 +43,15 @@ public interface ProjectMapper { //@Select("select * from organize_oa.oa_project where json_extract(tags,'$.tags')" + //"like concat('%',#{tags},'%')") + @Select("select * from organize_oa.oa_project where is_finish=#{isFinish} and is_delete=false") + ListgetByIsfinish(Integer isFinish); + ListgetByTags(List tags); @Select("select * from organize_oa.oa_project where is_delete=false and status =1") List get(Long userId); - @Select("select * from organize_oa.oa_project where status =1") + @Select("select * from organize_oa.oa_project where status =1 and status=1") List get1(Long userId); @Select("select * from organize_oa.oa_project where name=#{name}") diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index 9b3a7c4..ed29493 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -5,7 +5,6 @@ import com.jsl.oa.model.voData.ProjectCuttingEditVO; import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.utils.BaseResponse; -import org.apache.catalina.LifecycleState; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -27,7 +26,7 @@ public interface ProjectService { BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id); - BaseResponse get(Integer listAll, HttpServletRequest request, List tags); + BaseResponse get(Integer listAll, HttpServletRequest request, List tags, Integer isFinish); 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 0d4acbc..9a914ea 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -2,7 +2,6 @@ package com.jsl.oa.services.impl; 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; @@ -22,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; import java.sql.Timestamp; @@ -184,22 +184,27 @@ public class ProjectServiceImpl implements ProjectService { } @Override - public BaseResponse get(Integer listAll,HttpServletRequest request,List tags) { + public BaseResponse get(Integer listAll, HttpServletRequest request, List tags, Integer isFinish) { log.info("\t> 执行 Service 层 ProjectService.get 方法"); //获取用户 Long userId= Processing.getAuthHeaderToUserId(request); + //根据状态查询 + if(isFinish != null){ + List projectDOList = projectDAO.get(userId,listAll,tags,isFinish); + return ResultUtil.success(projectDOList); + } //根据标签查询 if(tags != null && !tags.isEmpty()){ - List projectDOList = projectDAO.get(userId,listAll,tags); + List projectDOList = projectDAO.get(userId,listAll,tags,isFinish); return ResultUtil.success(projectDOList); } //判断是否是老师(项目负责人) - if(listAll != null && Processing.checkUserIsAdmin(request,roleMapper)){ - List projectDOList = projectDAO.get(userId,listAll,tags); + if(listAll != null && Processing.checkUserIsTeacher(request,roleMapper)){ + List projectDOList = projectDAO.get(userId,listAll,tags,isFinish); return ResultUtil.success(projectDOList); }else { - List projectDOList = projectDAO.get(userId,0,tags); + List projectDOList = projectDAO.get(userId,0,tags,isFinish); return ResultUtil.success(projectDOList); } diff --git a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml index 4b2441f..07cbe27 100644 --- a/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ProjectMapper.xml @@ -48,8 +48,10 @@ From 8e94e062675c984b57b19140e5338758c52fe4e1 Mon Sep 17 00:00:00 2001 From: XiaoLFeng Date: Mon, 11 Mar 2024 16:20:02 +0800 Subject: [PATCH 5/5] Upload --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index feff169..d5c6f11 100755 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ build/ ### 自定义 ### *.pdf /src/main/resources/application-dev.yml +**/.DS_Store +/logs