Compare commits
2 Commits
50395edce4
...
25507ce2aa
Author | SHA1 | Date | |
---|---|---|---|
![]() |
25507ce2aa | ||
![]() |
35995ce8ff |
|
@ -106,6 +106,7 @@ public class Scenario extends SearchInputVo {
|
||||||
private String leftBottomLat;
|
private String leftBottomLat;
|
||||||
@TableField(value = "right_bottom_lat")
|
@TableField(value = "right_bottom_lat")
|
||||||
private String rightBottomLat;
|
private String rightBottomLat;
|
||||||
|
private String desc;
|
||||||
/**
|
/**
|
||||||
* 想定关联的资源列表
|
* 想定关联的资源列表
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -14,6 +14,7 @@ import com.hivekion.enums.WsCmdTypeEnum;
|
||||||
import com.hivekion.room.RoomManager;
|
import com.hivekion.room.RoomManager;
|
||||||
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.ScenarioInfo;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -33,6 +34,7 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.web.reactive.function.client.WebClient;
|
import org.springframework.web.reactive.function.client.WebClient;
|
||||||
|
|
||||||
|
@ -63,7 +65,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
//http请求
|
//http请求
|
||||||
protected WebClient webClient = WebClient.create();
|
protected WebClient webClient = WebClient.create();
|
||||||
protected final AtomicBoolean canMoved = new AtomicBoolean(true);
|
protected final AtomicBoolean canMoved = new AtomicBoolean(true);
|
||||||
protected final AtomicReference<Coordinate> coordinateReference = new AtomicReference<>();
|
protected final AtomicReference<Coordinate> coordinateReference = new AtomicReference<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务相对与想定的开始时间
|
* 任务相对与想定的开始时间
|
||||||
|
@ -202,7 +204,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void updatePath(double speed,TaskAction duringAction, TaskAction finishedAction) {
|
protected void updatePath(double speed, TaskAction duringAction, TaskAction finishedAction) {
|
||||||
AtomicLong duringTime = new AtomicLong(0);
|
AtomicLong duringTime = new AtomicLong(0);
|
||||||
ScheduledExecutorService schedule = Executors.newScheduledThreadPool(
|
ScheduledExecutorService schedule = Executors.newScheduledThreadPool(
|
||||||
1);
|
1);
|
||||||
|
@ -213,13 +215,13 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
if (distanceInfoMap.isEmpty()) {
|
if (distanceInfoMap.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!this.canMoved.get()){
|
if (!this.canMoved.get()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log.info("{}-移动中,canRemove::{}",this.scenarioTask.getResourceId(),this.canMoved.get());
|
log.info("{}-移动中,canRemove::{}", this.scenarioTask.getResourceId(),
|
||||||
|
this.canMoved.get());
|
||||||
|
|
||||||
|
if (duringAction != null) {
|
||||||
if(duringAction!=null){
|
|
||||||
duringAction.doSomeThing();
|
duringAction.doSomeThing();
|
||||||
}
|
}
|
||||||
//跑动距离
|
//跑动距离
|
||||||
|
@ -231,7 +233,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
endPoint = distanceInfoMap.lastEntry();
|
endPoint = distanceInfoMap.lastEntry();
|
||||||
}
|
}
|
||||||
|
|
||||||
// log.info("enPoint::{}",endPoint);
|
// log.info("enPoint::{}",endPoint);
|
||||||
//ws数据
|
//ws数据
|
||||||
List<double[]> dataList = new ArrayList<>();
|
List<double[]> dataList = new ArrayList<>();
|
||||||
HashMap<Object, Object> dataMap = new HashMap<>();
|
HashMap<Object, Object> dataMap = new HashMap<>();
|
||||||
|
@ -241,7 +243,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
if (Double.compare(distance, endPoint.getKey()) < 0) {
|
if (Double.compare(distance, endPoint.getKey()) < 0) {
|
||||||
//获取小于最大值的第一个key
|
//获取小于最大值的第一个key
|
||||||
Double lowerKey = distanceInfoMap.lowerKey(endPoint.getKey());
|
Double lowerKey = distanceInfoMap.lowerKey(endPoint.getKey());
|
||||||
if(lowerKey==null){
|
if (lowerKey == null) {
|
||||||
lowerKey = endPoint.getKey();
|
lowerKey = endPoint.getKey();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,13 +313,20 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
//房间统一管理定时器;房间关闭后,定时器销毁
|
//房间统一管理定时器;房间关闭后,定时器销毁
|
||||||
addScheduledExecutorServiceRefenceToRoom(schedule);
|
addScheduledExecutorServiceRefenceToRoom(schedule);
|
||||||
}
|
}
|
||||||
|
|
||||||
private RedisUtil redisUtil;
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
//统一推送方法
|
//统一推送方法
|
||||||
protected void pushStatus(String resourceId) {
|
protected void pushStatus(String resourceId) {
|
||||||
if( redisUtil == null) {
|
if (StringUtils.isBlank(resourceId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (redisUtil == null) {
|
||||||
redisUtil = SpringUtil.getBean(RedisUtil.class);
|
redisUtil = SpringUtil.getBean(RedisUtil.class);
|
||||||
}
|
}
|
||||||
String jsonStr= (String) redisUtil.hget(this.scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"scenarioInfo");
|
String jsonStr = (String) redisUtil.hget(
|
||||||
|
this.scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
|
"scenarioInfo");
|
||||||
ResponseCmdInfo<String> respObj = new ResponseCmdInfo<>();
|
ResponseCmdInfo<String> respObj = new ResponseCmdInfo<>();
|
||||||
respObj.setData(jsonStr);
|
respObj.setData(jsonStr);
|
||||||
respObj.setRoom(roomId);
|
respObj.setRoom(roomId);
|
||||||
|
@ -325,6 +334,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
respObj.setCmdType("scenarioInfo");
|
respObj.setCmdType("scenarioInfo");
|
||||||
Global.sendCmdInfoQueue.add(respObj);
|
Global.sendCmdInfoQueue.add(respObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface BizTaskOnTiming {
|
interface BizTaskOnTiming {
|
||||||
|
|
|
@ -161,7 +161,7 @@ public class MoveTask extends AbtParentTask implements TaskAction {
|
||||||
//需要产生需求
|
//需要产生需求
|
||||||
produceFuelRequest();
|
produceFuelRequest();
|
||||||
//产生任务
|
//产生任务
|
||||||
produceTask();
|
produceTask(fuel);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ public class MoveTask extends AbtParentTask implements TaskAction {
|
||||||
SpringUtil.getBean(SupplierRequestServiceImpl.class).save(supplierRequest);
|
SpringUtil.getBean(SupplierRequestServiceImpl.class).save(supplierRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void produceTask() {
|
private void produceTask(double fuel) {
|
||||||
try {
|
try {
|
||||||
log.info("{}-产生自动保障任务", this.scenarioTask.getResourceId());
|
log.info("{}-产生自动保障任务", this.scenarioTask.getResourceId());
|
||||||
List<ScenarioResource> resourceList = SpringUtil.getBean(BattleSupplierServiceImpl.class)
|
List<ScenarioResource> resourceList = SpringUtil.getBean(BattleSupplierServiceImpl.class)
|
||||||
|
@ -214,7 +214,7 @@ public class MoveTask extends AbtParentTask implements TaskAction {
|
||||||
task.setResourceId(resourceList.get(0).getId());
|
task.setResourceId(resourceList.get(0).getId());
|
||||||
task.setTaskType("6");
|
task.setTaskType("6");
|
||||||
task.setInsureResourceId(scenarioTask.getResourceId());
|
task.setInsureResourceId(scenarioTask.getResourceId());
|
||||||
task.setSupplierNum(statisticBean.getFuel().getTotal());
|
task.setSupplierNum(statisticBean.getFuel().getTotal()-fuel);
|
||||||
task.setToLat(this.coordinateReference.get().getLat() + "");
|
task.setToLat(this.coordinateReference.get().getLat() + "");
|
||||||
task.setToLng(this.coordinateReference.get().getLng() + "");
|
task.setToLng(this.coordinateReference.get().getLng() + "");
|
||||||
task.setStartTime(LocalDateTime.now());
|
task.setStartTime(LocalDateTime.now());
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
package com.hivekion.room.bean;
|
package com.hivekion.room.bean;
|
||||||
|
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.hivekion.common.redis.RedisUtil;
|
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.ScenarioInfo;
|
||||||
import com.hivekion.statistic.bean.StatisticBean;
|
import com.hivekion.statistic.bean.StatisticBean;
|
||||||
import com.hivekion.statistic.service.StatisticService;
|
import com.hivekion.statistic.service.StatisticService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -55,7 +57,7 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
|
||||||
}
|
}
|
||||||
//推送最新状态信息
|
//推送最新状态信息
|
||||||
pushStatus(scenarioTask.getResourceId());
|
pushStatus(scenarioTask.getResourceId());
|
||||||
pushStatus(scenarioTask.getResourceId());
|
pushStatus(scenarioTask.getInsureResourceId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -71,112 +73,152 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void supplierMedical(StatisticBean statistic) {
|
private void supplierMedical(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);
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
|
||||||
"medical", statistic.getMedical().getTotal() + "");
|
|
||||||
|
|
||||||
//获取保障任务的药品信息
|
scenarioSupplierInfo.getMedical().setCurrent(scenarioInsureInfo.getMedical().getCurrent() - statistic.getMedical().getTotal());
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class)
|
scenarioInsureInfo.getMedical().setCurrent(statistic.getMedical().getTotal());
|
||||||
.hget(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
|
||||||
+ scenarioTask.getResourceId(),
|
|
||||||
"medical");
|
|
||||||
//减少保障分队的量
|
|
||||||
if (supplierObj != null) {
|
|
||||||
double supplierMedical = Double.parseDouble(supplierObj.toString());
|
|
||||||
|
|
||||||
double remain = supplierMedical - statistic.getMedical().getTotal();
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
SpringUtil.getBean(RedisUtil.class).hset(
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
||||||
+ scenarioTask.getResourceId(),
|
"scenarioInfo",JSON.toJSONString(scenarioInsureInfo));
|
||||||
"medical", remain + "");
|
|
||||||
}
|
SpringUtil.getBean(RedisUtil.class).hset(
|
||||||
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
|
"scenarioInfo",JSON.toJSONString(scenarioSupplierInfo));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void supplierFuel(StatisticBean statistic) {
|
private void supplierFuel(StatisticBean statistic) {
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
//保障分队
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
||||||
"fuel", statistic.getFuel().getTotal() + "");
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
|
"scenarioInfo");
|
||||||
|
//被保障分队
|
||||||
|
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
||||||
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
||||||
|
"scenarioInfo");
|
||||||
|
if(supplierObj!=null&&insureObj!=null){
|
||||||
|
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class)
|
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
|
||||||
.hget(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
||||||
+ scenarioTask.getResourceId(),
|
|
||||||
"fuel");
|
scenarioSupplierInfo.getFuel().setCurrent(scenarioInsureInfo.getFuel().getCurrent() - statistic.getFuel().getTotal());
|
||||||
//减少保障分队的量
|
scenarioInsureInfo.getFuel().setCurrent(statistic.getFuel().getTotal());
|
||||||
if (supplierObj != null) {
|
|
||||||
double supplierMedical = Double.parseDouble(supplierObj.toString());
|
|
||||||
|
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));
|
||||||
|
|
||||||
double remain = supplierMedical - statistic.getFuel().getTotal();
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
|
||||||
+ scenarioTask.getResourceId(),
|
|
||||||
"fuel", remain + "");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void supplierAmmunition(StatisticBean statistic) {
|
private void supplierAmmunition(StatisticBean statistic) {
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
//保障分队
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
||||||
"ammunition", statistic.getAmmunition().getTotal() + "");
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class)
|
"scenarioInfo");
|
||||||
.hget(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
//被保障分队
|
||||||
+ scenarioTask.getResourceId(),
|
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
||||||
"ammunition");
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
||||||
//减少保障分队的量
|
"scenarioInfo");
|
||||||
if (supplierObj != null) {
|
if(supplierObj!=null&&insureObj!=null){
|
||||||
double supplierMedical = Double.parseDouble(supplierObj.toString());
|
|
||||||
|
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));
|
||||||
|
|
||||||
double remain = supplierMedical - statistic.getAmmunition().getTotal();
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
|
||||||
+ scenarioTask.getResourceId(),
|
|
||||||
"ammunition", remain + "");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void supplierWater(StatisticBean statistic) {
|
private void supplierWater(StatisticBean statistic) {
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
//保障分队
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
Object supplierObj = SpringUtil.getBean(RedisUtil.class).hget(
|
||||||
"water", statistic.getWater().getTotal() + "");
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class)
|
"scenarioInfo");
|
||||||
.hget(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
//被保障分队
|
||||||
+ scenarioTask.getResourceId(),
|
Object insureObj = SpringUtil.getBean(RedisUtil.class).hget(
|
||||||
"water");
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
||||||
//减少保障分队的量
|
"scenarioInfo");
|
||||||
if (supplierObj != null) {
|
if(supplierObj!=null&&insureObj!=null){
|
||||||
double supplierMedical = Double.parseDouble(supplierObj.toString());
|
|
||||||
|
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));
|
||||||
|
|
||||||
double remain = supplierMedical - statistic.getWater().getTotal();
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
|
||||||
+ scenarioTask.getResourceId(),
|
|
||||||
"water", remain + "");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void supplierFood(StatisticBean statistic) {
|
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){
|
||||||
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
|
||||||
"food", statistic.getFood().getTotal() + "");
|
|
||||||
Object supplierObj = SpringUtil.getBean(RedisUtil.class)
|
scenarioSupplierInfo.getFood().setCurrent(scenarioInsureInfo.getFood().getCurrent() - statistic.getFood().getTotal());
|
||||||
.hget(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
scenarioInsureInfo.getFood().setCurrent(statistic.getFood().getTotal());
|
||||||
+ scenarioTask.getResourceId(),
|
|
||||||
"food");
|
|
||||||
//减少保障分队的量
|
SpringUtil.getBean(RedisUtil.class).hset(
|
||||||
if (supplierObj != null) {
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
|
||||||
double supplierMedical = Double.parseDouble(supplierObj.toString());
|
"scenarioInfo",JSON.toJSONString(scenarioInsureInfo));
|
||||||
|
|
||||||
|
SpringUtil.getBean(RedisUtil.class).hset(
|
||||||
|
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),
|
||||||
|
"scenarioInfo",JSON.toJSONString(scenarioSupplierInfo));
|
||||||
|
|
||||||
double remain = supplierMedical - statistic.getFood().getTotal();
|
|
||||||
SpringUtil.getBean(RedisUtil.class)
|
|
||||||
.hset(scenarioTask.getScenarioId() + "-" + roomId + "-"
|
|
||||||
+ scenarioTask.getResourceId(),
|
|
||||||
"food", remain + "");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user