Merge remote-tracking branch 'origin/main'

# Conflicts:
#	src/main/java/com/hivekion/room/bean/BattleRootTask.java
This commit is contained in:
wangwenhua 2025-09-21 06:25:10 +08:00
commit 6304f2a9c2
5 changed files with 35 additions and 21 deletions

View File

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

View File

@ -108,7 +108,7 @@ public class MoveTask extends AbtParentTask implements TaskAction {
EditScenarioInfo editScenarioInfo = getEditScenarioInfo(
this.scenarioTask.getResourceId());
editScenarioInfo.getJbxx().getFuel().setCurrent(editScenarioInfo.getJbxx().getFuel().getCurrent()-currentUseUp);
setEditScenarioInfo(editScenarioInfo);
setEditScenarioInfo(editScenarioInfo,scenarioTask.getResourceId());
//插入消耗表
insertConsumption(currentUseUp);

View File

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

View File

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

View File

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