设置全局scenario值
This commit is contained in:
parent
8d31f6fdd1
commit
a5b56ac249
|
|
@ -111,7 +111,6 @@ public class BattleRootTask extends AbtParentTask {
|
|||
@Override
|
||||
public void execTask() {
|
||||
log.info("===============================定时检查统计各种资源消耗量 begin====================================");
|
||||
|
||||
Long deathConsume = null;
|
||||
Long injuredConsume = null;
|
||||
Double ammunitionConsume = null;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.hivekion.statistic.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.hivekion.baseData.entity.Fightpowerstaff;
|
||||
import com.hivekion.baseData.entity.OrgSupplier;
|
||||
|
|
@ -17,6 +18,8 @@ import com.hivekion.supplier.entity.SupplierRequest;
|
|||
import com.hivekion.supplier.entity.SuppliesDict;
|
||||
import com.hivekion.supplier.service.ISupplierRequestService;
|
||||
import com.hivekion.supplier.service.SuppliesDictService;
|
||||
import com.hivekion.team.entity.Teaminfo;
|
||||
import com.hivekion.team.service.ITeaminfoService;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -43,11 +46,25 @@ public class ScenarioServiceImpl implements ScenarioService {
|
|||
private ScenarioTaskService scenarioTaskService;
|
||||
@Resource
|
||||
private ISupplierRequestService supplierRequestService;
|
||||
|
||||
@Resource
|
||||
private ITeaminfoService teamInfoService;
|
||||
|
||||
@Resource
|
||||
private ScenarioResourceService resourceService;
|
||||
@Override
|
||||
public ScenarioInfo listScenarioInfo(Integer scenarioId, String roomId, String resourceId) {
|
||||
ScenarioInfo scenarioInfo = new ScenarioInfo();
|
||||
//获取分队信息
|
||||
Map<Integer, Teaminfo> map = teamInfoService.teamInfoMap();
|
||||
Map<String, ScenarioResource> resourceMap = resourceService.resourceMap();
|
||||
ScenarioResource resourceInstance = scenarioResourceService.getById(resourceId);
|
||||
if (resourceMap.get(resourceId) != null) {
|
||||
ScenarioResource resource = resourceMap.get(resourceId);
|
||||
if (map.get(resource.getResourceId()) != null) {
|
||||
scenarioInfo.getTeam().setTeamName(map.get(resource.getResourceId()).getName());
|
||||
}
|
||||
}
|
||||
//获取关联的组织机构信息
|
||||
ScenarioOrgPost post = new ScenarioOrgPost();
|
||||
post.setResourceId(resourceId);
|
||||
|
|
@ -55,15 +72,16 @@ public class ScenarioServiceImpl implements ScenarioService {
|
|||
List<Integer> orgList = orgPostList.stream().map(ScenarioOrgPost::getOrgId)
|
||||
.collect(Collectors.toList());
|
||||
List<Fightpowerstaff> staffList = null;
|
||||
List<OrgSupplier> suppliers = null;
|
||||
if(!orgList.isEmpty()){
|
||||
staffList = fightpowerstaffService.queryByOrgIds(orgList);
|
||||
}else{
|
||||
if(CollectionUtil.isEmpty(staffList)){
|
||||
staffList = new ArrayList<>();
|
||||
}
|
||||
//获取物资信息
|
||||
List<OrgSupplier> suppliers = orgSupplierService.selectByOrgIds(orgList);
|
||||
suppliers = orgSupplierService.selectByOrgIds(orgList);
|
||||
if(suppliers==null||suppliers.isEmpty()){
|
||||
return new ScenarioInfo();
|
||||
suppliers = new ArrayList<>();
|
||||
}
|
||||
Map<String, SuppliesDict> supplierMap = suppliesDictService.supplierDictMap();
|
||||
|
||||
|
|
@ -99,6 +117,15 @@ public class ScenarioServiceImpl implements ScenarioService {
|
|||
}
|
||||
}
|
||||
});
|
||||
}else{
|
||||
staffList = new ArrayList<>();
|
||||
orgPostList = new ArrayList<>();
|
||||
suppliers = new ArrayList<>();
|
||||
}
|
||||
|
||||
scenarioInfo.getTeam().setType(resourceInstance.getType());
|
||||
scenarioInfo.getTeam().setLat(resourceInstance.getLat());
|
||||
scenarioInfo.getTeam().setLng(resourceInstance.getLng());
|
||||
|
||||
ScenarioTask scenarioTask = new ScenarioTask();
|
||||
scenarioTask.setScenarioId(scenarioId);
|
||||
|
|
@ -107,9 +134,13 @@ public class ScenarioServiceImpl implements ScenarioService {
|
|||
|
||||
|
||||
List<ScenarioTask> scenarioTasks = scenarioTaskService.queryTaskList(scenarioTask);
|
||||
|
||||
if(CollectionUtil.isEmpty(scenarioTasks)){
|
||||
scenarioTasks =new ArrayList<>();
|
||||
}
|
||||
List<SupplierRequest> supplierRequests = supplierRequestService.list(new QueryWrapper<SupplierRequest>().eq("FROM_RESOURCE_ID",resourceId));
|
||||
|
||||
if(CollectionUtil.isEmpty(supplierRequests)){
|
||||
supplierRequests =new ArrayList<>();
|
||||
}
|
||||
scenarioInfo.setScenarioTasks(scenarioTasks);
|
||||
scenarioInfo.setStaffList(staffList);
|
||||
scenarioInfo.setOrgPostList(orgPostList);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class WebsocketMsgWrapper {
|
|||
responseCmdInfo.setRoom(roomId);
|
||||
try {
|
||||
JSONObject msgObj = (JSONObject) JSON.parse(msg);
|
||||
if(msgObj.getString("cmdType").equals("scenarioInfo")){
|
||||
if(msgObj.getString("cmdType").equals("scenarioRunningInfo")){
|
||||
if( redisUtil == null) {
|
||||
redisUtil = SpringUtil.getBean(RedisUtil.class);
|
||||
}
|
||||
|
|
@ -52,8 +52,25 @@ public class WebsocketMsgWrapper {
|
|||
}
|
||||
}
|
||||
responseCmdInfo.setData(JSONArray.toJSONString(allScenario));
|
||||
responseCmdInfo.setCmdType("scenarioInfo");
|
||||
}
|
||||
if(msgObj.getString("cmdType").equals("scenarioInfo")){
|
||||
List<ScenarioResource> scenarioResourceList = this.scenarioResourceService.list(new QueryWrapper<ScenarioResource>().eq("scenario_id",scenarioId));
|
||||
ScenarioService scenarioService = SpringUtil.getBean(ScenarioService.class);
|
||||
if(scenarioService != null){
|
||||
JSONArray allScenario = new JSONArray();
|
||||
for(ScenarioResource scenarioResource : scenarioResourceList) {
|
||||
ScenarioInfo scenarioInfo = scenarioService.listScenarioInfo(scenarioResource.getScenarioId(), roomId, scenarioResource.getId());
|
||||
String scenarioInfoStr = com.alibaba.fastjson2.JSON.toJSONString(scenarioInfo);
|
||||
allScenario.add(scenarioInfoStr);
|
||||
}
|
||||
responseCmdInfo.setData(JSONArray.toJSONString(allScenario));
|
||||
}else {
|
||||
log.warn("=============scenarioService is null================================");
|
||||
}
|
||||
responseCmdInfo.setCmdType("scenarioInfo");
|
||||
}
|
||||
|
||||
Global.sendCmdInfoQueue.add(responseCmdInfo);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user