diff --git a/src/main/java/com/hivekion/room/bean/BattleRootTask.java b/src/main/java/com/hivekion/room/bean/BattleRootTask.java index 01d021a..39087d4 100644 --- a/src/main/java/com/hivekion/room/bean/BattleRootTask.java +++ b/src/main/java/com/hivekion/room/bean/BattleRootTask.java @@ -156,6 +156,26 @@ public class BattleRootTask extends AbtParentTask { scenarioInfo.getWater().setCurrent(Double.valueOf(water - waterConsume)); scenarioInfo.getPerson().setDeath(Long.valueOf(death+deathConsume).intValue()); scenarioInfo.getPerson().setInjured(Long.valueOf(injured +injuredConsume).intValue()); + scenarioInfo.getPerson().setCurrent(scenarioInfo.getPerson().getCurrent()-Long.valueOf(death+deathConsume).intValue()); + + String updJsonStr= (String) redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"updScenarioInfo"); + EditScenarioInfo updScenarioInfo = JSON.parseObject(updJsonStr, EditScenarioInfo.class); + updScenarioInfo.getJbxx().getAmmunition().setCurrent(Double.valueOf(ammunition - ammunitionConsume)); + updScenarioInfo.getJbxx().getFood().setCurrent(Double.valueOf(food - foodConsume)); + updScenarioInfo.getJbxx().getFuel().setCurrent(Double.valueOf(fuel - fuelConsume)); + updScenarioInfo.getJbxx().getMedical().setCurrent(Double.valueOf(medical - medicalConsume)); + updScenarioInfo.getJbxx().getWater().setCurrent(Double.valueOf(water - waterConsume)); + updScenarioInfo.getJbxx().getPerson().setDeath(Long.valueOf(death+deathConsume).intValue()); + updScenarioInfo.getJbxx().getPerson().setInjured(Long.valueOf(injured +injuredConsume).intValue()); + updScenarioInfo.getJbxx().getPerson().setCurrent(updScenarioInfo.getJbxx().getPerson().getCurrent()-Long.valueOf(death+deathConsume).intValue()); + redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), + "updScenarioInfo", JSON.toJSONString(updScenarioInfo)); + ResponseCmdInfo respObj = new ResponseCmdInfo<>(); + respObj.setData(JSON.toJSONString(updScenarioInfo)); + respObj.setRoom(roomId); + respObj.setScenarioId(scenarioTask.getScenarioId()); + respObj.setCmdType("updScenarioInfo"); + Global.sendCmdInfoQueue.add(respObj); redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"duringTime",String.valueOf(duringTime)); redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), "scenarioInfo",JSONObject.toJSONString(scenarioInfo)); }catch (Exception ex){ @@ -229,7 +249,7 @@ public class BattleRootTask extends AbtParentTask { respObj.setData(JSON.toJSONString(supplierRequest)); respObj.setRoom(roomId); respObj.setScenarioId(scenarioTask.getScenarioId()); - respObj.setCmdType(""); + respObj.setCmdType("ammunitionRequest"); Global.sendCmdInfoQueue.add(respObj); suppleFlagMap.put("ammunition",true) ; } @@ -252,6 +272,7 @@ public class BattleRootTask extends AbtParentTask { respObj.setData(JSON.toJSONString(supplierRequest)); respObj.setRoom(roomId); respObj.setScenarioId(scenarioTask.getScenarioId()); + respObj.setCmdType("deathRequest"); Global.sendCmdInfoQueue.add(respObj); suppleFlagMap.put("death",true) ; } @@ -271,6 +292,7 @@ public class BattleRootTask extends AbtParentTask { respObj.setData(JSON.toJSONString(supplierRequest)); respObj.setRoom(roomId); respObj.setScenarioId(scenarioTask.getScenarioId()); + respObj.setCmdType("injuredRequest"); Global.sendCmdInfoQueue.add(respObj); suppleFlagMap.put("injured",true) ; } diff --git a/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java b/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java index 5afacdc..ac39ceb 100644 --- a/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java +++ b/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java @@ -102,6 +102,12 @@ public class ScenarioServiceImpl implements ScenarioService { staffList = fightpowerstaffService.queryByOrgIds(orgList); if(CollectionUtil.isEmpty(staffList)){ staffList = new ArrayList<>(); + }else{ + int sum = staffList.stream() + .mapToInt(Fightpowerstaff::getNumber) + .sum(); + scenarioInfo.getPerson().setCurrent(sum); + scenarioInfo.getPerson().setTotal(sum); } //获取物资信息 suppliers = orgSupplierService.selectByOrgIds(orgList); @@ -248,6 +254,12 @@ public class ScenarioServiceImpl implements ScenarioService { staffList = fightpowerstaffService.queryByOrgIds(orgList); if(CollectionUtil.isEmpty(staffList)){ staffList = new ArrayList<>(); + }else{ + int sum = staffList.stream() + .mapToInt(Fightpowerstaff::getNumber) + .sum(); + scenarioInfo.getJbxx().getPerson().setCurrent(sum); + scenarioInfo.getJbxx().getPerson().setTotal(sum); } //获取物资信息 suppliers = orgSupplierService.selectByOrgIds(orgList);