Compare commits

..

No commits in common. "b1d913698ddc1a200a84870931ec020a821fb069" and "4d5cc0489c88ca8ce07b368576471ec504a37ba7" have entirely different histories.

3 changed files with 105 additions and 139 deletions

View File

@ -111,6 +111,7 @@ public class BattleRootTask extends AbtParentTask {
@Override @Override
public void execTask() { public void execTask() {
log.info("===============================定时检查统计各种资源消耗量 begin===================================="); log.info("===============================定时检查统计各种资源消耗量 begin====================================");
Long deathConsume = null; Long deathConsume = null;
Long injuredConsume = null; Long injuredConsume = null;
Double ammunitionConsume = null; Double ammunitionConsume = null;

View File

@ -1,6 +1,5 @@
package com.hivekion.statistic.service.impl; package com.hivekion.statistic.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hivekion.baseData.entity.Fightpowerstaff; import com.hivekion.baseData.entity.Fightpowerstaff;
import com.hivekion.baseData.entity.OrgSupplier; import com.hivekion.baseData.entity.OrgSupplier;
@ -18,15 +17,12 @@ import com.hivekion.supplier.entity.SupplierRequest;
import com.hivekion.supplier.entity.SuppliesDict; import com.hivekion.supplier.entity.SuppliesDict;
import com.hivekion.supplier.service.ISupplierRequestService; import com.hivekion.supplier.service.ISupplierRequestService;
import com.hivekion.supplier.service.SuppliesDictService; 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;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
@Component("WebsocketScenarioService") @Component("WebsocketScenarioService")
public class ScenarioServiceImpl implements ScenarioService { public class ScenarioServiceImpl implements ScenarioService {
@ -47,24 +43,11 @@ public class ScenarioServiceImpl implements ScenarioService {
@Resource @Resource
private ISupplierRequestService supplierRequestService; private ISupplierRequestService supplierRequestService;
@Resource
private ITeaminfoService teamInfoService;
@Resource
private ScenarioResourceService resourceService;
@Override @Override
public ScenarioInfo listScenarioInfo(Integer scenarioId, String roomId, String resourceId) { public ScenarioInfo listScenarioInfo(Integer scenarioId, String roomId, String resourceId) {
ScenarioInfo scenarioInfo = new ScenarioInfo(); ScenarioInfo scenarioInfo = new ScenarioInfo();
//获取分队信息 //获取分队信息
Map<Integer, Teaminfo> map = teamInfoService.teamInfoMap();
Map<String, ScenarioResource> resourceMap = resourceService.resourceMap();
ScenarioResource resourceInstance = scenarioResourceService.getById(resourceId); 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(); ScenarioOrgPost post = new ScenarioOrgPost();
post.setResourceId(resourceId); post.setResourceId(resourceId);
@ -72,16 +55,18 @@ public class ScenarioServiceImpl implements ScenarioService {
List<Integer> orgList = orgPostList.stream().map(ScenarioOrgPost::getOrgId) List<Integer> orgList = orgPostList.stream().map(ScenarioOrgPost::getOrgId)
.collect(Collectors.toList()); .collect(Collectors.toList());
List<Fightpowerstaff> staffList = null; List<Fightpowerstaff> staffList = null;
List<OrgSupplier> suppliers = null;
if (!orgList.isEmpty()) { if (!orgList.isEmpty()) {
staffList = fightpowerstaffService.queryByOrgIds(orgList); staffList = fightpowerstaffService.queryByOrgIds(orgList);
if(CollectionUtil.isEmpty(staffList)){ } else {
staffList = new ArrayList<>(); staffList = new ArrayList<>();
} }
if (orgList.isEmpty()) {
return new ScenarioInfo();
}
//获取物资信息 //获取物资信息
suppliers = orgSupplierService.selectByOrgIds(orgList); List<OrgSupplier> suppliers = orgSupplierService.selectByOrgIds(orgList);
if (suppliers == null || suppliers.isEmpty()) { if (suppliers == null || suppliers.isEmpty()) {
suppliers = new ArrayList<>(); return new ScenarioInfo();
} }
Map<String, SuppliesDict> supplierMap = suppliesDictService.supplierDictMap(); Map<String, SuppliesDict> supplierMap = suppliesDictService.supplierDictMap();
@ -92,55 +77,52 @@ public class ScenarioServiceImpl implements ScenarioService {
if (dict != null) { if (dict != null) {
switch (dict.getCode()) { switch (dict.getCode()) {
case "FOOD": case "FOOD":
scenarioInfo.getFood().setTotal(scenarioInfo.getFood().getTotal()+supplier.getAccount()); scenarioInfo.getFood()
scenarioInfo.getFood().setCurrent(scenarioInfo.getFood().getCurrent()+supplier.getAccount()); .setTotal(scenarioInfo.getFood().getTotal() + supplier.getAccount());
scenarioInfo.getFood()
.setCurrent(scenarioInfo.getFood().getCurrent() + supplier.getAccount());
break; break;
case "WATER": case "WATER":
scenarioInfo.getWater().setTotal(scenarioInfo.getWater().getTotal()+supplier.getAccount()); scenarioInfo.getWater()
scenarioInfo.getWater().setCurrent(scenarioInfo.getWater().getCurrent()+supplier.getAccount()); .setTotal(scenarioInfo.getWater().getTotal() + supplier.getAccount());
scenarioInfo.getWater()
.setCurrent(scenarioInfo.getWater().getCurrent() + supplier.getAccount());
break; break;
case "FUEL": case "FUEL":
scenarioInfo.getFuel().setTotal(scenarioInfo.getFuel().getTotal()+supplier.getAccount()); scenarioInfo.getFuel()
scenarioInfo.getFuel().setCurrent(scenarioInfo.getFuel().getCurrent()+supplier.getAccount()); .setTotal(scenarioInfo.getFuel().getTotal() + supplier.getAccount());
scenarioInfo.getFuel()
.setCurrent(scenarioInfo.getFuel().getCurrent() + supplier.getAccount());
break; break;
case "MEDICAL": case "MEDICAL":
scenarioInfo.getMedical().setTotal( scenarioInfo.getMedical().getTotal()+supplier.getAccount()); scenarioInfo.getMedical()
scenarioInfo.getMedical().setCurrent( scenarioInfo.getMedical().getCurrent()+supplier.getAccount()); .setTotal(scenarioInfo.getMedical().getTotal() + supplier.getAccount());
scenarioInfo.getMedical()
.setCurrent(scenarioInfo.getMedical().getCurrent() + supplier.getAccount());
break; break;
case "AMMUNITION": case "AMMUNITION":
scenarioInfo.getAmmunition().setTotal( scenarioInfo.getAmmunition().getTotal()+supplier.getAccount()); scenarioInfo.getAmmunition()
scenarioInfo.getAmmunition().setCurrent(scenarioInfo.getAmmunition().getCurrent()+supplier.getAccount()); .setTotal(scenarioInfo.getAmmunition().getTotal() + supplier.getAccount());
scenarioInfo.getAmmunition()
.setCurrent(scenarioInfo.getAmmunition().getCurrent() + supplier.getAccount());
break; break;
default: default:
break; break;
} }
} }
}); });
}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 scenarioTask = new ScenarioTask();
scenarioTask.setScenarioId(scenarioId); scenarioTask.setScenarioId(scenarioId);
scenarioTask.setRoomId(roomId); scenarioTask.setRoomId(roomId);
scenarioTask.setResourceId(resourceId); scenarioTask.setResourceId(resourceId);
List<ScenarioTask> scenarioTasks = scenarioTaskService.queryTaskList(scenarioTask); 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));
List<SupplierRequest> supplierRequests = supplierRequestService.list(new QueryWrapper<SupplierRequest>().eq("FROM_RESOURCE_ID",resourceId));
if(CollectionUtil.isEmpty(supplierRequests)){
supplierRequests =new ArrayList<>();
}
scenarioInfo.setScenarioTasks(scenarioTasks); scenarioInfo.setScenarioTasks(scenarioTasks);
scenarioInfo.setStaffList(staffList); scenarioInfo.setStaffList(staffList);
scenarioInfo.setOrgPostList(orgPostList); scenarioInfo.setOrgPostList(orgPostList);

View File

@ -39,7 +39,7 @@ public class WebsocketMsgWrapper {
responseCmdInfo.setRoom(roomId); responseCmdInfo.setRoom(roomId);
try { try {
JSONObject msgObj = (JSONObject) JSON.parse(msg); JSONObject msgObj = (JSONObject) JSON.parse(msg);
if(msgObj.getString("cmdType").equals("scenarioRunningInfo")){ if(msgObj.getString("cmdType").equals("scenarioInfo")){
if( redisUtil == null) { if( redisUtil == null) {
redisUtil = SpringUtil.getBean(RedisUtil.class); redisUtil = SpringUtil.getBean(RedisUtil.class);
} }
@ -52,25 +52,8 @@ public class WebsocketMsgWrapper {
} }
} }
responseCmdInfo.setData(JSONArray.toJSONString(allScenario)); 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"); responseCmdInfo.setCmdType("scenarioInfo");
}
Global.sendCmdInfoQueue.add(responseCmdInfo); Global.sendCmdInfoQueue.add(responseCmdInfo);
}catch (Exception ex){ }catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();