Compare commits
No commits in common. "b1d913698ddc1a200a84870931ec020a821fb069" and "4d5cc0489c88ca8ce07b368576471ec504a37ba7" have entirely different histories.
b1d913698d
...
4d5cc0489c
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user