package com.fdkankan.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.manage.common.EvidenceEnum; import com.fdkankan.manage.entity.DictEvidence; import com.fdkankan.manage.mapper.IDictEvidenceMapper; import com.fdkankan.manage.service.IDictEvidenceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.vo.response.DictEvidenceVoList; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /** *

* 服务实现类 *

* * @author * @since 2025-12-22 */ @Service public class DictEvidenceServiceImpl extends ServiceImpl implements IDictEvidenceService { @Override public HashMap> getMapByResourceId(List resourceIds) { HashMap> map = new HashMap<>(); HashMap> childrenMap = new HashMap<>(); if(resourceIds == null || resourceIds.isEmpty()){ return map; } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(DictEvidence::getResourceId,resourceIds); List list = this.list(wrapper); for (DictEvidence dictEvidence : list) { if(dictEvidence.getUseType().equals("children")){ childrenMap.computeIfAbsent(dictEvidence.getEvidenceType(), k -> new ArrayList<>()); childrenMap.get(dictEvidence.getEvidenceType()).add(dictEvidence); continue; } map.computeIfAbsent(dictEvidence.getResourceId() + dictEvidence.getUseType(), k -> new ArrayList<>()); map.get(dictEvidence.getResourceId() + dictEvidence.getUseType()).add(dictEvidence); } for (DictEvidence dictEvidence : list) { EvidenceEnum evidenceEnum = EvidenceEnum.getEvidenceEnum(dictEvidence.getResourceId()); if(evidenceEnum.getType() == 10){ dictEvidence.setSpeciesChildren(new DictEvidenceVoList(evidenceEnum.toString(),evidenceEnum.getSpeciesName(),childrenMap.get(dictEvidence.getSpeciesKey()))); dictEvidence.setStandardChildren(new DictEvidenceVoList(evidenceEnum.toString(),evidenceEnum.getStandardName(),childrenMap.get(dictEvidence.getStandardKey()))); } } return map; } }