82 lines
2.8 KiB
Java
82 lines
2.8 KiB
Java
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;
|
|
|
|
/**
|
|
* <p>
|
|
* 想定资源表 服务实现类
|
|
* </p>
|
|
*
|
|
* @author liDongYu
|
|
* @since 2025-09-09
|
|
*/
|
|
@Service
|
|
public class ScenarioResourceServiceImpl extends
|
|
ServiceImpl<ScenarioResourceMapper, ScenarioResource> implements
|
|
ScenarioResourceService {
|
|
|
|
@Resource
|
|
private IconService iconService;
|
|
@Resource
|
|
private ITblEntityService iTblEntityService;
|
|
@Resource
|
|
private ITeaminfoService teamInfoService;
|
|
|
|
@Override
|
|
public List<ScenarioResource> getResourceList(ScenarioResource resource) {
|
|
//图标Map
|
|
Map<String, String> iconMap = iconService.iconMap();
|
|
//装备Map
|
|
Map<Integer, TblEntity> entityMap = iTblEntityService.entityMap();
|
|
//分队Map
|
|
Map<Integer, Teaminfo> teamInfoMap = teamInfoService.teamInfoMap();
|
|
QueryWrapper<ScenarioResource> queryWrapper = new QueryWrapper<>();
|
|
queryWrapper.eq("scenario_id", resource.getScenarioId());
|
|
if (resource.getType() != null) {
|
|
queryWrapper.eq("type", resource.getType());
|
|
}
|
|
List<ScenarioResource> 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;
|
|
}
|
|
|
|
|
|
}
|