Merge branch 'main' of http://git.hivekion.com:3000/liyudong/simulation-backend into main
This commit is contained in:
commit
63ba2a60b5
16
pom.xml
16
pom.xml
|
|
@ -51,6 +51,17 @@
|
||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
<version>5.1.47</version>
|
<version>5.1.47</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.lettuce</groupId>
|
||||||
|
<artifactId>lettuce-core</artifactId>
|
||||||
|
<version>6.2.4.RELEASE</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-pool2</artifactId>
|
||||||
|
<version>2.12.0</version> <!-- 建议使用最新稳定版本 -->
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- <dependency>-->
|
<!-- <dependency>-->
|
||||||
<!-- <groupId>mysql</groupId>-->
|
<!-- <groupId>mysql</groupId>-->
|
||||||
<!-- <artifactId>mysql-connector-java</artifactId>-->
|
<!-- <artifactId>mysql-connector-java</artifactId>-->
|
||||||
|
|
@ -179,6 +190,11 @@
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.lettuce</groupId>
|
||||||
|
<artifactId>lettuce-core</artifactId>
|
||||||
|
<version>6.2.4.RELEASE</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.baomidou</groupId>
|
<groupId>com.baomidou</groupId>
|
||||||
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
|
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.hivekion.room.bean;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.hivekion.Global;
|
import com.hivekion.Global;
|
||||||
import com.hivekion.common.entity.ResponseCmdInfo;
|
import com.hivekion.common.entity.ResponseCmdInfo;
|
||||||
|
|
@ -41,8 +42,8 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
|
|
||||||
private ISupplierRequestService supplierRequestService;
|
private ISupplierRequestService supplierRequestService;
|
||||||
|
|
||||||
private static final Double TEAM_SPREED = 1.2D;
|
private static final Integer DEATH_SPREED = 3;
|
||||||
private static final Double PERSON_SPREED = 3D;
|
private static final Integer INJURED_SPREED = 3;
|
||||||
private static final Double AMMUNITION_SPREED = 2.6D;
|
private static final Double AMMUNITION_SPREED = 2.6D;
|
||||||
private static final Double FOOD_SPREED = 2.3D;
|
private static final Double FOOD_SPREED = 2.3D;
|
||||||
private static final Double WATER_SPREED = 3.6D;
|
private static final Double WATER_SPREED = 3.6D;
|
||||||
|
|
@ -84,30 +85,33 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
|
|
||||||
// statisticBean.getAmmunition().getCurrent()
|
// statisticBean.getAmmunition().getCurrent()
|
||||||
//初始化本次战斗任务各种资源数
|
//初始化本次战斗任务各种资源数
|
||||||
|
|
||||||
battleParams.put("ammunition",Double.valueOf(statisticBean.getAmmunition().getCurrent()).toString());
|
battleParams.put("ammunition",Double.valueOf(statisticBean.getAmmunition().getCurrent()).toString());
|
||||||
battleParams.put("food",Double.valueOf(statisticBean.getFood().getCurrent()).toString());
|
battleParams.put("food",Double.valueOf(statisticBean.getFood().getCurrent()).toString());
|
||||||
battleParams.put("fuel",Double.valueOf(statisticBean.getFuel().getCurrent()).toString());
|
battleParams.put("fuel",Double.valueOf(statisticBean.getFuel().getCurrent()).toString());
|
||||||
battleParams.put("medical",Double.valueOf(statisticBean.getMedical().getCurrent()).toString());
|
battleParams.put("medical",Double.valueOf(statisticBean.getMedical().getCurrent()).toString());
|
||||||
battleParams.put("water",Double.valueOf(statisticBean.getWater().getCurrent()).toString());
|
battleParams.put("water",Double.valueOf(statisticBean.getWater().getCurrent()).toString());
|
||||||
battleParams.put("person",Double.valueOf(statisticBean.getPerson().getCurrent()).toString());
|
battleParams.put("death",Double.valueOf(statisticBean.getPerson().getDeath()).toString());
|
||||||
|
battleParams.put("injured",Double.valueOf(statisticBean.getPerson().getInjured()).toString());
|
||||||
battleParams.put("teamLat",statisticBean.getTeam().getLat().toString());
|
battleParams.put("teamLat",statisticBean.getTeam().getLat().toString());
|
||||||
battleParams.put("teamLng",statisticBean.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);
|
redisUtil.hset(scenarioTask.getScenarioId() + "-" + roomId + "-" + scenarioTask.getResourceId(),battleParams);
|
||||||
log.info("===============================初始化本次战斗任务各种资源数====================================");
|
log.info("===============================初始化本次战斗任务各种资源数====================================");
|
||||||
double suppleAmount =statisticBean.getAmmunition().getTotal();
|
double suppleAmount =statisticBean.getAmmunition().getTotal();
|
||||||
double supplePerson =statisticBean.getPerson().getTotal();
|
int suppleDeath =statisticBean.getPerson().getDeath();
|
||||||
|
int suppleInjured =statisticBean.getPerson().getInjured();
|
||||||
final Map<String,Boolean> suppleFlagMap = new HashMap<>();
|
final Map<String,Boolean> suppleFlagMap = new HashMap<>();
|
||||||
suppleFlagMap.put("ammunition",false);
|
suppleFlagMap.put("ammunition",false);
|
||||||
suppleFlagMap.put("person",false);
|
suppleFlagMap.put("death",false);
|
||||||
|
suppleFlagMap.put("injured",false);
|
||||||
//定时检查统计各种资源消耗量
|
//定时检查统计各种资源消耗量
|
||||||
this.createBattleTaskOnTimingHandle(new BizTaskOnTiming() {
|
this.createBattleTaskOnTimingHandle(new BizTaskOnTiming() {
|
||||||
@Override
|
@Override
|
||||||
public void execTask() {
|
public void execTask() {
|
||||||
log.info("===============================定时检查统计各种资源消耗量 begin====================================");
|
log.info("===============================定时检查统计各种资源消耗量 begin====================================");
|
||||||
|
|
||||||
Double personConsume = null;
|
Long deathConsume = null;
|
||||||
|
Long injuredConsume = null;
|
||||||
Double ammunitionConsume = null;
|
Double ammunitionConsume = null;
|
||||||
Double foodConsume = null;
|
Double foodConsume = null;
|
||||||
Double waterConsume = null;
|
Double waterConsume = null;
|
||||||
|
|
@ -126,11 +130,13 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
double fuel = Double.valueOf(battleParams.get("fuel").toString());
|
double fuel = Double.valueOf(battleParams.get("fuel").toString());
|
||||||
double medical = Double.valueOf(battleParams.get("medical").toString());
|
double medical = Double.valueOf(battleParams.get("medical").toString());
|
||||||
double water = Double.valueOf(battleParams.get("water").toString());
|
double water = Double.valueOf(battleParams.get("water").toString());
|
||||||
double person = Double.valueOf(battleParams.get("person").toString());
|
long death = Long.valueOf(battleParams.get("death").toString());
|
||||||
|
long injured = Long.valueOf(battleParams.get("injured").toString());
|
||||||
teamLat = battleParams.get( "teamLat").toString();
|
teamLat = battleParams.get( "teamLat").toString();
|
||||||
teamLng = battleParams.get( "teamLng").toString();
|
teamLng = battleParams.get( "teamLng").toString();
|
||||||
//
|
//
|
||||||
personConsume = intervalDuringTime * PERSON_SPREED;
|
deathConsume = DEATH_SPREED * intervalDuringTime;
|
||||||
|
injuredConsume = INJURED_SPREED * intervalDuringTime;
|
||||||
ammunitionConsume = intervalDuringTime * AMMUNITION_SPREED;
|
ammunitionConsume = intervalDuringTime * AMMUNITION_SPREED;
|
||||||
foodConsume = intervalDuringTime * FOOD_SPREED;
|
foodConsume = intervalDuringTime * FOOD_SPREED;
|
||||||
waterConsume = intervalDuringTime * WATER_SPREED;
|
waterConsume = intervalDuringTime * WATER_SPREED;
|
||||||
|
|
@ -142,7 +148,8 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
battleParams.put("fuel",Double.valueOf(fuel - fuelConsume).toString());
|
battleParams.put("fuel",Double.valueOf(fuel - fuelConsume).toString());
|
||||||
battleParams.put("medical",Double.valueOf(medical - medicalConsume).toString());
|
battleParams.put("medical",Double.valueOf(medical - medicalConsume).toString());
|
||||||
battleParams.put("water",Double.valueOf(water - waterConsume).toString());
|
battleParams.put("water",Double.valueOf(water - waterConsume).toString());
|
||||||
battleParams.put("person",Double.valueOf(person - personConsume).toString());
|
battleParams.put("death",Long.valueOf(death - deathConsume).toString());
|
||||||
|
battleParams.put("injured",Long.valueOf(injured - injuredConsume).toString());
|
||||||
battleParams.put("duringTime",Long.valueOf(duringTime).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){
|
||||||
|
|
@ -151,7 +158,8 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
try {
|
try {
|
||||||
//推送消耗數據
|
//推送消耗數據
|
||||||
ResponseCmdInfo<JSONObject> sendConsumeMsg = new ResponseCmdInfo<>();
|
ResponseCmdInfo<JSONObject> sendConsumeMsg = new ResponseCmdInfo<>();
|
||||||
jsonObject.put("personConsume", personConsume);
|
jsonObject.put("deathConsume", deathConsume);
|
||||||
|
jsonObject.put("injuredConsume", injuredConsume);
|
||||||
jsonObject.put("ammunitionConsume", ammunitionConsume);
|
jsonObject.put("ammunitionConsume", ammunitionConsume);
|
||||||
jsonObject.put("foodConsume", foodConsume);
|
jsonObject.put("foodConsume", foodConsume);
|
||||||
jsonObject.put("waterConsume", waterConsume);
|
jsonObject.put("waterConsume", waterConsume);
|
||||||
|
|
@ -167,9 +175,10 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
LocalDateTime currentDateTime = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
LocalDateTime currentDateTime = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||||
String person = SpringUtil.getBean(Environment.class).getProperty("battle.person.warn");
|
String death = SpringUtil.getBean(Environment.class).getProperty("battle.death.warn");
|
||||||
|
String injured = SpringUtil.getBean(Environment.class).getProperty("battle.injured.warn");
|
||||||
String ammunition = SpringUtil.getBean(Environment.class).getProperty("battle.ammunition.warn");
|
String ammunition = SpringUtil.getBean(Environment.class).getProperty("battle.ammunition.warn");
|
||||||
log.info("===========person ammunition======={}====={}========",person,ammunition);
|
log.info("===========person ammunition==={}===={}====={}========",death,injured,ammunition);
|
||||||
// String food = SpringUtil.getBean(Environment.class).getProperty("battle.food.warn");
|
// String food = SpringUtil.getBean(Environment.class).getProperty("battle.food.warn");
|
||||||
// String water = SpringUtil.getBean(Environment.class).getProperty("battle.water.warn");
|
// String water = SpringUtil.getBean(Environment.class).getProperty("battle.water.warn");
|
||||||
// String fuel = SpringUtil.getBean(Environment.class).getProperty("battle.fuel.warn");
|
// String fuel = SpringUtil.getBean(Environment.class).getProperty("battle.fuel.warn");
|
||||||
|
|
@ -180,7 +189,7 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
SupplierRequest supplierRequest = new SupplierRequest();
|
SupplierRequest supplierRequest = new SupplierRequest();
|
||||||
supplierRequest.setId(IdUtils.simpleUUID());
|
supplierRequest.setId(IdUtils.simpleUUID());
|
||||||
supplierRequest.setFromResourceId(scenarioTask.getResourceId());
|
supplierRequest.setFromResourceId(scenarioTask.getResourceId());
|
||||||
supplierRequest.setSupplierNum(suppleAmount);
|
supplierRequest.setSupplierNum(String.valueOf(suppleAmount));
|
||||||
supplierRequest.setSupplierType("ammunition");
|
supplierRequest.setSupplierType("ammunition");
|
||||||
supplierRequest.setGeneralTime(currentDateTime);
|
supplierRequest.setGeneralTime(currentDateTime);
|
||||||
supplierRequest.setLat(jsonObject.get("teamLat").toString());
|
supplierRequest.setLat(jsonObject.get("teamLat").toString());
|
||||||
|
|
@ -188,17 +197,29 @@ public class BattleRootTask extends AbtParentTask {
|
||||||
supplierRequestService.save(supplierRequest);
|
supplierRequestService.save(supplierRequest);
|
||||||
suppleFlagMap.put("ammunition",true) ;
|
suppleFlagMap.put("ammunition",true) ;
|
||||||
}
|
}
|
||||||
if(Double.valueOf(battleParams.get("person").toString()) <= Double.valueOf(person) && suppleFlagMap.get("person") == false){
|
if(Long.valueOf(battleParams.get("death").toString()) <= Long.valueOf(death) && suppleFlagMap.get("death") == false){
|
||||||
SupplierRequest supplierRequest = new SupplierRequest();
|
SupplierRequest supplierRequest = new SupplierRequest();
|
||||||
supplierRequest.setId(IdUtils.simpleUUID());
|
supplierRequest.setId(IdUtils.simpleUUID());
|
||||||
supplierRequest.setFromResourceId(scenarioTask.getResourceId());
|
supplierRequest.setFromResourceId(scenarioTask.getResourceId());
|
||||||
supplierRequest.setSupplierNum(supplePerson);
|
supplierRequest.setSupplierNum(String.valueOf(suppleDeath));
|
||||||
supplierRequest.setSupplierType("person");
|
supplierRequest.setSupplierType("death");
|
||||||
supplierRequest.setGeneralTime(currentDateTime);
|
supplierRequest.setGeneralTime(currentDateTime);
|
||||||
supplierRequest.setLat(jsonObject.get("teamLat").toString());
|
supplierRequest.setLat(jsonObject.get("teamLat").toString());
|
||||||
supplierRequest.setLng(jsonObject.get("teamLng").toString());
|
supplierRequest.setLng(jsonObject.get("teamLng").toString());
|
||||||
supplierRequestService.save(supplierRequest);
|
supplierRequestService.save(supplierRequest);
|
||||||
suppleFlagMap.put("person",true) ;
|
suppleFlagMap.put("death",true) ;
|
||||||
|
}
|
||||||
|
if(Long.valueOf(battleParams.get("injured").toString()) <= Long.valueOf(injured) && suppleFlagMap.get("injured") == false){
|
||||||
|
SupplierRequest supplierRequest = new SupplierRequest();
|
||||||
|
supplierRequest.setId(IdUtils.simpleUUID());
|
||||||
|
supplierRequest.setFromResourceId(scenarioTask.getResourceId());
|
||||||
|
supplierRequest.setSupplierNum(String.valueOf(suppleInjured));
|
||||||
|
supplierRequest.setSupplierType("injured");
|
||||||
|
supplierRequest.setGeneralTime(currentDateTime);
|
||||||
|
supplierRequest.setLat(jsonObject.get("teamLat").toString());
|
||||||
|
supplierRequest.setLng(jsonObject.get("teamLng").toString());
|
||||||
|
supplierRequestService.save(supplierRequest);
|
||||||
|
suppleFlagMap.put("injured",true) ;
|
||||||
}
|
}
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,18 @@ spring.datasource.dynamic.datasource.dm.username=simulation
|
||||||
spring.datasource.dynamic.datasource.dm.password=Simulation001
|
spring.datasource.dynamic.datasource.dm.password=Simulation001
|
||||||
|
|
||||||
spring.redis.database=0
|
spring.redis.database=0
|
||||||
spring.redis.host=127.0.0.1
|
spring.redis.host=192.168.0.53
|
||||||
spring.redis.port=6379
|
spring.redis.port=6379
|
||||||
spring.redis.jedis.pool.max-idle=10
|
|
||||||
#spring.redis.password=123
|
#spring.redis.password=123
|
||||||
spring.redis.timeout=5000
|
spring.redis.timeout=5000
|
||||||
|
spring.redis.lettuce.shutdown-timeout=5000
|
||||||
|
#spring.redis.lettuce.timeout=5000
|
||||||
|
spring.redis.lettuce.pool.max-active=8
|
||||||
|
spring.redis.lettuce.pool.max-idle=8
|
||||||
|
spring.redis.lettuce.pool.min-idle=0
|
||||||
|
spring.redis.lettuce.pool.max-wait=2000ms
|
||||||
|
spring.redis.lettuce.pool.timeout=5000ms # 命令执行超时
|
||||||
|
spring.redis.lettuce.pool.connect-timeout=10000ms # 连接建立超时
|
||||||
|
|
||||||
server.port=8099
|
server.port=8099
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,14 @@
|
||||||
battle.person.warn = 2
|
injured.warn = 20
|
||||||
battle.ammunition.warn = 3
|
death.warn = 10
|
||||||
battle.food.warn = 3
|
ammunition.warn = 3
|
||||||
battle.water.warn = 3
|
food.warn = 3
|
||||||
battle.fuel.warn = 2
|
water.warn = 3
|
||||||
battle.medical.warn = 1
|
fuel.warn = 2
|
||||||
|
medical.warn = 1
|
||||||
|
death.spreed = 3;
|
||||||
|
injured.spreed = 3;
|
||||||
|
ammunition_spreed = 2.6;
|
||||||
|
food_spreed = 2.3;
|
||||||
|
water_spreed = 3.6;
|
||||||
|
fuel_spreed = 3.6;
|
||||||
|
medical_spreed = 1.6;
|
||||||
Loading…
Reference in New Issue
Block a user