Merge branch 'main' of http://git.hivekion.com:3000/liyudong/simulation-backend
This commit is contained in:
commit
577f639d60
|
|
@ -1,5 +1,6 @@
|
||||||
package com.hivekion.baseData.controller;
|
package com.hivekion.baseData.controller;
|
||||||
|
|
||||||
|
import com.hivekion.baseData.domain.TblWeaponVo.TblWeaponModelVo;
|
||||||
import com.hivekion.baseData.domain.tblvehicleVo.VehicleAddInputVo;
|
import com.hivekion.baseData.domain.tblvehicleVo.VehicleAddInputVo;
|
||||||
import com.hivekion.baseData.entity.WeatherResource;
|
import com.hivekion.baseData.entity.WeatherResource;
|
||||||
import com.hivekion.baseData.service.IWeatherResourceService;
|
import com.hivekion.baseData.service.IWeatherResourceService;
|
||||||
|
|
@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.io.Serializable;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -37,12 +39,21 @@ public class WeatherResourceController extends BaseController{
|
||||||
@ApiOperation(value = "新增天气信息", notes = "")
|
@ApiOperation(value = "新增天气信息", notes = "")
|
||||||
@AutoLog(value = "新增天气信息", operationType = OperationTypeEnum.INSERT, module = "基础数据/新增车辆信息")
|
@AutoLog(value = "新增天气信息", operationType = OperationTypeEnum.INSERT, module = "基础数据/新增车辆信息")
|
||||||
public boolean add(@RequestBody WeatherResource inputVo) throws Exception {
|
public boolean add(@RequestBody WeatherResource inputVo) throws Exception {
|
||||||
|
if(inputVo.getId() == null) {
|
||||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
LocalDateTime begDate = LocalDateTime.parse(inputVo.getLastBegTimeStr(), dtf);
|
LocalDateTime begDate = LocalDateTime.parse(inputVo.getLastBegTimeStr(), dtf);
|
||||||
LocalDateTime endDate = LocalDateTime.parse(inputVo.getLastEndTimeStr(), dtf);
|
LocalDateTime endDate = LocalDateTime.parse(inputVo.getLastEndTimeStr(), dtf);
|
||||||
inputVo.setLastBegTime(begDate);
|
inputVo.setLastBegTime(begDate);
|
||||||
inputVo.setLastEndTime(endDate);
|
inputVo.setLastEndTime(endDate);
|
||||||
return weatherResourceService.save(inputVo);
|
return weatherResourceService.save(inputVo);
|
||||||
|
}else{
|
||||||
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
LocalDateTime begDate = LocalDateTime.parse(inputVo.getLastBegTimeStr(), dtf);
|
||||||
|
LocalDateTime endDate = LocalDateTime.parse(inputVo.getLastEndTimeStr(), dtf);
|
||||||
|
inputVo.setLastBegTime(begDate);
|
||||||
|
inputVo.setLastEndTime(endDate);
|
||||||
|
return weatherResourceService.updateById(inputVo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "查询天气列表", notes = "")
|
@ApiOperation(value = "查询天气列表", notes = "")
|
||||||
|
|
@ -75,4 +86,11 @@ public class WeatherResourceController extends BaseController{
|
||||||
weatherResourceService.removeById(id);
|
weatherResourceService.removeById(id);
|
||||||
return ResponseData.success(null);
|
return ResponseData.success(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/getInfo")
|
||||||
|
@ApiOperation(value = "获取天气详细信息", notes = "")
|
||||||
|
@AutoLog(value = "获取天气详细信息", operationType = OperationTypeEnum.SELECT, module = "天气详细信息")
|
||||||
|
public WeatherResource getInfo(@RequestParam("id") Integer id) {
|
||||||
|
return weatherResourceService.getById(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,21 @@ public class WeatherResourceServiceImpl extends ServiceImpl<WeatherResourceMappe
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<WeatherResource> list(WeatherResource ebe) {
|
public List<WeatherResource> list(WeatherResource ebe) {
|
||||||
|
if(ebe.getScenarioId() != null){
|
||||||
return this.list(new QueryWrapper<WeatherResource>().eq("scenario_id",ebe.getScenarioId()));
|
return this.list(new QueryWrapper<WeatherResource>().eq("scenario_id",ebe.getScenarioId()));
|
||||||
|
}else{
|
||||||
|
return this.list();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long count(WeatherResource ebe) {
|
public Long count(WeatherResource ebe) {
|
||||||
|
if(ebe.getScenarioId() != null){
|
||||||
return this.list(new QueryWrapper<WeatherResource>().eq("scenario_id",ebe.getScenarioId())).stream().count();
|
return this.list(new QueryWrapper<WeatherResource>().eq("scenario_id",ebe.getScenarioId())).stream().count();
|
||||||
|
}else{
|
||||||
|
return this.list().stream().count();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -233,6 +233,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
beforeLat = lat;
|
beforeLat = lat;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
log.info("路线节点个数::{},总距离::{}",distanceInfoMap.size(),distanceInfoMap.lastKey());
|
||||||
//设置第一个开始位置
|
//设置第一个开始位置
|
||||||
startPoint.set(distanceInfoMap.firstKey());
|
startPoint.set(distanceInfoMap.firstKey());
|
||||||
}
|
}
|
||||||
|
|
@ -257,21 +258,19 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
|
|
||||||
if (this.getRoomStatus()) {
|
if (this.getRoomStatus()) {
|
||||||
//自动生成的任务不需要判断油量;不要在生成新的任务
|
//自动生成的任务不需要判断油量;不要在生成新的任务
|
||||||
log.info("{}-fromSource::{}", scenarioTask.getResourceId(), scenarioTask.getFromSource());
|
|
||||||
if (!"general".equals(scenarioTask.getFromSource())) {
|
if (!"general".equals(scenarioTask.getFromSource())) {
|
||||||
double currentFuel = getCurrentFuel();
|
double currentFuel = getCurrentFuel();
|
||||||
double totalFuel = statisticBean.getFuel().getTotal();
|
double totalFuel = statisticBean.getFuel().getTotal();
|
||||||
log.info("totalFuel::{}", totalFuel);
|
|
||||||
if (currentFuel <= 0 || totalFuel <= 0) {
|
if (currentFuel <= 0 || totalFuel <= 0) {
|
||||||
log.error("{}:油量为零停止移动", this.scenarioTask.getResourceId());
|
log.error("{}:油量为零停止移动", this.scenarioTask.getResourceId());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("{}-当前比值{},阈值{}", scenarioTask.getResourceId(),
|
|
||||||
currentFuel * 100 / totalFuel,
|
|
||||||
fuelThreshold);
|
|
||||||
if (currentFuel * 100 / totalFuel < fuelThreshold && !requestFlag.get()) {
|
if (currentFuel * 100 / totalFuel < fuelThreshold && !requestFlag.get()) {
|
||||||
log.info("{}-油料不足,需要补充,新建需求和任务", scenarioTask.getResourceId());
|
log.error("{}-油料不足,需要补充,新建需求和任务", scenarioTask.getResourceId());
|
||||||
|
|
||||||
requestFlag.set(true);
|
requestFlag.set(true);
|
||||||
//需要产生需求
|
//需要产生需求
|
||||||
|
|
@ -281,7 +280,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (currentFuel * 100 / totalFuel < fuelThreshold) {
|
if (currentFuel * 100 / totalFuel < fuelThreshold) {
|
||||||
log.error("{}:油量不足停止移动,等待补给", this.scenarioTask.getResourceId());
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -293,7 +292,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
if (duringAction != null) {
|
if (duringAction != null) {
|
||||||
duringAction.doSomeThing();
|
duringAction.doSomeThing();
|
||||||
}
|
}
|
||||||
log.info("移动中..... 放大系数{}", RoomManager.getMag(roomId));
|
|
||||||
//跑动距离
|
//跑动距离
|
||||||
double distance = duringTime.getAndAdd(RoomManager.getMag(roomId)) * speed;
|
double distance = duringTime.getAndAdd(RoomManager.getMag(roomId)) * speed;
|
||||||
|
|
||||||
|
|
@ -302,7 +301,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
if (endPoint == null) {
|
if (endPoint == null) {
|
||||||
endPoint = distanceInfoMap.lastEntry();
|
endPoint = distanceInfoMap.lastEntry();
|
||||||
}
|
}
|
||||||
|
log.info("当前距离{}",distance);
|
||||||
//ws数据
|
//ws数据
|
||||||
List<double[]> dataList = new ArrayList<>();
|
List<double[]> dataList = new ArrayList<>();
|
||||||
HashMap<Object, Object> dataMap = new HashMap<>();
|
HashMap<Object, Object> dataMap = new HashMap<>();
|
||||||
|
|
@ -515,25 +514,28 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
task.setScenarioId(scenarioTask.getScenarioId());
|
task.setScenarioId(scenarioTask.getScenarioId());
|
||||||
task.setResourceId(supplierResource.getId());
|
task.setResourceId(supplierResource.getId());
|
||||||
task.setTaskType("1");
|
task.setTaskType("1");
|
||||||
|
task.setName("油料保障任务-移动第一节点(自动)");
|
||||||
task.setFromLat(supplierResource.getLat());
|
task.setFromLat(supplierResource.getLat());
|
||||||
task.setFromLng(supplierResource.getLng());
|
task.setFromLng(supplierResource.getLng());
|
||||||
task.setToLat(fuelResource.getLat());
|
task.setToLat(fuelResource.getLat());
|
||||||
task.setToLng(fuelResource.getLng());
|
task.setToLng(fuelResource.getLng());
|
||||||
task.setStartTime(LocalDateTime.now());
|
task.setStartTime(LocalDateTime.now());
|
||||||
task.setFromSource("general");
|
task.setFromSource("general");
|
||||||
log.info("承担保障任务的resourceId::{}", supplierResource.getId());
|
log.info("油料保障任务-移动resourceId::{}", supplierResource.getId());
|
||||||
SpringUtil.getBean(ScenarioTaskServiceImpl.class).save(task);
|
SpringUtil.getBean(ScenarioTaskServiceImpl.class).save(task);
|
||||||
MoveTask moveTask = new MoveTask(task, this.roomId, new TaskAction() {
|
MoveTask moveTask = new MoveTask(task, this.roomId, new TaskAction() {
|
||||||
@Override
|
@Override
|
||||||
public void doSomeThing() {
|
public void doSomeThing() {
|
||||||
//创建一个保障任务
|
if(coordinate!=null){
|
||||||
|
//创建一个送达任务
|
||||||
|
log.info("目标地址::{},{}",coordinate.getLat(),coordinate.getLng());
|
||||||
|
|
||||||
ScenarioTask task = new ScenarioTask();
|
ScenarioTask task = new ScenarioTask();
|
||||||
task.setId(IdUtils.simpleUUID());
|
task.setId(IdUtils.simpleUUID());
|
||||||
task.setScenarioId(scenarioTask.getScenarioId());
|
task.setScenarioId(scenarioTask.getScenarioId());
|
||||||
task.setResourceId(supplierResource.getId());
|
task.setResourceId(supplierResource.getId());
|
||||||
task.setTaskType("6");
|
task.setTaskType("6");
|
||||||
|
task.setName("油料保障任务-移动第二节点(自动)");
|
||||||
task.setInsureResourceId(scenarioTask.getResourceId());
|
task.setInsureResourceId(scenarioTask.getResourceId());
|
||||||
task.setSupplierNum(statisticBean.getFuel().getTotal() - minusFuel);
|
task.setSupplierNum(statisticBean.getFuel().getTotal() - minusFuel);
|
||||||
task.setToLat(coordinate.getLat() + "");
|
task.setToLat(coordinate.getLat() + "");
|
||||||
|
|
@ -545,6 +547,10 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
SpringUtil.getBean(ScenarioTaskServiceImpl.class).save(task);
|
SpringUtil.getBean(ScenarioTaskServiceImpl.class).save(task);
|
||||||
SupplierTask supplierTask = new SupplierTask(task, roomId);
|
SupplierTask supplierTask = new SupplierTask(task, roomId);
|
||||||
RoomManager.addAction(roomId, 0, supplierTask);
|
RoomManager.addAction(roomId, 0, supplierTask);
|
||||||
|
}else{
|
||||||
|
log.error("没有目标地址");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
this.createBattleTaskOnTimingHandle(new BizTaskOnTiming() {
|
this.createBattleTaskOnTimingHandle(new BizTaskOnTiming() {
|
||||||
@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;
|
||||||
|
|
@ -118,7 +118,8 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
JSONObject jsonObject = new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
String jsonStr = (String)redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"scenarioInfo");
|
String jsonStr = (String)redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"scenarioInfo");
|
||||||
ScenarioInfo scenarioInfoOnTime =JSONObject.parseObject(jsonStr,ScenarioInfo.class);
|
ScenarioInfo scenarioInfoOnTime =JSONObject.parseObject(jsonStr,ScenarioInfo.class);
|
||||||
|
String updJsonStr = (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "updScenarioInfo");
|
||||||
|
EditScenarioInfo updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class);
|
||||||
try {
|
try {
|
||||||
|
|
||||||
long duringTime = getDuringTime();
|
long duringTime = getDuringTime();
|
||||||
|
|
@ -134,77 +135,86 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
teamLng = scenarioInfoOnTime.getTeam().getLng().toString();
|
teamLng = scenarioInfoOnTime.getTeam().getLng().toString();
|
||||||
if(scenarioInfoOnTime.getPerson().getCurrent() >0) {
|
if(scenarioInfoOnTime.getPerson().getCurrent() >0) {
|
||||||
//
|
//
|
||||||
|
do {
|
||||||
int deathParam = RandomUtil.getSecureRandom().nextInt(6);
|
int deathParam = RandomUtil.getSecureRandom().nextInt(6);
|
||||||
int baseParam = deathParam / 2;
|
int baseParam = deathParam / 2;
|
||||||
if(deathParam !=0 ) {
|
if (deathParam != 0 && baseParam != 0) {
|
||||||
deathConsume = Long.valueOf(deathParam % baseParam);
|
deathConsume = Long.valueOf(deathParam % baseParam);
|
||||||
} else {
|
} else {
|
||||||
deathConsume = 0L;
|
deathConsume = 0L;
|
||||||
}
|
}
|
||||||
injuredConsume = Long.valueOf(RandomUtil.getSecureRandom().nextInt(3));
|
injuredConsume = Long.valueOf(RandomUtil.getSecureRandom().nextInt(3));
|
||||||
|
}
|
||||||
|
while(scenarioInfoOnTime.getPerson().getCurrent() - Long.valueOf(deathConsume).intValue()-Long.valueOf(injuredConsume).intValue() < 0);
|
||||||
|
|
||||||
ammunitionConsume = intervalDuringTime * (0.1D + RandomUtil.getSecureRandom().nextDouble());
|
ammunitionConsume = intervalDuringTime * (0.1D + RandomUtil.getSecureRandom().nextDouble());
|
||||||
foodConsume = FOOD_SPREED;
|
foodConsume = FOOD_SPREED;
|
||||||
waterConsume = WATER_SPREED;
|
waterConsume = WATER_SPREED;
|
||||||
medicalConsume = MEDICAL_SPREED;
|
medicalConsume = MEDICAL_SPREED;
|
||||||
|
|
||||||
|
|
||||||
if(scenarioInfoOnTime.getAmmunition().getCurrent() - Double.valueOf(ammunition - ammunitionConsume)>0) {
|
|
||||||
scenarioInfoOnTime.getAmmunition().setCurrent(Double.valueOf(ammunition - ammunitionConsume));
|
|
||||||
}else{
|
|
||||||
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
|
||||||
}
|
|
||||||
if(scenarioInfoOnTime.getFood().getCurrent() -Double.valueOf(food - foodConsume)> 0) {
|
|
||||||
scenarioInfoOnTime.getFood().setCurrent(Double.valueOf(food - foodConsume));
|
|
||||||
}else{
|
|
||||||
scenarioInfoOnTime.getFood().setCurrent(0D);
|
|
||||||
}
|
|
||||||
if(scenarioInfoOnTime.getMedical().getCurrent() -Double.valueOf(medical - medicalConsume)> 0) {
|
|
||||||
scenarioInfoOnTime.getMedical().setCurrent(Double.valueOf(medical - medicalConsume));
|
|
||||||
}else{
|
|
||||||
scenarioInfoOnTime.getMedical().setCurrent(0D);
|
|
||||||
}
|
|
||||||
if(scenarioInfoOnTime.getWater().getCurrent() - Double.valueOf(water - waterConsume)> 0) {
|
|
||||||
scenarioInfoOnTime.getWater().setCurrent(Double.valueOf(water - waterConsume));
|
|
||||||
}else{
|
|
||||||
scenarioInfoOnTime.getWater().setCurrent(0D);
|
|
||||||
}
|
|
||||||
scenarioInfoOnTime.getPerson().setDeath(Long.valueOf(death + deathConsume).intValue());
|
scenarioInfoOnTime.getPerson().setDeath(Long.valueOf(death + deathConsume).intValue());
|
||||||
scenarioInfoOnTime.getPerson().setInjured(Long.valueOf(injured + injuredConsume).intValue());
|
scenarioInfoOnTime.getPerson().setInjured(Long.valueOf(injured + injuredConsume).intValue());
|
||||||
if(scenarioInfoOnTime.getPerson().getCurrent() - Long.valueOf(deathConsume).intValue()-Long.valueOf(injuredConsume).intValue() <0){
|
if(scenarioInfoOnTime.getPerson().getCurrent() - Long.valueOf(deathConsume).intValue()-Long.valueOf(injuredConsume).intValue() <=0){
|
||||||
scenarioInfoOnTime.getPerson().setCurrent(0);
|
scenarioInfoOnTime.getPerson().setCurrent(0);
|
||||||
}else {
|
}else {
|
||||||
scenarioInfoOnTime.getPerson().setCurrent(scenarioInfoOnTime.getPerson().getCurrent() - Long.valueOf(deathConsume).intValue() - Long.valueOf(injuredConsume).intValue());
|
scenarioInfoOnTime.getPerson().setCurrent(scenarioInfoOnTime.getPerson().getCurrent() - Long.valueOf(deathConsume).intValue() - Long.valueOf(injuredConsume).intValue());
|
||||||
}
|
}
|
||||||
String updJsonStr = (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "updScenarioInfo");
|
updScenarioInfo.getJbxx().getPerson().setDeath(Long.valueOf(death + deathConsume).intValue());
|
||||||
EditScenarioInfo updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class);
|
updScenarioInfo.getJbxx().getPerson().setInjured(Long.valueOf(injured + injuredConsume).intValue());
|
||||||
if(updScenarioInfo.getJbxx().getAmmunition().getCurrent() - Double.valueOf(ammunition - ammunitionConsume)>0) {
|
if(updScenarioInfo.getJbxx().getPerson().getCurrent() - Long.valueOf(deathConsume).intValue()-Long.valueOf(injuredConsume).intValue() <=0){
|
||||||
|
updScenarioInfo.getJbxx().getPerson().setCurrent(0);
|
||||||
|
}else {
|
||||||
|
updScenarioInfo.getJbxx().getPerson().setCurrent(updScenarioInfo.getJbxx().getPerson().getCurrent() - Long.valueOf(deathConsume).intValue() - Long.valueOf(injuredConsume).intValue());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
if(scenarioInfoOnTime.getPerson().getTotal() - scenarioInfoOnTime.getPerson().getInjured()-scenarioInfoOnTime.getPerson().getDeath() > 0){
|
||||||
|
scenarioInfoOnTime.getPerson().setInjured(scenarioInfoOnTime.getPerson().getTotal() - scenarioInfoOnTime.getPerson().getInjured()-scenarioInfoOnTime.getPerson().getDeath());
|
||||||
|
updScenarioInfo.getJbxx().getPerson().setInjured(scenarioInfoOnTime.getPerson().getTotal() - scenarioInfoOnTime.getPerson().getInjured()-scenarioInfoOnTime.getPerson().getDeath());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if(scenarioInfoOnTime.getAmmunition().getCurrent() - Double.valueOf(ammunitionConsume)>0) {
|
||||||
|
scenarioInfoOnTime.getAmmunition().setCurrent(Double.valueOf(ammunition - ammunitionConsume));
|
||||||
|
}else{
|
||||||
|
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
||||||
|
}
|
||||||
|
if(scenarioInfoOnTime.getFood().getCurrent() -Double.valueOf(foodConsume)> 0) {
|
||||||
|
scenarioInfoOnTime.getFood().setCurrent(Double.valueOf(food - foodConsume));
|
||||||
|
}else{
|
||||||
|
scenarioInfoOnTime.getFood().setCurrent(0D);
|
||||||
|
}
|
||||||
|
if(scenarioInfoOnTime.getMedical().getCurrent() -Double.valueOf(medicalConsume)> 0) {
|
||||||
|
scenarioInfoOnTime.getMedical().setCurrent(Double.valueOf(medical - medicalConsume));
|
||||||
|
}else{
|
||||||
|
scenarioInfoOnTime.getMedical().setCurrent(0D);
|
||||||
|
}
|
||||||
|
if(scenarioInfoOnTime.getWater().getCurrent() - Double.valueOf(waterConsume)> 0) {
|
||||||
|
scenarioInfoOnTime.getWater().setCurrent(Double.valueOf(water - waterConsume));
|
||||||
|
}else{
|
||||||
|
scenarioInfoOnTime.getWater().setCurrent(0D);
|
||||||
|
}
|
||||||
|
if(updScenarioInfo.getJbxx().getAmmunition().getCurrent() - Double.valueOf(ammunitionConsume)>0) {
|
||||||
updScenarioInfo.getJbxx().getAmmunition().setCurrent(Double.valueOf(ammunition - ammunitionConsume));
|
updScenarioInfo.getJbxx().getAmmunition().setCurrent(Double.valueOf(ammunition - ammunitionConsume));
|
||||||
}else{
|
}else{
|
||||||
updScenarioInfo.getJbxx().getAmmunition().setCurrent(0D);
|
updScenarioInfo.getJbxx().getAmmunition().setCurrent(0D);
|
||||||
}
|
}
|
||||||
if(updScenarioInfo.getJbxx().getFood().getCurrent() - Double.valueOf(food - foodConsume) > 0) {
|
if(updScenarioInfo.getJbxx().getFood().getCurrent() - Double.valueOf(foodConsume) > 0) {
|
||||||
updScenarioInfo.getJbxx().getFood().setCurrent(Double.valueOf(food - foodConsume));
|
updScenarioInfo.getJbxx().getFood().setCurrent(Double.valueOf(food - foodConsume));
|
||||||
}else{
|
}else{
|
||||||
updScenarioInfo.getJbxx().getFood().setCurrent(0D);
|
updScenarioInfo.getJbxx().getFood().setCurrent(0D);
|
||||||
}
|
}
|
||||||
// updScenarioInfo.getJbxx().getFuel().setCurrent(Double.valueOf(fuel - fuelConsume));
|
// updScenarioInfo.getJbxx().getFuel().setCurrent(Double.valueOf(fuel - fuelConsume));
|
||||||
if(updScenarioInfo.getJbxx().getMedical().getCurrent() - Double.valueOf(medical - medicalConsume)> 0) {
|
if(updScenarioInfo.getJbxx().getMedical().getCurrent() - Double.valueOf(medicalConsume)> 0) {
|
||||||
updScenarioInfo.getJbxx().getMedical().setCurrent(Double.valueOf(medical - medicalConsume));
|
updScenarioInfo.getJbxx().getMedical().setCurrent(Double.valueOf(medical - medicalConsume));
|
||||||
}else{
|
}else{
|
||||||
updScenarioInfo.getJbxx().getMedical().setCurrent(0D);
|
updScenarioInfo.getJbxx().getMedical().setCurrent(0D);
|
||||||
}
|
}
|
||||||
if(updScenarioInfo.getJbxx().getWater().getCurrent() -Double.valueOf(water - waterConsume)> 0) {
|
if(updScenarioInfo.getJbxx().getWater().getCurrent() -Double.valueOf(waterConsume)> 0) {
|
||||||
updScenarioInfo.getJbxx().getWater().setCurrent(Double.valueOf(water - waterConsume));
|
updScenarioInfo.getJbxx().getWater().setCurrent(Double.valueOf(water - waterConsume));
|
||||||
}else{
|
}else{
|
||||||
updScenarioInfo.getJbxx().getWater().setCurrent(0D);
|
updScenarioInfo.getJbxx().getWater().setCurrent(0D);
|
||||||
}
|
}
|
||||||
updScenarioInfo.getJbxx().getPerson().setDeath(Long.valueOf(death + deathConsume).intValue());
|
|
||||||
updScenarioInfo.getJbxx().getPerson().setInjured(Long.valueOf(injured + injuredConsume).intValue());
|
|
||||||
if(updScenarioInfo.getJbxx().getPerson().getCurrent() - Long.valueOf(deathConsume).intValue()-Long.valueOf(injuredConsume).intValue() <0){
|
|
||||||
updScenarioInfo.getJbxx().getPerson().setCurrent(0);
|
|
||||||
}else {
|
|
||||||
updScenarioInfo.getJbxx().getPerson().setCurrent(updScenarioInfo.getJbxx().getPerson().getCurrent() - Long.valueOf(deathConsume).intValue() - Long.valueOf(injuredConsume).intValue());
|
|
||||||
}
|
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
"updScenarioInfo", JSON.toJSONString(updScenarioInfo));
|
"updScenarioInfo", JSON.toJSONString(updScenarioInfo));
|
||||||
ResponseCmdInfo<String> respObj = new ResponseCmdInfo<>();
|
ResponseCmdInfo<String> respObj = new ResponseCmdInfo<>();
|
||||||
|
|
@ -215,37 +225,17 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
Global.sendCmdInfoQueue.add(respObj);
|
Global.sendCmdInfoQueue.add(respObj);
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "duringTime", String.valueOf(duringTime));
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "duringTime", String.valueOf(duringTime));
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoOnTime));
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoOnTime));
|
||||||
}else{
|
|
||||||
log.info("=========================scenarioInfoOnTime.getPerson().getCurrent()==========={}========================================================",scenarioInfoOnTime.getPerson().getCurrent());
|
if(scenarioInfoOnTime.getAmmunition().getCurrent() <0) {
|
||||||
String updJsonStr = (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "updScenarioInfo");
|
|
||||||
EditScenarioInfo updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class);
|
|
||||||
if(updScenarioInfo.getJbxx().getAmmunition().getCurrent() <0) {
|
|
||||||
updScenarioInfo.getJbxx().getAmmunition().setCurrent(Double.valueOf(0));
|
|
||||||
}
|
|
||||||
if(updScenarioInfo.getJbxx().getFood().getCurrent() < 0) {
|
|
||||||
updScenarioInfo.getJbxx().getFood().setCurrent(Double.valueOf(0));
|
|
||||||
}
|
|
||||||
// updScenarioInfo.getJbxx().getFuel().setCurrent(Double.valueOf(fuel - fuelConsume));
|
|
||||||
if(updScenarioInfo.getJbxx().getMedical().getCurrent() < 0) {
|
|
||||||
updScenarioInfo.getJbxx().getMedical().setCurrent(Double.valueOf(0));
|
|
||||||
}
|
|
||||||
if(updScenarioInfo.getJbxx().getWater().getCurrent() < 0) {
|
|
||||||
updScenarioInfo.getJbxx().getWater().setCurrent(Double.valueOf(0));
|
|
||||||
}
|
|
||||||
updScenarioInfo.getJbxx().getPerson().setCurrent(0);
|
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"updScenarioInfo", JSON.toJSONString(updScenarioInfo));
|
|
||||||
}
|
|
||||||
if(scenarioInfoOnTime.getAmmunition().getCurrent() - Double.valueOf(ammunition - ammunitionConsume)<0) {
|
|
||||||
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
||||||
}
|
}
|
||||||
if(scenarioInfoOnTime.getFood().getCurrent() -Double.valueOf(food - foodConsume)<0) {
|
if(scenarioInfoOnTime.getFood().getCurrent()<0) {
|
||||||
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
||||||
}
|
}
|
||||||
if(scenarioInfoOnTime.getMedical().getCurrent() -Double.valueOf(medical - medicalConsume)<0) {
|
if(scenarioInfoOnTime.getMedical().getCurrent()<0) {
|
||||||
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
||||||
}
|
}
|
||||||
if(scenarioInfoOnTime.getWater().getCurrent() - Double.valueOf(water - waterConsume)<0) {
|
if(scenarioInfoOnTime.getWater().getCurrent()<0) {
|
||||||
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
scenarioInfoOnTime.getAmmunition().setCurrent(0D);
|
||||||
}
|
}
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoOnTime));
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoOnTime));
|
||||||
|
|
@ -362,8 +352,8 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
ScenarioInfo scenarioInfoInjured =JSONObject.parseObject(jsonInjured,ScenarioInfo.class);
|
ScenarioInfo scenarioInfoInjured =JSONObject.parseObject(jsonInjured,ScenarioInfo.class);
|
||||||
scenarioInfoInjured.getPerson().setDeath(Long.valueOf(0).intValue());
|
scenarioInfoInjured.getPerson().setDeath(Long.valueOf(0).intValue());
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoInjured));
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoInjured));
|
||||||
String updJsonStr = (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "updScenarioInfo");
|
updJsonStr = (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "updScenarioInfo");
|
||||||
EditScenarioInfo updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class);
|
updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class);
|
||||||
updScenarioInfo.getJbxx().getPerson().setDeath(Long.valueOf(0).intValue());
|
updScenarioInfo.getJbxx().getPerson().setDeath(Long.valueOf(0).intValue());
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
"updScenarioInfo", JSON.toJSONString(updScenarioInfo));
|
"updScenarioInfo", JSON.toJSONString(updScenarioInfo));
|
||||||
|
|
@ -394,8 +384,8 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
ScenarioInfo scenarioInfoInjured =JSONObject.parseObject(jsonInjured,ScenarioInfo.class);
|
ScenarioInfo scenarioInfoInjured =JSONObject.parseObject(jsonInjured,ScenarioInfo.class);
|
||||||
scenarioInfoInjured.getPerson().setInjured(Long.valueOf(0).intValue());
|
scenarioInfoInjured.getPerson().setInjured(Long.valueOf(0).intValue());
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoInjured));
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo", JSONObject.toJSONString(scenarioInfoInjured));
|
||||||
String updJsonStr = (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "updScenarioInfo");
|
updJsonStr = (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "updScenarioInfo");
|
||||||
EditScenarioInfo updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class);
|
updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class);
|
||||||
updScenarioInfo.getJbxx().getPerson().setInjured(Long.valueOf(0).intValue());
|
updScenarioInfo.getJbxx().getPerson().setInjured(Long.valueOf(0).intValue());
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
"updScenarioInfo", JSON.toJSONString(updScenarioInfo));
|
"updScenarioInfo", JSON.toJSONString(updScenarioInfo));
|
||||||
|
|
@ -407,7 +397,7 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
log.error("===========BattleRootTask supplierRequestService.saveBatch error====================",ex.getMessage());
|
log.error("===========BattleRootTask supplierRequestService.saveBatch error====================",ex.getMessage());
|
||||||
}
|
}
|
||||||
log.info("===============================定时检查统计各种资源消耗量 end====================================");
|
log.info("===============================战斗检查统计各种资源消耗量 end====================================");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -435,7 +425,6 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
|
|
||||||
if ("SUPPLIER_MEDICAL".equals(teaminfo.getRoleCode())) {
|
if ("SUPPLIER_MEDICAL".equals(teaminfo.getRoleCode())) {
|
||||||
supplierResource = resource;
|
supplierResource = resource;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,7 @@ public class MoveTask extends AbtParentTask implements TaskAction {
|
||||||
//修改油料
|
//修改油料
|
||||||
EditScenarioInfo editScenarioInfo = getEditScenarioInfo(
|
EditScenarioInfo editScenarioInfo = getEditScenarioInfo(
|
||||||
this.scenarioTask.getResourceId());
|
this.scenarioTask.getResourceId());
|
||||||
|
|
||||||
editScenarioInfo.getJbxx().getFuel().setCurrent(editScenarioInfo.getJbxx().getFuel().getCurrent()-currentUseUp);
|
editScenarioInfo.getJbxx().getFuel().setCurrent(editScenarioInfo.getJbxx().getFuel().getCurrent()-currentUseUp);
|
||||||
setEditScenarioInfo(editScenarioInfo,scenarioTask.getResourceId());
|
setEditScenarioInfo(editScenarioInfo,scenarioTask.getResourceId());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,8 @@
|
||||||
package com.hivekion.room.bean;
|
package com.hivekion.room.bean;
|
||||||
|
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
|
||||||
import com.hivekion.common.redis.RedisUtil;
|
|
||||||
import com.hivekion.room.func.TaskAction;
|
import com.hivekion.room.func.TaskAction;
|
||||||
import com.hivekion.scenario.entity.ScenarioTask;
|
import com.hivekion.scenario.entity.ScenarioTask;
|
||||||
import com.hivekion.statistic.bean.EditScenarioInfo;
|
import com.hivekion.statistic.bean.EditScenarioInfo;
|
||||||
import com.hivekion.statistic.bean.ScenarioInfo;
|
|
||||||
import com.hivekion.statistic.bean.StatisticBean;
|
|
||||||
import com.hivekion.statistic.service.StatisticService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -30,8 +24,7 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doSomeThing() {
|
public void doSomeThing() {
|
||||||
StatisticBean statistic = SpringUtil.getBean(StatisticService.class)
|
|
||||||
.statistic(scenarioTask.getResourceId());
|
|
||||||
initPath(); //初始化路径
|
initPath(); //初始化路径
|
||||||
updatePath(50, null, new TaskAction() {
|
updatePath(50, null, new TaskAction() {
|
||||||
|
|
||||||
|
|
@ -41,19 +34,19 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
|
||||||
//达到终点点后,给目标补充物资
|
//达到终点点后,给目标补充物资
|
||||||
switch (scenarioTask.getTaskType()) {
|
switch (scenarioTask.getTaskType()) {
|
||||||
case "4":
|
case "4":
|
||||||
supplierAmmunition(statistic);
|
supplierAmmunition();
|
||||||
break;
|
break;
|
||||||
case "5":
|
case "5":
|
||||||
supplierWater(statistic);
|
supplierWater();
|
||||||
break;
|
break;
|
||||||
case "6":
|
case "6":
|
||||||
supplierFuel(statistic);
|
supplierFuel();
|
||||||
break;
|
break;
|
||||||
case "7":
|
case "7":
|
||||||
supplierFood(statistic);
|
supplierFood();
|
||||||
break;
|
break;
|
||||||
case "8":
|
case "8":
|
||||||
supplierMedical(statistic);
|
supplierMedical();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//推送最新状态信息
|
//推送最新状态信息
|
||||||
|
|
@ -73,164 +66,87 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void supplierMedical(StatisticBean statistic) {
|
private void supplierMedical() {
|
||||||
//保障分队
|
EditScenarioInfo supplierInfo = getEditScenarioInfo(scenarioTask.getResourceId());
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
EditScenarioInfo insuranceInfo = getEditScenarioInfo(scenarioTask.getInsureResourceId());
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
//被保障分队
|
|
||||||
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
if(supplierObj!=null&&insureObj!=null){
|
|
||||||
|
|
||||||
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
|
if (supplierInfo != null && insuranceInfo != null) {
|
||||||
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
double insuranceCurrent = insuranceInfo.getJbxx().getMedical().getCurrent();
|
||||||
|
|
||||||
scenarioSupplierInfo.getMedical().setCurrent(scenarioInsureInfo.getMedical().getCurrent() - statistic.getMedical().getTotal());
|
supplierInfo.getJbxx().getMedical().setCurrent(
|
||||||
scenarioInsureInfo.getMedical().setCurrent(statistic.getMedical().getTotal());
|
supplierInfo.getJbxx().getMedical().getCurrent() - insuranceCurrent < 0 ? 0
|
||||||
|
: (supplierInfo.getJbxx().getMedical().getCurrent() - insuranceCurrent));
|
||||||
|
|
||||||
|
insuranceInfo.getJbxx().getMedical()
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
.setCurrent(insuranceInfo.getJbxx().getMedical().getTotal());
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioInsureInfo));
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioSupplierInfo));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void supplierFuel(StatisticBean statistic) {
|
private void supplierFuel() {
|
||||||
|
EditScenarioInfo supplierInfo = getEditScenarioInfo(scenarioTask.getResourceId());
|
||||||
|
EditScenarioInfo insuranceInfo = getEditScenarioInfo(scenarioTask.getInsureResourceId());
|
||||||
|
if (supplierInfo != null && insuranceInfo != null) {
|
||||||
|
double insuranceCurrent = insuranceInfo.getJbxx().getFuel().getCurrent();
|
||||||
|
|
||||||
//保障分队
|
supplierInfo.getJbxx().getFuel().setCurrent(
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
supplierInfo.getJbxx().getFuel().getCurrent() - insuranceCurrent < 0 ? 0
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
: (supplierInfo.getJbxx().getFuel().getCurrent() - insuranceCurrent));
|
||||||
"scenarioInfo");
|
|
||||||
//被保障分队
|
|
||||||
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
if(supplierObj!=null&&insureObj!=null){
|
|
||||||
|
|
||||||
|
insuranceInfo.getJbxx().getFuel()
|
||||||
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
|
.setCurrent(insuranceInfo.getJbxx().getFuel().getTotal());
|
||||||
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
|
||||||
|
|
||||||
scenarioSupplierInfo.getFuel().setCurrent(scenarioInsureInfo.getFuel().getCurrent() - statistic.getFuel().getTotal());
|
|
||||||
|
|
||||||
scenarioInsureInfo.getFuel().setCurrent(statistic.getFuel().getTotal());
|
|
||||||
|
|
||||||
EditScenarioInfo insureEdit = getEditScenarioInfo(scenarioTask.getInsureResourceId());
|
|
||||||
double supplierNum = statistic.getFuel().getTotal() - statistic.getFuel().getCurrent();
|
|
||||||
insureEdit.getJbxx().getFuel().setCurrent(statistic.getFuel().getTotal());
|
|
||||||
setEditScenarioInfo(insureEdit,scenarioTask.getInsureResourceId());
|
|
||||||
|
|
||||||
EditScenarioInfo supplerEdit = getEditScenarioInfo(scenarioTask.getResourceId());
|
|
||||||
supplerEdit.getJbxx().getFuel().setCurrent(statistic.getFuel().getTotal()-supplierNum);
|
|
||||||
setEditScenarioInfo(supplerEdit,scenarioTask.getResourceId());
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioInsureInfo));
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioSupplierInfo));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void supplierAmmunition(StatisticBean statistic) {
|
|
||||||
|
|
||||||
//保障分队
|
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
//被保障分队
|
|
||||||
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
if(supplierObj!=null&&insureObj!=null){
|
|
||||||
|
|
||||||
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
|
|
||||||
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
|
||||||
|
|
||||||
scenarioSupplierInfo.getAmmunition().setCurrent(scenarioInsureInfo.getAmmunition().getCurrent() - statistic.getAmmunition().getTotal());
|
|
||||||
scenarioInsureInfo.getAmmunition().setCurrent(statistic.getAmmunition().getTotal());
|
|
||||||
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioInsureInfo));
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioSupplierInfo));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void supplierWater(StatisticBean statistic) {
|
|
||||||
|
|
||||||
//保障分队
|
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
//被保障分队
|
|
||||||
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
if(supplierObj!=null&&insureObj!=null){
|
|
||||||
|
|
||||||
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
|
|
||||||
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
|
||||||
|
|
||||||
scenarioSupplierInfo.getWater().setCurrent(scenarioInsureInfo.getWater().getCurrent() - statistic.getWater().getTotal());
|
|
||||||
scenarioInsureInfo.getWater().setCurrent(statistic.getWater().getTotal());
|
|
||||||
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioInsureInfo));
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioSupplierInfo));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void supplierFood(StatisticBean statistic) {
|
|
||||||
//保障分队
|
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
//被保障分队
|
|
||||||
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo");
|
|
||||||
if(supplierObj!=null&&insureObj!=null){
|
|
||||||
|
|
||||||
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
|
|
||||||
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
|
||||||
|
|
||||||
scenarioSupplierInfo.getFood().setCurrent(scenarioInsureInfo.getFood().getCurrent() - statistic.getFood().getTotal());
|
|
||||||
scenarioInsureInfo.getFood().setCurrent(statistic.getFood().getTotal());
|
|
||||||
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioInsureInfo));
|
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class).hset(
|
|
||||||
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
|
||||||
"scenarioInfo",JSON.toJSONString(scenarioSupplierInfo));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void supplierAmmunition() {
|
||||||
|
EditScenarioInfo supplierInfo = getEditScenarioInfo(scenarioTask.getResourceId());
|
||||||
|
EditScenarioInfo insuranceInfo = getEditScenarioInfo(scenarioTask.getInsureResourceId());
|
||||||
|
if (supplierInfo != null && insuranceInfo != null) {
|
||||||
|
double insuranceCurrent = insuranceInfo.getJbxx().getAmmunition().getCurrent();
|
||||||
|
|
||||||
|
supplierInfo.getJbxx().getAmmunition().setCurrent(
|
||||||
|
supplierInfo.getJbxx().getAmmunition().getCurrent() - insuranceCurrent < 0 ? 0
|
||||||
|
: (supplierInfo.getJbxx().getAmmunition().getCurrent() - insuranceCurrent));
|
||||||
|
|
||||||
|
insuranceInfo.getJbxx().getAmmunition()
|
||||||
|
.setCurrent(insuranceInfo.getJbxx().getAmmunition().getTotal());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void supplierWater() {
|
||||||
|
EditScenarioInfo supplierInfo = getEditScenarioInfo(scenarioTask.getResourceId());
|
||||||
|
EditScenarioInfo insuranceInfo = getEditScenarioInfo(scenarioTask.getInsureResourceId());
|
||||||
|
if (supplierInfo != null && insuranceInfo != null) {
|
||||||
|
double insuranceCurrent = insuranceInfo.getJbxx().getWater().getCurrent();
|
||||||
|
|
||||||
|
supplierInfo.getJbxx().getWater().setCurrent(
|
||||||
|
supplierInfo.getJbxx().getWater().getCurrent() - insuranceCurrent < 0 ? 0
|
||||||
|
: (supplierInfo.getJbxx().getWater().getCurrent() - insuranceCurrent));
|
||||||
|
|
||||||
|
insuranceInfo.getJbxx().getWater()
|
||||||
|
.setCurrent(insuranceInfo.getJbxx().getWater().getTotal());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void supplierFood() {
|
||||||
|
EditScenarioInfo supplierInfo = getEditScenarioInfo(scenarioTask.getResourceId());
|
||||||
|
EditScenarioInfo insuranceInfo = getEditScenarioInfo(scenarioTask.getInsureResourceId());
|
||||||
|
if (supplierInfo != null && insuranceInfo != null) {
|
||||||
|
double insuranceCurrent = insuranceInfo.getJbxx().getFood().getCurrent();
|
||||||
|
|
||||||
|
supplierInfo.getJbxx().getFood().setCurrent(
|
||||||
|
supplierInfo.getJbxx().getFood().getCurrent() - insuranceCurrent < 0 ? 0
|
||||||
|
: (supplierInfo.getJbxx().getFood().getCurrent() - insuranceCurrent));
|
||||||
|
|
||||||
|
insuranceInfo.getJbxx().getFood()
|
||||||
|
.setCurrent(insuranceInfo.getJbxx().getFood().getTotal());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -149,11 +149,11 @@ public class ScenarioTaskServiceImpl extends
|
||||||
|
|
||||||
//增加任务
|
//增加任务
|
||||||
private void addTaskEvent(Scenario scenario, String roomId) {
|
private void addTaskEvent(Scenario scenario, String roomId) {
|
||||||
log.info("--------------------hello");
|
|
||||||
ScenarioTask scenarioTask = new ScenarioTask();
|
ScenarioTask scenarioTask = new ScenarioTask();
|
||||||
scenarioTask.setScenarioId(scenario.getId());
|
scenarioTask.setScenarioId(scenario.getId());
|
||||||
List<ScenarioTask> taskList = this.queryTaskList(scenarioTask);
|
List<ScenarioTask> taskList = this.queryTaskList(scenarioTask);
|
||||||
log.info("taskList.size ::{}", taskList.size());
|
|
||||||
for (ScenarioTask task : taskList) {
|
for (ScenarioTask task : taskList) {
|
||||||
try {
|
try {
|
||||||
long diff = Duration.between(scenario.getStartTime(),task.getStartTime())
|
long diff = Duration.between(scenario.getStartTime(),task.getStartTime())
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ public class WsServer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendMessage(Integer scenarioId, String room, String message) {
|
public static void sendMessage(Integer scenarioId, String room, String message) {
|
||||||
log.info("{},{}", scenarioId, room);
|
// log.info("{},{}", scenarioId, room);
|
||||||
|
|
||||||
synchronized (lock) {
|
synchronized (lock) {
|
||||||
Map<String, Map<String, Session>> roomMap = SESSION_MAP.get(String.valueOf(scenarioId));
|
Map<String, Map<String, Session>> roomMap = SESSION_MAP.get(String.valueOf(scenarioId));
|
||||||
|
|
|
||||||
|
|
@ -51,4 +51,4 @@ get.all.user = http://127.0.0.1/oauth2Server/api/outside/syncUserAll
|
||||||
#get.all.dept=http://127.0.0.1/oatuh2Server/api/outside/synDeptAll
|
#get.all.dept=http://127.0.0.1/oatuh2Server/api/outside/synDeptAll
|
||||||
logout.url=http://127.0.0.1:99/oauth2Server/oauth2/logout
|
logout.url=http://127.0.0.1:99/oauth2Server/oauth2/logout
|
||||||
|
|
||||||
path.planning.url=http://192.168.0.53:8989/route
|
path.planning.url=http://127.0.0.1:8989/route
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ death.warn = 2
|
||||||
ammunition.warn = 3
|
ammunition.warn = 3
|
||||||
food.warn = 3
|
food.warn = 3
|
||||||
water.warn = 3
|
water.warn = 3
|
||||||
fuel.warn = 99.80
|
fuel.warn = 55.80
|
||||||
medical.warn = 1
|
medical.warn = 1
|
||||||
death.spreed = 3
|
death.spreed = 3
|
||||||
injured.spreed = 3
|
injured.spreed = 3
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user