DictEvidenceServiceImpl.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.fdkankan.manage.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.fdkankan.manage.common.EvidenceEnum;
  4. import com.fdkankan.manage.entity.DictEvidence;
  5. import com.fdkankan.manage.mapper.IDictEvidenceMapper;
  6. import com.fdkankan.manage.service.IDictEvidenceService;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import com.fdkankan.manage.vo.response.DictEvidenceVoList;
  9. import org.springframework.stereotype.Service;
  10. import java.util.ArrayList;
  11. import java.util.HashMap;
  12. import java.util.List;
  13. /**
  14. * <p>
  15. * 服务实现类
  16. * </p>
  17. *
  18. * @author
  19. * @since 2025-12-22
  20. */
  21. @Service
  22. public class DictEvidenceServiceImpl extends ServiceImpl<IDictEvidenceMapper, DictEvidence> implements IDictEvidenceService {
  23. @Override
  24. public HashMap<String, List<DictEvidence>> getMapByResourceId(List<Integer> resourceIds) {
  25. HashMap<String, List<DictEvidence>> map = new HashMap<>();
  26. HashMap<String, List<DictEvidence>> childrenMap = new HashMap<>();
  27. if(resourceIds == null || resourceIds.isEmpty()){
  28. return map;
  29. }
  30. LambdaQueryWrapper<DictEvidence> wrapper = new LambdaQueryWrapper<>();
  31. wrapper.in(DictEvidence::getResourceId,resourceIds);
  32. List<DictEvidence> list = this.list(wrapper);
  33. for (DictEvidence dictEvidence : list) {
  34. if(dictEvidence.getUseType().equals("children")){
  35. childrenMap.computeIfAbsent(dictEvidence.getEvidenceType(), k -> new ArrayList<>());
  36. childrenMap.get(dictEvidence.getEvidenceType()).add(dictEvidence);
  37. continue;
  38. }
  39. map.computeIfAbsent(dictEvidence.getResourceId() + dictEvidence.getUseType(), k -> new ArrayList<>());
  40. map.get(dictEvidence.getResourceId() + dictEvidence.getUseType()).add(dictEvidence);
  41. }
  42. for (DictEvidence dictEvidence : list) {
  43. EvidenceEnum evidenceEnum = EvidenceEnum.getEvidenceEnum(dictEvidence.getResourceId());
  44. if(evidenceEnum.getType() == 10){
  45. dictEvidence.setSpeciesChildren(new DictEvidenceVoList(evidenceEnum.toString(),evidenceEnum.getSpeciesName(),childrenMap.get(dictEvidence.getSpeciesKey())));
  46. dictEvidence.setStandardChildren(new DictEvidenceVoList(evidenceEnum.toString(),evidenceEnum.getStandardName(),childrenMap.get(dictEvidence.getStandardKey())));
  47. }
  48. }
  49. return map;
  50. }
  51. }