任务相关

This commit is contained in:
李玉东 2025-09-21 06:24:08 +08:00
parent 92f0b52980
commit fb926dc7a6
6 changed files with 35 additions and 24 deletions

View File

@ -348,7 +348,7 @@ public abstract class AbtParentTask implements TaskAction {
this.scenarioTask.getResourceId()); this.scenarioTask.getResourceId());
editScenarioInfo.getJbxx().getTeam().setLat(coordinate.getLat() + ""); editScenarioInfo.getJbxx().getTeam().setLat(coordinate.getLat() + "");
editScenarioInfo.getJbxx().getTeam().setLng(coordinate.getLng() + ""); editScenarioInfo.getJbxx().getTeam().setLng(coordinate.getLng() + "");
setEditScenarioInfo(editScenarioInfo); setEditScenarioInfo(editScenarioInfo,scenarioTask.getResourceId());
pushStatus(scenarioTask.getResourceId()); pushStatus(scenarioTask.getResourceId());
} else if (Double.compare(distance, endPoint.getKey()) == 0) { } else if (Double.compare(distance, endPoint.getKey()) == 0) {
@ -399,9 +399,9 @@ public abstract class AbtParentTask implements TaskAction {
return JSON.parseObject(updJsonStr, EditScenarioInfo.class); return JSON.parseObject(updJsonStr, EditScenarioInfo.class);
} }
protected void setEditScenarioInfo(EditScenarioInfo editScenarioInfo) { protected void setEditScenarioInfo(EditScenarioInfo editScenarioInfo,String resourceId) {
SpringUtil.getBean(RedisUtil.class).hset( SpringUtil.getBean(RedisUtil.class).hset(
this.scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), this.scenarioTask.getScenarioId() + "-" + roomId + "-" + resourceId,
"updScenarioInfo", JSON.toJSONString(editScenarioInfo)); "updScenarioInfo", JSON.toJSONString(editScenarioInfo));
} }

View File

@ -215,10 +215,7 @@ public class BattleRootTask extends AbtParentTask {
battleConsume.setResourceId(scenarioTask.getResourceId()); battleConsume.setResourceId(scenarioTask.getResourceId());
battleConsume.setConsumeDate(currentDateTime); battleConsume.setConsumeDate(currentDateTime);
battleConsumeService.save(battleConsume); battleConsumeService.save(battleConsume);
if(injuredConsume>2&&!isAlreadyProduceTask.get()){
//产生一个
}
}catch (Exception ex){ }catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();
log.error("==================推送消耗數據 失败============================================",ex.getMessage()); log.error("==================推送消耗數據 失败============================================",ex.getMessage());

View File

@ -108,7 +108,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); setEditScenarioInfo(editScenarioInfo,scenarioTask.getResourceId());
//插入消耗表 //插入消耗表
insertConsumption(currentUseUp); insertConsumption(currentUseUp);

View File

