ProjectNumServiceImpl.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package com.fdkankan.site.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  4. import com.fdkankan.site.common.util.JwtUtil;
  5. import com.fdkankan.site.entity.ProjectNum;
  6. import com.fdkankan.site.entity.ProjectTeam;
  7. import com.fdkankan.site.mapper.IProjectNumMapper;
  8. import com.fdkankan.site.request.AppGetSceneInfoParam;
  9. import com.fdkankan.site.service.IProjectLogService;
  10. import com.fdkankan.site.service.IProjectNumService;
  11. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  12. import com.fdkankan.site.service.IProjectTeamService;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.apache.ibatis.annotations.Param;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.util.ArrayList;
  18. import java.util.HashMap;
  19. import java.util.List;
  20. import java.util.Set;
  21. import java.util.stream.Collectors;
  22. import java.util.stream.Stream;
  23. /**
  24. * <p>
  25. * 服务实现类
  26. * </p>
  27. *
  28. * @author
  29. * @since 2022-10-10
  30. */
  31. @Service
  32. public class ProjectNumServiceImpl extends ServiceImpl<IProjectNumMapper, ProjectNum> implements IProjectNumService {
  33. @Autowired
  34. IProjectTeamService projectTeamService;
  35. @Autowired
  36. IProjectLogService projectLogService;
  37. @Override
  38. public List<ProjectNum> getListByProjectIds(Set<Integer> projectIds) {
  39. if(projectIds == null || projectIds.size() <=0){
  40. return new ArrayList<>();
  41. }
  42. LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
  43. wrapper.in(ProjectNum::getProjectId,projectIds);
  44. return this.list(wrapper);
  45. }
  46. @Override
  47. public HashMap<Integer, List<String>> getTypeMap(List<ProjectNum> projectNums) {
  48. HashMap<Integer,List<String>> typeMap = new HashMap<>();
  49. for (ProjectNum projectNum : projectNums) {
  50. List<String> numList ;
  51. if(typeMap.get(projectNum.getType()) == null){
  52. numList = new ArrayList<>();
  53. }else {
  54. numList = typeMap.get(projectNum.getType());
  55. }
  56. numList.add(projectNum.getNum());
  57. typeMap.put(projectNum.getType(),numList);
  58. }
  59. return typeMap;
  60. }
  61. @Override
  62. public void delByNumList(Integer projectId, List<String> delNumList) {
  63. if(delNumList.size() >0){
  64. LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
  65. wrapper.eq(ProjectNum::getProjectId,projectId);
  66. wrapper.in(ProjectNum::getNum,delNumList);
  67. this.remove(wrapper);
  68. }
  69. }
  70. @Override
  71. public void addByNumList(Integer projectId, HashMap<String, Integer> numType, List<String> addNumList) {
  72. List<ProjectNum> list = new ArrayList<>();
  73. for (String num : addNumList) {
  74. ProjectNum projectNum = new ProjectNum();
  75. projectNum.setProjectId(projectId.toString());
  76. projectNum.setNum(num);
  77. projectNum.setType(numType.get(num));
  78. list.add(projectNum);
  79. }
  80. if(list.size() >0){
  81. this.saveBatch(list);
  82. }
  83. }
  84. @Override
  85. public List<ProjectNum> getByNumList(List<String> numList) {
  86. if(numList.size() >0 ){
  87. LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
  88. wrapper.in(ProjectNum::getNum,numList);
  89. return this.list(wrapper);
  90. }
  91. return new ArrayList<>();
  92. }
  93. @Override
  94. public void updateProjectScene(AppGetSceneInfoParam param) {
  95. if(param.getNumList().size() >0 ){
  96. LambdaUpdateWrapper<ProjectNum> wrapper = new LambdaUpdateWrapper<>();
  97. wrapper.in(ProjectNum::getNum,param.getNumList());
  98. if(param.getEditableFlag()!= null){
  99. wrapper.set(ProjectNum::getEditableFlag,param.getEditableFlag());
  100. }
  101. if(StringUtils.isNotBlank(param.getParentScene())){
  102. wrapper.set(ProjectNum::getParentScene,param.getParentScene());
  103. }
  104. this.update(wrapper);
  105. }
  106. }
  107. @Override
  108. public Set<String> getNumList() {
  109. List<ProjectNum> list = this.list();
  110. return list.stream().map(ProjectNum::getNum).collect(Collectors.toSet());
  111. }
  112. @Override
  113. public void delByProjectId(Integer projectId,String token) {
  114. LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
  115. wrapper.eq(ProjectNum::getProjectId,projectId);
  116. List<ProjectNum> list = this.list(wrapper);
  117. if(list.size() <=0){
  118. return;
  119. }
  120. List<String> numList = list.stream().map(ProjectNum::getNum).collect(Collectors.toList());
  121. this.remove(wrapper);
  122. projectLogService.addLog(projectId,"プロジェクト削除->シーン削除:",token,numList);
  123. }
  124. @Override
  125. public List<ProjectNum> getByNum(String num) {
  126. LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
  127. wrapper.eq(ProjectNum::getNum,num);
  128. return this.list(wrapper);
  129. }
  130. @Override
  131. public ProjectNum getByNumAndProjectId(String num, Integer projectId) {
  132. LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
  133. wrapper.eq(ProjectNum::getNum,num);
  134. wrapper.eq(ProjectNum::getProjectId,projectId);
  135. return this.getOne(wrapper);
  136. }
  137. }