优化项目标签和状态查询
Some checks failed
JslGroup/JslDeveloper/JSL_OrganizeInternalOA/pipeline/head There was a failure building this commit

This commit is contained in:
176yunxuan 2024-03-11 16:13:17 +08:00
parent c0e2df344e
commit bf8ef7c748
6 changed files with 26 additions and 13 deletions

View File

@ -48,9 +48,10 @@ public class ProjectController {
@GetMapping("/project/get") @GetMapping("/project/get")
public BaseResponse projectGet(@RequestParam(required = false) Integer listAll, public BaseResponse projectGet(@RequestParam(required = false) Integer listAll,
@RequestParam(required = false) List<String> tags, @RequestParam(required = false) List<String> tags,
@RequestParam(required = false) Integer isFinish,
HttpServletRequest request) { HttpServletRequest request) {
log.info("请求接口[GET]: /project/get"); log.info("请求接口[GET]: /project/get");
return projectService.get(listAll,request,tags); return projectService.get(listAll,request,tags,isFinish);
} }
/** /**

View File

@ -105,9 +105,12 @@ public class ProjectDAO {
return projectMapper.setProjectShow(setProjectShow); return projectMapper.setProjectShow(setProjectShow);
} }
public List<ProjectDO> get(Long userId,Integer listAll,List<String> tags) { public List<ProjectDO> get(Long userId,Integer listAll,List<String> tags,Integer isFinish) {
log.info("\t> 执行 DAO 层 ProjectDAO.get 方法"); log.info("\t> 执行 DAO 层 ProjectDAO.get 方法");
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
if(isFinish != null){
return projectMapper.getByIsfinish(isFinish);
}
if(tags != null && !tags.isEmpty()){ if(tags != null && !tags.isEmpty()){
return projectMapper.getByTags(tags); return projectMapper.getByTags(tags);
} }

View File

@ -43,12 +43,15 @@ public interface ProjectMapper {
//@Select("select * from organize_oa.oa_project where json_extract(tags,'$.tags')" + //@Select("select * from organize_oa.oa_project where json_extract(tags,'$.tags')" +
//"like concat('%',#{tags},'%')") //"like concat('%',#{tags},'%')")
@Select("select * from organize_oa.oa_project where is_finish=#{isFinish} and is_delete=false")
List<ProjectDO>getByIsfinish(Integer isFinish);
List<ProjectDO>getByTags(List<String> tags); List<ProjectDO>getByTags(List<String> tags);
@Select("select * from organize_oa.oa_project where is_delete=false and status =1") @Select("select * from organize_oa.oa_project where is_delete=false and status =1")
List<ProjectDO> get(Long userId); List<ProjectDO> 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<ProjectDO> get1(Long userId); List<ProjectDO> get1(Long userId);
@Select("select * from organize_oa.oa_project where name=#{name}") @Select("select * from organize_oa.oa_project where name=#{name}")

View File

@ -5,7 +5,6 @@ import com.jsl.oa.model.voData.ProjectCuttingEditVO;
import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
import org.apache.catalina.LifecycleState;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
@ -27,7 +26,7 @@ public interface ProjectService {
BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id); BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id);
BaseResponse get(Integer listAll, HttpServletRequest request, List<String> tags); BaseResponse get(Integer listAll, HttpServletRequest request, List<String> tags, Integer isFinish);
BaseResponse getByName(String name); BaseResponse getByName(String name);

View File

@ -2,7 +2,6 @@ package com.jsl.oa.services.impl;
import com.jsl.oa.annotations.CheckUserHasPermission; import com.jsl.oa.annotations.CheckUserHasPermission;
import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.RoleDAO;
import com.jsl.oa.dao.UserDAO; import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.mapper.RoleMapper;
import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectCuttingDO;
@ -22,6 +21,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.sql.Timestamp; import java.sql.Timestamp;
@ -184,22 +184,27 @@ public class ProjectServiceImpl implements ProjectService {
} }
@Override @Override
public BaseResponse get(Integer listAll,HttpServletRequest request,List<String> tags) { public BaseResponse get(Integer listAll, HttpServletRequest request, List<String> tags, Integer isFinish) {
log.info("\t> 执行 Service 层 ProjectService.get 方法"); log.info("\t> 执行 Service 层 ProjectService.get 方法");
//获取用户 //获取用户
Long userId= Processing.getAuthHeaderToUserId(request); Long userId= Processing.getAuthHeaderToUserId(request);
//根据状态查询
if(isFinish != null){
List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags,isFinish);
return ResultUtil.success(projectDOList);
}
//根据标签查询 //根据标签查询
if(tags != null && !tags.isEmpty()){ if(tags != null && !tags.isEmpty()){
List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags); List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags,isFinish);
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
} }
//判断是否是老师(项目负责人) //判断是否是老师(项目负责人)
if(listAll != null && Processing.checkUserIsAdmin(request,roleMapper)){ if(listAll != null && Processing.checkUserIsTeacher(request,roleMapper)){
List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags); List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags,isFinish);
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
}else { }else {
List<ProjectDO> projectDOList = projectDAO.get(userId,0,tags); List<ProjectDO> projectDOList = projectDAO.get(userId,0,tags,isFinish);
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
} }

View File

@ -48,8 +48,10 @@
</update> </update>
<select id="getByTags" resultType="com.jsl.oa.model.doData.ProjectDO"> <select id="getByTags" resultType="com.jsl.oa.model.doData.ProjectDO">
select * from organize_oa.oa_project where json_extract(tags,'$.tags')like concat select * from organize_oa.oa_project where
<foreach collection="tags" item="tag" separator=",'%'" open="('%'," close=",'%')"> <foreach collection="tags" item="tag" separator=",'%') and json_extract(tags,'$.tags')like concat('%',"
open="json_extract(tags,'$.tags')like concat('%',"
close=",'%') and is_delete=false">
#{tag} #{tag}
</foreach> </foreach>
</select> </select>