From 6a50a67babea423adad1bf94b9f2ab133570ba6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=8E=89=E4=B8=9C?= <129883742+liyudong2018@users.noreply.github.com> Date: Sun, 14 Sep 2025 18:28:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ScenarioTaskServiceImpl.java | 77 +++++++++++-------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/hivekion/scenario/service/impl/ScenarioTaskServiceImpl.java b/src/main/java/com/hivekion/scenario/service/impl/ScenarioTaskServiceImpl.java index 70927ec..6ba5997 100644 --- a/src/main/java/com/hivekion/scenario/service/impl/ScenarioTaskServiceImpl.java +++ b/src/main/java/com/hivekion/scenario/service/impl/ScenarioTaskServiceImpl.java @@ -78,6 +78,7 @@ public class ScenarioTaskServiceImpl extends new Thread(() -> { springGlobalTaskManager.startPerSecondTask(roomId + "_" + id + "_task", () -> { + //时间累计 increaseTime(currentScenario, roomId); //天气触发 @@ -105,19 +106,24 @@ public class ScenarioTaskServiceImpl extends } private void increaseTime(Scenario currentScenario, String roomId) { - 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 duringObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "duringTime"); - if (duringObj != null) { - int oldValue = duringObj instanceof Integer ? (Integer) duringObj : 0; - oldValue = oldValue + mag; - redisUtil.hset(roomId + "_" + currentScenario.getId(), "duringTime", oldValue); - } + try{ + 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 duringObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "duringTime"); + if (duringObj != null) { + int oldValue = duringObj instanceof Integer ? (Integer) duringObj : 0; + 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) { - Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status"); - if (statusObj != null && statusObj.toString().equals("running")) { - Object taskListObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "taskList"); - if (taskListObj != null) { + try{ + Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status"); + if (statusObj != null && statusObj.toString().equals("running")) { + Object taskListObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "taskList"); + if (taskListObj != null) { - if (taskListObj instanceof List) { - List taskList = (List) taskListObj; - for (Object task : taskList) { + if (taskListObj instanceof List) { + List taskList = (List) taskListObj; + 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); } + }