110 lines
4.2 KiB
Java
110 lines
4.2 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.IResourceService;
|
|
import com.hivekion.scenario.service.ScenarioResourceService;
|
|
import com.hivekion.team.entity.Teaminfo;
|
|
import com.hivekion.team.service.ITeaminfoService;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
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;
|
|
|
|
@Resource
|
|
private IResourceService resourceService;
|
|
|
|
@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();
|
|
Map<Integer,com.hivekion.scenario.entity.Resource> hResourceMap = resourceService.listBuildResourceByType(7);
|
|
Map<Integer,com.hivekion.scenario.entity.Resource> wResourceMap = resourceService.listBuildResourceByType(8);
|
|
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;
|
|
case 7:
|
|
if(hResourceMap.get(scenarioResource.getResourceId()) != null){
|
|
com.hivekion.scenario.entity.Resource resource1 = hResourceMap.get(scenarioResource.getResourceId());
|
|
scenarioResource.setTitle(resource1.getResourceName());
|
|
scenarioResource.setImgBase64(
|
|
iconMap.get(resource1.getIcon()) == null ? "" : iconMap.get(resource1.getIcon()));
|
|
}
|
|
break;
|
|
case 8:
|
|
if(wResourceMap.get(scenarioResource.getResourceId()) != null){
|
|
com.hivekion.scenario.entity.Resource resource1 = wResourceMap.get(scenarioResource.getResourceId());
|
|
scenarioResource.setTitle(resource1.getResourceName());
|
|
scenarioResource.setImgBase64(
|
|
iconMap.get(resource1.getIcon()) == null ? "" : iconMap.get(resource1.getIcon()));
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
return scenarioResourceList;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, ScenarioResource> resourceMap() {
|
|
|
|
return this.list().stream().collect(Collectors.toMap(ScenarioResource::getId, r -> r));
|
|
}
|
|
}
|