接口逻辑补充零碎修改等

This commit is contained in:
mi9688
2024-10-21 17:41:45 +08:00
parent a8faa7cdeb
commit 655e22579c
14 changed files with 180 additions and 33 deletions

View File

@ -121,4 +121,9 @@ public class Project extends BaseEntity
@ApiModelProperty("项目所属机构名称")
private String deptName;
/** 项目级别:市,县 */
@Excel(name = "项目级别:市,县")
@ApiModelProperty("项目级别:市,县")
private String level;
}

View File

@ -62,6 +62,11 @@ public interface IProjectService
*/
public int deleteProjectByProjectId(Long projectId);
/**
* 查询项目基本信息
* @param userId 用户ID
* @return 项目信息
*/
Map<String,Object> selectProjectByUserId(Long userId);
/**
@ -70,4 +75,10 @@ public interface IProjectService
*/
List<SysDept> getUnbindDeptList();
/**
* 查询管理员项目切换下拉框数据
* @return 项目列表
*/
List<Project> selectAdminProjectList();
}

View File

@ -2,14 +2,17 @@ package com.fastbee.project.service.impl;
import cn.hutool.core.codec.Base64;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.fastbee.common.constant.ProjectLevelConstant;
import com.fastbee.common.core.domain.entity.SysDept;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.holder.ProjectHolder;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.project.domain.Project;
import com.fastbee.project.mapper.ProjectMapper;
import com.fastbee.project.service.IProjectService;
import com.fastbee.system.mapper.SysDeptMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -51,7 +54,13 @@ public class ProjectServiceImpl implements IProjectService
@Override
public List<Project> selectProjectList(Project project)
{
return projectMapper.selectProjectList(project);
return new LambdaQueryChainWrapper<>(projectMapper)
.select(Project::getProjectId, Project::getProjectName, Project::getScope,
Project::getAdministrativeArea, Project::getDeptId,Project::getAdministrativeAreaCode,
Project::getLogo, Project::getImage, Project::getLevel, Project::getDeptName,
Project::getCreateTime)
.like(StringUtils.isNotBlank(project.getSearchValue()),Project::getProjectName, project.getSearchValue())
.list();
}
/**
@ -63,9 +72,10 @@ public class ProjectServiceImpl implements IProjectService
@Override
public int insertProject(Project project)
{ //判断选择的机构下是否已经绑定项目
Project one = new LambdaQueryChainWrapper<>(projectMapper).select(Project::getProjectId, Project::getProjectName)
.eq(Project::getDeptId, project.getDeptId()).one();
if(Objects.nonNull(one)){
List<Project> projectList = new LambdaQueryChainWrapper<>(projectMapper)
.select(Project::getProjectId, Project::getProjectName)
.eq(Project::getDeptId, project.getDeptId()).list();
if(!projectList.isEmpty()){
throw new ServiceException("该机构下已经存在项目");
}
project.setCreateTime(DateUtils.getNowDate());
@ -82,7 +92,8 @@ public class ProjectServiceImpl implements IProjectService
public int updateProject(Project project)
{
//判断选择的机构下是否已经绑定项目
Project one = new LambdaQueryChainWrapper<>(projectMapper).select(Project::getProjectId, Project::getProjectName,Project::getDeptId)
Project one = new LambdaQueryChainWrapper<>(projectMapper)
.select(Project::getProjectId, Project::getProjectName,Project::getDeptId)
.eq(Project::getDeptId, project.getDeptId()).one();
if(Objects.isNull(one)){
throw new ServiceException("项目不存在!");
@ -128,7 +139,7 @@ public class ProjectServiceImpl implements IProjectService
public Map<String, Object> selectProjectByUserId(Long userId) {
//查询该管理员所管理的项目id以及子项目id列表
Project project = new LambdaQueryChainWrapper<>(projectMapper)
.select(Project::getProjectId, Project::getProjectName)
.select(Project::getProjectId, Project::getProjectName,Project::getLevel,Project::getDeptId)
.eq(Project::getOwnerId, userId)
.one();
if(Objects.isNull(project)){
@ -142,6 +153,7 @@ public class ProjectServiceImpl implements IProjectService
map.put("projectIds",projectsBase64);
map.put("projectId",project.getProjectId());
map.put("projectName", project.getProjectName());
map.put("projectLevel",project.getLevel().equals("市级")? ProjectLevelConstant.LEVEL_CITY :ProjectLevelConstant.LEVEL_COUNTY);
return map;
}
@ -168,6 +180,31 @@ public class ProjectServiceImpl implements IProjectService
return sysDeptList;
}
@Override
public List<Project> selectAdminProjectList() {
Map<String, Object> rest = new HashMap<>();
//判断管理员级别
List<Project> projectList=new ArrayList<>();
//超级管理员
if(Objects.isNull(ProjectHolder.getProjectInfo().getProjectIdList())){
//查询所有一级项目列表
projectList = new LambdaQueryChainWrapper<>(projectMapper)
.select(Project::getProjectId, Project::getProjectName)
.isNull(Project::getParentId)
.list();
}
//市级/县级项目
else if(Objects.nonNull(ProjectHolder.getProjectInfo().getProjectIdList())){
//查询所有子一级项目列表
projectList = new LambdaQueryChainWrapper<>(projectMapper)
.select(Project::getProjectId, Project::getProjectName)
.in(Project::getParentId, ProjectHolder.getProjectInfo().getProjectIdList())
.list();
}
return projectList;
}
public List<Long> getAllProjects(Long projectId) {
List<Long> allProjects = new ArrayList<>();