123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package com.fdkankan.site.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.fdkankan.site.common.util.JwtUtil;
- import com.fdkankan.site.entity.ProjectNum;
- import com.fdkankan.site.entity.ProjectTeam;
- import com.fdkankan.site.mapper.IProjectNumMapper;
- import com.fdkankan.site.request.AppGetSceneInfoParam;
- import com.fdkankan.site.service.IProjectLogService;
- import com.fdkankan.site.service.IProjectNumService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.site.service.IProjectTeamService;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.ibatis.annotations.Param;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Set;
- import java.util.stream.Collectors;
- import java.util.stream.Stream;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author
- * @since 2022-10-10
- */
- @Service
- public class ProjectNumServiceImpl extends ServiceImpl<IProjectNumMapper, ProjectNum> implements IProjectNumService {
- @Autowired
- IProjectTeamService projectTeamService;
- @Autowired
- IProjectLogService projectLogService;
- @Override
- public List<ProjectNum> getListByProjectIds(Set<Integer> projectIds) {
- if(projectIds == null || projectIds.size() <=0){
- return new ArrayList<>();
- }
- LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
- wrapper.in(ProjectNum::getProjectId,projectIds);
- return this.list(wrapper);
- }
- @Override
- public HashMap<Integer, List<String>> getTypeMap(List<ProjectNum> projectNums) {
- HashMap<Integer,List<String>> typeMap = new HashMap<>();
- for (ProjectNum projectNum : projectNums) {
- List<String> numList ;
- if(typeMap.get(projectNum.getType()) == null){
- numList = new ArrayList<>();
- }else {
- numList = typeMap.get(projectNum.getType());
- }
- numList.add(projectNum.getNum());
- typeMap.put(projectNum.getType(),numList);
- }
- return typeMap;
- }
- @Override
- public void delByNumList(Integer projectId, List<String> delNumList) {
- if(delNumList.size() >0){
- LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ProjectNum::getProjectId,projectId);
- wrapper.in(ProjectNum::getNum,delNumList);
- this.remove(wrapper);
- }
- }
- @Override
- public void addByNumList(Integer projectId, HashMap<String, Integer> numType, List<String> addNumList) {
- List<ProjectNum> list = new ArrayList<>();
- for (String num : addNumList) {
- ProjectNum projectNum = new ProjectNum();
- projectNum.setProjectId(projectId.toString());
- projectNum.setNum(num);
- projectNum.setType(numType.get(num));
- list.add(projectNum);
- }
- if(list.size() >0){
- this.saveBatch(list);
- }
- }
- @Override
- public List<ProjectNum> getByNumList(List<String> numList) {
- if(numList.size() >0 ){
- LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
- wrapper.in(ProjectNum::getNum,numList);
- return this.list(wrapper);
- }
- return new ArrayList<>();
- }
- @Override
- public void updateProjectScene(AppGetSceneInfoParam param) {
- if(param.getNumList().size() >0 ){
- LambdaUpdateWrapper<ProjectNum> wrapper = new LambdaUpdateWrapper<>();
- wrapper.in(ProjectNum::getNum,param.getNumList());
- if(param.getEditableFlag()!= null){
- wrapper.set(ProjectNum::getEditableFlag,param.getEditableFlag());
- }
- if(StringUtils.isNotBlank(param.getParentScene())){
- wrapper.set(ProjectNum::getParentScene,param.getParentScene());
- }
- this.update(wrapper);
- }
- }
- @Override
- public Set<String> getNumList() {
- List<ProjectNum> list = this.list();
- return list.stream().map(ProjectNum::getNum).collect(Collectors.toSet());
- }
- @Override
- public void delByProjectId(Integer projectId,String token) {
- LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ProjectNum::getProjectId,projectId);
- List<ProjectNum> list = this.list(wrapper);
- if(list.size() <=0){
- return;
- }
- List<String> numList = list.stream().map(ProjectNum::getNum).collect(Collectors.toList());
- this.remove(wrapper);
- projectLogService.addLog(projectId,"プロジェクト削除->シーン削除:",token,numList);
- }
- @Override
- public List<ProjectNum> getByNum(String num) {
- LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ProjectNum::getNum,num);
- return this.list(wrapper);
- }
- @Override
- public ProjectNum getByNumAndProjectId(String num, Integer projectId) {
- LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ProjectNum::getNum,num);
- wrapper.eq(ProjectNum::getProjectId,projectId);
- return this.getOne(wrapper);
- }
- }
|