Compare commits
No commits in common. "81e4cb3ce68e4d257d4ed70c23af35e8357e4317" and "fb0b35d38c4e4b1d0a8dd5a8f6e9c55d965fd001" have entirely different histories.
81e4cb3ce6
...
fb0b35d38c
|
|
@ -30,8 +30,6 @@ import java.util.concurrent.ThreadPoolExecutor;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
import com.hivekion.statistic.bean.ScenarioInfo;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.web.reactive.function.client.WebClient;
|
import org.springframework.web.reactive.function.client.WebClient;
|
||||||
|
|
@ -62,10 +60,6 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
protected final String roomId;
|
protected final String roomId;
|
||||||
//http请求
|
//http请求
|
||||||
protected WebClient webClient = WebClient.create();
|
protected WebClient webClient = WebClient.create();
|
||||||
|
|
||||||
private RedisUtil redisUtil;
|
|
||||||
|
|
||||||
private com.hivekion.statistic.service.ScenarioService scenarioService;
|
|
||||||
/**
|
/**
|
||||||
* 任务相对与想定的开始时间
|
* 任务相对与想定的开始时间
|
||||||
*/
|
*/
|
||||||
|
|
@ -311,17 +305,7 @@ public abstract class AbtParentTask implements TaskAction {
|
||||||
}
|
}
|
||||||
//统一推送方法
|
//统一推送方法
|
||||||
protected void pushStatus(String resourceId) {
|
protected void pushStatus(String resourceId) {
|
||||||
if( scenarioService == null) {
|
|
||||||
scenarioService = SpringUtil.getBean(com.hivekion.statistic.service.ScenarioService.class);
|
|
||||||
}
|
|
||||||
ScenarioInfo scenarioInfo = scenarioService.listScenarioInfo(this.scenarioTask.getScenarioId(),roomId,resourceId);
|
|
||||||
|
|
||||||
if( redisUtil == null){
|
|
||||||
redisUtil = SpringUtil.getBean(RedisUtil.class);
|
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"scenarioInfo",JSON.toJSONString(scenarioInfo));
|
|
||||||
}else{
|
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"scenarioInfo",JSON.toJSONString(scenarioInfo));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,22 +88,23 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
String jsonStr = (String)redisUtil.hget(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),"scenarioInfo");
|
|
||||||
|
|
||||||
ScenarioInfo scenarioInfo =JSONObject.parseObject(jsonStr,ScenarioInfo.class);
|
HashMap<String,Object> battleParams = new HashMap<>();
|
||||||
HashMap<String,Object> battleParams = new HashMap<>();
|
|
||||||
|
// statisticBean.getAmmunition().getCurrent()
|
||||||
//初始化本次战斗任务各种资源数
|
//初始化本次战斗任务各种资源数
|
||||||
battleParams.put("ammunition",Double.valueOf(scenarioInfo.getAmmunition().getTotal()).toString());
|
battleParams.put("ammunition",Double.valueOf(statisticBean.getAmmunition().getTotal()).toString());
|
||||||
battleParams.put("food",Double.valueOf(scenarioInfo.getFood().getTotal()).toString());
|
battleParams.put("food",Double.valueOf(statisticBean.getFood().getTotal()).toString());
|
||||||
battleParams.put("fuel",Double.valueOf(scenarioInfo.getFuel().getTotal()).toString());
|
battleParams.put("fuel",Double.valueOf(statisticBean.getFuel().getTotal()).toString());
|
||||||
battleParams.put("medical",Double.valueOf(scenarioInfo.getMedical().getTotal()).toString());
|
battleParams.put("medical",Double.valueOf(statisticBean.getMedical().getTotal()).toString());
|
||||||
battleParams.put("water",Double.valueOf(scenarioInfo.getWater().getTotal()).toString());
|
battleParams.put("water",Double.valueOf(statisticBean.getWater().getTotal()).toString());
|
||||||
battleParams.put("person",Integer.valueOf(scenarioInfo.getPerson().getTotal()).toString());
|
battleParams.put("person",Integer.valueOf(statisticBean.getPerson().getTotal()).toString());
|
||||||
battleParams.put("death",Integer.valueOf(scenarioInfo.getPerson().getDeath()).toString());
|
battleParams.put("death",Integer.valueOf(statisticBean.getPerson().getDeath()).toString());
|
||||||
battleParams.put("injured",Integer.valueOf(scenarioInfo.getPerson().getInjured()).toString());
|
battleParams.put("injured",Integer.valueOf(statisticBean.getPerson().getInjured()).toString());
|
||||||
battleParams.put("teamLat",scenarioInfo.getTeam().getLat().toString());
|
battleParams.put("teamLat",statisticBean.getTeam().getLat().toString());
|
||||||
battleParams.put("teamLng",scenarioInfo.getTeam().getLng().toString());
|
battleParams.put("teamLng",statisticBean.getTeam().getLng().toString());
|
||||||
battleParams.put("duringTime",Long.valueOf(initDuringTime).toString());
|
battleParams.put("duringTime",Long.valueOf(initDuringTime).toString());
|
||||||
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),battleParams);
|
||||||
log.info("===============================初始化本次战斗任务各种资源数====================================");
|
log.info("===============================初始化本次战斗任务各种资源数====================================");
|
||||||
double suppleAmount =statisticBean.getAmmunition().getTotal();
|
double suppleAmount =statisticBean.getAmmunition().getTotal();
|
||||||
int suppleDeath =statisticBean.getPerson().getDeath();
|
int suppleDeath =statisticBean.getPerson().getDeath();
|
||||||
|
|
@ -159,15 +160,6 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
battleParams.put("death",Long.valueOf(death+deathConsume).toString());
|
battleParams.put("death",Long.valueOf(death+deathConsume).toString());
|
||||||
battleParams.put("injured",Long.valueOf(injured +injuredConsume).toString());
|
battleParams.put("injured",Long.valueOf(injured +injuredConsume).toString());
|
||||||
battleParams.put("duringTime",Long.valueOf(duringTime).toString());
|
battleParams.put("duringTime",Long.valueOf(duringTime).toString());
|
||||||
|
|
||||||
scenarioInfo.getAmmunition().setCurrent(Double.valueOf(ammunition - ammunitionConsume));
|
|
||||||
scenarioInfo.getFood().setCurrent(Double.valueOf(food - foodConsume));
|
|
||||||
scenarioInfo.getFuel().setCurrent(Double.valueOf(fuel - fuelConsume));
|
|
||||||
scenarioInfo.getMedical().setCurrent(Double.valueOf(medical - medicalConsume));
|
|
||||||
scenarioInfo.getWater().setCurrent(Double.valueOf(water - waterConsume));
|
|
||||||
battleParams.put("death",Long.valueOf(death+deathConsume).toString());
|
|
||||||
battleParams.put("injured",Long.valueOf(injured +injuredConsume).toString());
|
|
||||||
battleParams.put("duringTime",Long.valueOf(duringTime).toString());
|
|
||||||
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), battleParams);
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(), battleParams);
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
log.error("==============================设置消耗信息失败=============================================",ex.getMessage());
|
log.error("==============================设置消耗信息失败=============================================",ex.getMessage());
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,11 @@ import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|
@ -28,7 +32,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
* @author liDongYu
|
* @author liDongYu
|
||||||
* @since 2025-09-15
|
* @since 2025-09-15
|
||||||
*/
|
*/
|
||||||
@RestController
|
@Controller
|
||||||
@RequestMapping("/battleSupplier")
|
@RequestMapping("/battleSupplier")
|
||||||
public class BattleSupplierController {
|
public class BattleSupplierController {
|
||||||
|
|
||||||
|
|
@ -43,7 +47,7 @@ public class BattleSupplierController {
|
||||||
public ResponseData<Void> save(@RequestBody BattleSupplier battleSupplier) {
|
public ResponseData<Void> save(@RequestBody BattleSupplier battleSupplier) {
|
||||||
if (battleSupplier.getId() == null) {
|
if (battleSupplier.getId() == null) {
|
||||||
battleSupplier.setId(IdUtils.simpleUUID());
|
battleSupplier.setId(IdUtils.simpleUUID());
|
||||||
BattleSupplier tmp = battleSupplierService.getOne(new QueryWrapper<BattleSupplier>().eq("BATTLE_RESOURCE_ID",battleSupplier.getBattleResourceId()).eq("SUPPLIER_RESOURCE_ID",battleSupplier.getSupplierResourceId()));
|
BattleSupplier tmp = battleSupplierService.getOne(new QueryWrapper<BattleSupplier>().eq("BATTLE_RESOURCE_ID",battleSupplier.getBattleResourceId()).or().eq("SUPPLIER_RESOURCE_ID",battleSupplier.getSupplierResourceId()));
|
||||||
if(Objects.isNull(tmp)) {
|
if(Objects.isNull(tmp)) {
|
||||||
battleSupplierService.save(battleSupplier);
|
battleSupplierService.save(battleSupplier);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,17 +25,4 @@ public class ScenarioInfo implements Serializable {
|
||||||
|
|
||||||
private List<SupplierRequest> supplierRequests;
|
private List<SupplierRequest> supplierRequests;
|
||||||
|
|
||||||
private TeamInfo team = new TeamInfo();
|
|
||||||
private PersonInfo person = new PersonInfo();
|
|
||||||
//弹药
|
|
||||||
private AmmunitionInfo ammunition = new AmmunitionInfo();
|
|
||||||
//食品
|
|
||||||
private FoodInfo food = new FoodInfo();
|
|
||||||
//水
|
|
||||||
private WaterInfo water = new WaterInfo();
|
|
||||||
//油
|
|
||||||
private FuelInfo fuel = new FuelInfo();
|
|
||||||
//药材
|
|
||||||
private MedicalInfo medical = new MedicalInfo();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@ import com.hivekion.scenario.service.ScenarioTaskService;
|
||||||
import com.hivekion.statistic.bean.ScenarioInfo;
|
import com.hivekion.statistic.bean.ScenarioInfo;
|
||||||
import com.hivekion.statistic.service.ScenarioService;
|
import com.hivekion.statistic.service.ScenarioService;
|
||||||
import com.hivekion.supplier.entity.SupplierRequest;
|
import com.hivekion.supplier.entity.SupplierRequest;
|
||||||
import com.hivekion.supplier.entity.SuppliesDict;
|
|
||||||
import com.hivekion.supplier.service.ISupplierRequestService;
|
import com.hivekion.supplier.service.ISupplierRequestService;
|
||||||
import com.hivekion.supplier.service.SuppliesDictService;
|
import com.hivekion.supplier.service.SuppliesDictService;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
@ -22,7 +21,6 @@ import org.springframework.stereotype.Component;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Component("WebsocketScenarioService")
|
@Component("WebsocketScenarioService")
|
||||||
|
|
@ -45,7 +43,6 @@ public class ScenarioServiceImpl implements ScenarioService {
|
||||||
private ISupplierRequestService supplierRequestService;
|
private ISupplierRequestService supplierRequestService;
|
||||||
@Override
|
@Override
|
||||||
public ScenarioInfo listScenarioInfo(Integer scenarioId, String roomId, String resourceId) {
|
public ScenarioInfo listScenarioInfo(Integer scenarioId, String roomId, String resourceId) {
|
||||||
ScenarioInfo scenarioInfo = new ScenarioInfo();
|
|
||||||
//获取分队信息
|
//获取分队信息
|
||||||
ScenarioResource resourceInstance = scenarioResourceService.getById(resourceId);
|
ScenarioResource resourceInstance = scenarioResourceService.getById(resourceId);
|
||||||
//获取关联的组织机构信息
|
//获取关联的组织机构信息
|
||||||
|
|
@ -62,51 +59,14 @@ public class ScenarioServiceImpl implements ScenarioService {
|
||||||
}
|
}
|
||||||
//获取物资信息
|
//获取物资信息
|
||||||
List<OrgSupplier> suppliers = orgSupplierService.selectByOrgIds(orgList);
|
List<OrgSupplier> suppliers = orgSupplierService.selectByOrgIds(orgList);
|
||||||
Map<String, SuppliesDict> supplierMap = suppliesDictService.supplierDictMap();
|
|
||||||
|
|
||||||
suppliers.forEach(supplier -> {
|
|
||||||
|
|
||||||
SuppliesDict dict = supplierMap.get(supplier.getSupplierId());
|
|
||||||
|
|
||||||
if (dict != null) {
|
|
||||||
switch (dict.getCode()) {
|
|
||||||
case "FOOD":
|
|
||||||
scenarioInfo.getFood().setTotal(scenarioInfo.getFood().getTotal()+supplier.getAccount());
|
|
||||||
scenarioInfo.getFood().setCurrent(scenarioInfo.getFood().getCurrent()+supplier.getAccount());
|
|
||||||
break;
|
|
||||||
case "WATER":
|
|
||||||
scenarioInfo.getWater().setTotal(scenarioInfo.getWater().getTotal()+supplier.getAccount());
|
|
||||||
scenarioInfo.getWater().setCurrent(scenarioInfo.getWater().getCurrent()+supplier.getAccount());
|
|
||||||
break;
|
|
||||||
case "FUEL":
|
|
||||||
scenarioInfo.getFuel().setTotal(scenarioInfo.getFuel().getTotal()+supplier.getAccount());
|
|
||||||
scenarioInfo.getFuel().setCurrent(scenarioInfo.getFuel().getCurrent()+supplier.getAccount());
|
|
||||||
break;
|
|
||||||
case "MEDICAL":
|
|
||||||
scenarioInfo.getMedical().setTotal( scenarioInfo.getMedical().getTotal()+supplier.getAccount());
|
|
||||||
scenarioInfo.getMedical().setCurrent( scenarioInfo.getMedical().getCurrent()+supplier.getAccount());
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "AMMUNITION":
|
|
||||||
scenarioInfo.getAmmunition().setTotal( scenarioInfo.getAmmunition().getTotal()+supplier.getAccount());
|
|
||||||
scenarioInfo.getAmmunition().setCurrent(scenarioInfo.getAmmunition().getCurrent()+supplier.getAccount());
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ScenarioTask scenarioTask = new ScenarioTask();
|
ScenarioTask scenarioTask = new ScenarioTask();
|
||||||
scenarioTask.setScenarioId(scenarioId);
|
scenarioTask.setScenarioId(scenarioId);
|
||||||
scenarioTask.setRoomId(roomId);
|
scenarioTask.setRoomId(roomId);
|
||||||
scenarioTask.setResourceId(resourceId);
|
scenarioTask.setResourceId(resourceId);
|
||||||
|
|
||||||
|
|
||||||
List<ScenarioTask> scenarioTasks = scenarioTaskService.queryTaskList(scenarioTask);
|
List<ScenarioTask> scenarioTasks = scenarioTaskService.queryTaskList(scenarioTask);
|
||||||
|
|
||||||
List<SupplierRequest> supplierRequests = supplierRequestService.list(new QueryWrapper<SupplierRequest>().eq("FROM_RESOURCE_ID",resourceId));
|
List<SupplierRequest> supplierRequests = supplierRequestService.list(new QueryWrapper<SupplierRequest>().eq("FROM_RESOURCE_ID",resourceId));
|
||||||
|
ScenarioInfo scenarioInfo = new ScenarioInfo();
|
||||||
scenarioInfo.setScenarioTasks(scenarioTasks);
|
scenarioInfo.setScenarioTasks(scenarioTasks);
|
||||||
scenarioInfo.setStaffList(staffList);
|
scenarioInfo.setStaffList(staffList);
|
||||||
scenarioInfo.setOrgPostList(orgPostList);
|
scenarioInfo.setOrgPostList(orgPostList);
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,6 @@ public class StatisticServiceImpl implements StatisticService {
|
||||||
//获取分队信息
|
//获取分队信息
|
||||||
ScenarioResource resourceInstance = scenarioResourceService.getById(resourceId);
|
ScenarioResource resourceInstance = scenarioResourceService.getById(resourceId);
|
||||||
if(resourceInstance == null){
|
if(resourceInstance == null){
|
||||||
log.info("==========================");
|
|
||||||
return statisticBean;
|
return statisticBean;
|
||||||
}
|
}
|
||||||
Map<Integer, Teaminfo> map = teamInfoService.teamInfoMap();
|
Map<Integer, Teaminfo> map = teamInfoService.teamInfoMap();
|
||||||
|
|
@ -111,7 +110,7 @@ public class StatisticServiceImpl implements StatisticService {
|
||||||
List<Integer> orgList = orgPostList.stream().map(ScenarioOrgPost::getOrgId)
|
List<Integer> orgList = orgPostList.stream().map(ScenarioOrgPost::getOrgId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if(CollectionUtil.isEmpty(orgList)){
|
if(CollectionUtil.isEmpty(orgList)){
|
||||||
return statisticBean;
|
return new StatisticBean();
|
||||||
}
|
}
|
||||||
//获取人员信息
|
//获取人员信息
|
||||||
if(!orgList.isEmpty()){
|
if(!orgList.isEmpty()){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user