package com.hivekion.scenario.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hivekion.baseData.domain.TblEntity;
import com.hivekion.baseData.service.ITblEntityService;
import com.hivekion.icon.service.IconService;
import com.hivekion.scenario.entity.ScenarioResource;
import com.hivekion.scenario.mapper.ScenarioResourceMapper;
import com.hivekion.scenario.service.ScenarioResourceService;
import com.hivekion.team.entity.Teaminfo;
import com.hivekion.team.service.ITeaminfoService;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
*
* 想定资源表 服务实现类
*
*
* @author liDongYu
* @since 2025-09-09
*/
@Service
public class ScenarioResourceServiceImpl extends
ServiceImpl implements
ScenarioResourceService {
@Resource
private IconService iconService;
@Resource
private ITblEntityService iTblEntityService;
@Resource
private ITeaminfoService teamInfoService;
@Override
public List getResourceList(ScenarioResource resource) {
//图标Map
Map iconMap = iconService.iconMap();
//装备Map
Map entityMap = iTblEntityService.entityMap();
//分队Map
Map teamInfoMap = teamInfoService.teamInfoMap();
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("scenario_id", resource.getScenarioId());
if (resource.getType() != null) {
queryWrapper.eq("type", resource.getType());
}
List scenarioResourceList = baseMapper.selectList(queryWrapper);
//设置图标信息
for (ScenarioResource scenarioResource : scenarioResourceList) {
switch (scenarioResource.getResourceType()) {
case 1:
case 2:
case 3:
case 4:
if (entityMap.get(scenarioResource.getResourceId()) != null) {
TblEntity entity = entityMap.get(scenarioResource.getResourceId());
scenarioResource.setTitle(entity.getEntityName());
scenarioResource.setImgBase64(
iconMap.get(entity.getIconId()) == null ? "" : iconMap.get(entity.getIconId()));
}
break;
case 5:
case 6:
if (teamInfoMap.get(scenarioResource.getResourceId()) != null) {
Teaminfo teaminfo = teamInfoMap.get(scenarioResource.getResourceId());
scenarioResource.setTitle(teaminfo.getName());
scenarioResource.setImgBase64(
iconMap.get(teaminfo.getIconId()) == null ? "" : iconMap.get(teaminfo.getIconId()));
}
break;
}
}
return scenarioResourceList;
}
}