@ -5,6 +5,7 @@ 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.EditScenarioInfo;
import com.hivekion.statistic.bean.ScenarioInfo; 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;
@ -32,7 +33,7 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
StatisticBean statistic = SpringUtil.getBean(StatisticService.class) StatisticBean statistic = SpringUtil.getBean(StatisticService.class)
.statistic(scenarioTask.getResourceId()); .statistic(scenarioTask.getResourceId());
initPath(); //初始化路径 initPath(); //初始化路径
updatePath(30, null, new TaskAction() { updatePath(50, null, new TaskAction() {
@Override @Override
public void doSomeThing() { public void doSomeThing() {
@ -113,12 +114,22 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
"scenarioInfo"); "scenarioInfo");
if(supplierObj!=null&&insureObj!=null){ if(supplierObj!=null&&insureObj!=null){
ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class); ScenarioInfo scenarioSupplierInfo = JSON.parseObject(supplierObj.toString(), ScenarioInfo.class);
ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class); ScenarioInfo scenarioInsureInfo = JSON.parseObject(insureObj.toString(), ScenarioInfo.class);
scenarioSupplierInfo.getFuel().setCurrent(scenarioInsureInfo.getFuel().getCurrent() - statistic.getFuel().getTotal()); scenarioSupplierInfo.getFuel().setCurrent(scenarioInsureInfo.getFuel().getCurrent() - statistic.getFuel().getTotal());
scenarioInsureInfo.getFuel().setCurrent(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( SpringUtil.getBean(RedisUtil.class).hset(
scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(), scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getInsureResourceId(),
@ -131,6 +142,7 @@ public class SupplierTask extends AbtParentTask implements TaskAction {
} }
} }
private void supplierAmmunition(StatisticBean statistic) { private void supplierAmmunition(StatisticBean statistic) {
//保障分队 //保障分队

View File

@ -33,8 +33,8 @@ public class WsServer {
// key -> 当前key下所有会话 // key -> 当前key下所有会话
private static final Map<String, Map<String, Map<String, Session>>> SESSION_MAP = new ConcurrentHashMap<>(); private static final Map<String, Map<String, Map<String, Session>>> SESSION_MAP = new ConcurrentHashMap<>();
private static final Object lock = new Object(); private static final Object lock = new Object();
private static final Object receiveLock = new Object();
@OnOpen @OnOpen
public void onOpen(Session session, public void onOpen(Session session,
@ -86,17 +86,19 @@ public class WsServer {
@OnMessage @OnMessage
public void onMessage(String message, Session session, @PathParam("room") String room, public void onMessage(String message, Session session, @PathParam("room") String room,
@PathParam("scenarioId") Integer scenarioId) { @PathParam("scenarioId") Integer scenarioId) {
try { synchronized (receiveLock) {
log.info("onMessage::room: {}, message: {}", room, message); try {
RequestCmdInfo requestCmdInfo = new RequestCmdInfo(); log.info("onMessage::room: {}, message: {}", room, message);
requestCmdInfo.setScenarioId((scenarioId)); RequestCmdInfo requestCmdInfo = new RequestCmdInfo();
requestCmdInfo.setRoom(room); requestCmdInfo.setScenarioId((scenarioId));
requestCmdInfo.setCmdType(JSON.parseObject(message,RequestCmdInfo.class).getCmdType()); requestCmdInfo.setRoom(room);
requestCmdInfo.setCmdType(JSON.parseObject(message, RequestCmdInfo.class).getCmdType());
requestCmdInfo.setMessage(message); requestCmdInfo.setMessage(message);
Global.receiveCmdInfoQueue.add(requestCmdInfo); Global.receiveCmdInfoQueue.add(requestCmdInfo);
} catch (Exception e) { } catch (Exception e) {
log.error("onMessage::room: {}, message: {},error::", room, message, e); log.error("onMessage::room: {}, message: {},error::", room, message, e);
}
} }
@ -114,11 +116,11 @@ 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("send {},{},{}", message, scenarioId, room); // log.info("send {},{},{}", message, 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));
// log.info("roomMap:{}", roomMap); // log.info("roomMap:{}", roomMap);
if (roomMap != null) { if (roomMap != null) {
if (roomMap.containsKey(room)) { if (roomMap.containsKey(room)) {
Map<String, Session> singleRoomMap = roomMap.get(room); Map<String, Session> singleRoomMap = roomMap.get(room);

View File

@ -3,12 +3,12 @@ death.warn = 56
ammunition.warn = 3 ammunition.warn = 3
food.warn = 3 food.warn = 3
water.warn = 3 water.warn = 3
fuel.warn = 99.99 fuel.warn = 95.99
medical.warn = 1 medical.warn = 1
death.spreed = 3 death.spreed = 3
injured.spreed = 3 injured.spreed = 3
ammunition.spreed = 2.6 ammunition.spreed = 2.6
food.spreed = 2.3 food.spreed = 2.3
water.spreed = 3.6 water.spreed = 3.6
fuel.spreed = 0.04 fuel.spreed = 0.4
medical.spreed = 1.6 medical.spreed = 1.6