初次提交

This commit is contained in:
李玉东 2025-09-14 18:28:51 +08:00
parent 8a67a6366e
commit 6a50a67bab

View File

@ -78,6 +78,7 @@ public class ScenarioTaskServiceImpl extends
new Thread(() -> { new Thread(() -> {
springGlobalTaskManager.startPerSecondTask(roomId + "_" + id + "_task", () -> { springGlobalTaskManager.startPerSecondTask(roomId + "_" + id + "_task", () -> {
//时间累计 //时间累计
increaseTime(currentScenario, roomId); increaseTime(currentScenario, roomId);
//天气触发 //天气触发
@ -105,19 +106,24 @@ public class ScenarioTaskServiceImpl extends
} }
private void increaseTime(Scenario currentScenario, String roomId) { private void increaseTime(Scenario currentScenario, String roomId) {
int mag = Global.roomParamMap.get(currentScenario.getId() + "_" + roomId) == null ? 1 try{
: Global.roomParamMap.get(currentScenario.getId() + "_" + roomId).getMag(); int mag = Global.roomParamMap.get(currentScenario.getId() + "_" + roomId) == null ? 1
//获取当前状态 : Global.roomParamMap.get(currentScenario.getId() + "_" + roomId).getMag();
Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status"); //获取当前状态
if (statusObj != null && statusObj.toString().equals("running")) { Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status");
Object duringObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "duringTime"); if (statusObj != null && statusObj.toString().equals("running")) {
if (duringObj != null) { Object duringObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "duringTime");
int oldValue = duringObj instanceof Integer ? (Integer) duringObj : 0; if (duringObj != null) {
oldValue = oldValue + mag; int oldValue = duringObj instanceof Integer ? (Integer) duringObj : 0;
redisUtil.hset(roomId + "_" + currentScenario.getId(), "duringTime", oldValue); oldValue = oldValue + mag;
} redisUtil.hset(roomId + "_" + currentScenario.getId(), "duringTime", oldValue);
}
}
}catch (Exception e){
log.error("error::",e);
} }
} }
/** /**
@ -154,35 +160,40 @@ public class ScenarioTaskServiceImpl extends
} }
private void taskTrigger(Scenario currentScenario, String roomId) { private void taskTrigger(Scenario currentScenario, String roomId) {
Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status"); try{
if (statusObj != null && statusObj.toString().equals("running")) { Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status");
Object taskListObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "taskList"); if (statusObj != null && statusObj.toString().equals("running")) {
if (taskListObj != null) { Object taskListObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "taskList");
if (taskListObj != null) {
if (taskListObj instanceof List<?>) { if (taskListObj instanceof List<?>) {
List<?> taskList = (List<?>) taskListObj; List<?> taskList = (List<?>) taskListObj;
for (Object task : taskList) { for (Object task : taskList) {
ScenarioTask scenarioTask = (ScenarioTask) task;
switch (scenarioTask.getTaskType()) {
case "1":
taskLogicService.handleMoveTask(scenarioTask, currentScenario, roomId,18.0,null);
break;
case "2":
taskLogicService.handleBattleTask(scenarioTask, currentScenario, roomId);
break;
case "4":
case "5":
case "6":
case "7":
default:
taskLogicService.supplierTask(scenarioTask, currentScenario, roomId);
}
ScenarioTask scenarioTask = (ScenarioTask) task;
switch (scenarioTask.getTaskType()) {
case "1":
taskLogicService.handleMoveTask(scenarioTask, currentScenario, roomId,18.0,null);
break;
case "2":
taskLogicService.handleBattleTask(scenarioTask, currentScenario, roomId);
break;
case "4":
case "5":
case "6":
case "7":
default:
taskLogicService.supplierTask(scenarioTask, currentScenario, roomId);
} }
} }
} }
} }
}catch (Exception e){
log.error("error::",e);
} }
} }