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); } + }