| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- package com.takai.system.service.impl;
- import com.takai.common.core.domain.entity.SysUser;
- import com.takai.common.enums.AppTypeEnum;
- import com.takai.common.enums.ProjectTypeEnum;
- import com.takai.common.utils.DateUtils;
- import com.takai.common.utils.SecurityUtils;
- import com.takai.common.utils.SnowflakeDigitGenerator;
- import com.takai.common.utils.StringUtils;
- import com.takai.system.domain.ProjectApplication;
- import com.takai.system.domain.SysProject;
- import com.takai.system.domain.SysProjectApp;
- import com.takai.system.domain.SysProjectStaff;
- import com.takai.system.mapper.SysProjectAppMapper;
- import com.takai.system.mapper.SysProjectMapper;
- import com.takai.system.mapper.SysProjectStaffMapper;
- import com.takai.system.service.ISysProjectService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.*;
- import java.util.stream.Collectors;
- /**
- * 【请填写功能名称】Service业务层处理
- *
- * @author takai
- * @date 2025-05-28
- */
- @Slf4j
- @Service
- public class SysProjectServiceImpl implements ISysProjectService
- {
- @Autowired
- private SysProjectMapper sysProjectMapper;
- @Autowired
- private SysProjectAppMapper sysProjectAppMapper;
- @Autowired
- private SysProjectStaffMapper sysProjectStaffMapper;
- /**
- * 查询【请填写功能名称】
- *
- * @param projectId 【请填写功能名称】主键
- * @return 【请填写功能名称】
- */
- @Override
- public SysProject selectSysProjectByProjectId(String projectId)
- {
- SysProject vo = sysProjectMapper.selectSysProjectByProjectId(projectId);
- if(vo!= null){
- SysProjectApp params = new SysProjectApp();
- params.setProjectId(projectId);
- List<SysProjectApp> sysProjectApps = sysProjectAppMapper.selectSysProjectAppList(params);
- List<String> appIds = new ArrayList<>();
- for (SysProjectApp sysProjectApp : sysProjectApps){
- appIds.add(sysProjectApp.getAppId());
- }
- vo.setAppId(appIds.toArray(new String[appIds.size()]));
- }
- return vo;
- }
- /**
- * 查询【请填写功能名称】
- *
- * @param projectPid 【请填写功能名称】主键
- * @return 【请填写功能名称】
- */
- @Override
- public SysProject selectSysProjectByProjectPid(String projectPid)
- {
- return sysProjectMapper.selectSysProjectByProjectPid(projectPid);
- }
- /**
- * 查询【请填写功能名称】列表
- *
- * @param sysProject 【请填写功能名称】
- * @return 【请填写功能名称】
- */
- @Override
- public List<SysProject> selectSysProjectList(SysProject sysProject)
- {
- //管理员 获取所有项目
- log.info("selectSysProjectList:SecurityUtils.getLoginUser()",SecurityUtils.getLoginUser());
- SysUser loginUser = SecurityUtils.getLoginUser().getUser();
- Map<String,Object> userParams = new HashMap<>();
- userParams.put("userId",loginUser.getUserId());
- log.info("selectSysProjectList:userId",loginUser.getUserId());
- if(loginUser.getRoles().stream().anyMatch(role -> role.getRoleId() == 1)) {
- log.info("selectSysProjectList:isAdmin",true);
- userParams.put("isAdmin", true);
- } else {
- log.info("selectSysProjectList:isAdmin",false);
- userParams.put("isAdmin", false);
- }
- if(sysProject == null){
- sysProject = new SysProject();
- }
- sysProject.setParams(userParams);
- List<SysProject> list = sysProjectMapper.selectSysProjectList(sysProject);
- for (SysProject sysProjects : list){
- if(sysProjects.getSourceFrom() != null) {
- if(ProjectTypeEnum.HJL.getClientId().equals(sysProjects.getSourceFrom())) {
- sysProjects.setSourceFromName(ProjectTypeEnum.HJL.getInfo());
- } else if (ProjectTypeEnum.HXG.getClientId().equals(sysProjects.getSourceFrom())) {
- sysProjects.setSourceFromName(ProjectTypeEnum.HXG.getInfo());
- }
- }
- SysProjectApp params = new SysProjectApp();
- params.setProjectId(String.valueOf(sysProjects.getProjectId()));
- List<ProjectApplication> sysProjectApps = sysProjectAppMapper.selectSysProjectApplicationList(params);
- List<String> names = new ArrayList<>();
- for (ProjectApplication sysProjectApp : sysProjectApps){
- if(sysProjectApp != null) {
- names.add(sysProjectApp.getAppName());
- }
- }
- sysProjects.setName(names.toArray(new String[names.size()]));
- sysProjects.setApplications(sysProjectApps);
- }
- return list;
- }
- /**
- * 新增【请填写功能名称】
- *
- * @param sysProject 【请填写功能名称】
- * @return 结果
- */
- @Override
- public int insertSysProject(SysProject sysProject)
- {
- if(StringUtils.isEmpty(sysProject.getProjectPid())) {
- SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
- long projectPId = snowflakeDigitGenerator.nextId();
- sysProject.setProjectPid(String.valueOf(projectPId));
- }
- sysProject.setCreateTime(DateUtils.getNowDate());
- int i = sysProjectMapper.insertSysProject(sysProject);
- if(i > 0 && sysProject.getAppId() != null){
- for (String appId : sysProject.getAppId()){
- SysProjectApp sysProjectApp = new SysProjectApp();
- sysProjectApp.setProjectId(String.valueOf(sysProject.getProjectId()));
- sysProjectApp.setAppId(appId);
- sysProjectAppMapper.insertSysProjectApp(sysProjectApp);
- }
- }
- return i;
- }
- /**
- * 修改【请填写功能名称】
- *
- * @param sysProject 【请填写功能名称】
- * @return 结果
- */
- @Override
- public int updateSysProject(SysProject sysProject)
- {
- sysProject.setUpdateTime(DateUtils.getNowDate());
- int i = sysProjectMapper.updateSysProject(sysProject);
- if(i > 0){
- int successI = sysProjectAppMapper.deleteSysProjectAppByProjectId(String.valueOf(sysProject.getProjectId()));
- if(successI > 0){
- for (String appId : sysProject.getAppId()){
- SysProjectApp sysProjectApp = new SysProjectApp();
- sysProjectApp.setProjectId(String.valueOf(sysProject.getProjectId()));
- sysProjectApp.setAppId(appId);
- sysProjectAppMapper.insertSysProjectApp(sysProjectApp);
- }
- }
- }
- return i;
- }
- /**
- * 批量删除【请填写功能名称】
- *
- * @param projectIds 需要删除的【请填写功能名称】主键
- * @return 结果
- */
- @Override
- public int deleteSysProjectByProjectIds(String[] projectIds)
- {
- List<SysProject> projects = new ArrayList<>();
- for(String projectId:projectIds) {
- SysProject sysProject = sysProjectMapper.selectSysProjectByProjectId(projectId);
- projects.add(sysProject);
- }
- List<String> projectPids = projects.stream()
- .filter(Objects::nonNull)
- .map(SysProject::getProjectPid)
- .collect(Collectors.toList());
- int i = sysProjectMapper.deleteSysProjectByProjectIds(projectIds);
- if(i > 0){
- sysProjectAppMapper.deleteSysProjectAppByProjectIds(projectIds);
- sysProjectStaffMapper.deleteSysProjectStaffByProjectPids(projectPids);
- }
- return i;
- }
- /**
- * 删除【请填写功能名称】信息
- *
- * @param projectId 【请填写功能名称】主键
- * @return 结果
- */
- @Override
- public int deleteSysProjectByProjectId(String projectId, String appId)
- {
- return sysProjectMapper.deleteSysProjectByProjectId(projectId);
- }
- }
|