Compare commits

...

5 Commits

2 changed files with 31 additions and 9 deletions

View File

@ -5,8 +5,10 @@ import com.hivekion.common.redis.RedisUtil;
import com.hivekion.common.uuid.IdUtils; import com.hivekion.common.uuid.IdUtils;
import com.hivekion.room.RoomManager; import com.hivekion.room.RoomManager;
import com.hivekion.room.func.TaskAction; import com.hivekion.room.func.TaskAction;
import com.hivekion.scenario.entity.BattleConsume;
import com.hivekion.scenario.entity.ScenarioResource; import com.hivekion.scenario.entity.ScenarioResource;
import com.hivekion.scenario.entity.ScenarioTask; import com.hivekion.scenario.entity.ScenarioTask;
import com.hivekion.scenario.service.impl.BattleConsumeServiceImpl;
import com.hivekion.scenario.service.impl.BattleSupplierServiceImpl; import com.hivekion.scenario.service.impl.BattleSupplierServiceImpl;
import com.hivekion.scenario.service.impl.ScenarioTaskServiceImpl; import com.hivekion.scenario.service.impl.ScenarioTaskServiceImpl;
import com.hivekion.statistic.bean.StatisticBean; import com.hivekion.statistic.bean.StatisticBean;
@ -50,7 +52,7 @@ public class MoveRootTask extends AbtParentTask implements TaskAction {
/** /**
* 消耗任务间隔 * 消耗任务间隔
*/ */
private final int consumptionTaskInterval = 5; private final int consumptionTaskInterval = 10;
/** /**
* redis 服务类 * redis 服务类
*/ */
@ -65,7 +67,7 @@ public class MoveRootTask extends AbtParentTask implements TaskAction {
@Override @Override
public void doSomeThing() { public void doSomeThing() {
log.info("move task running:{}",scenarioTask.getResourceId()); log.info("move task running:{}", scenarioTask.getResourceId());
initEnv(); //初始化环境 initEnv(); //初始化环境
initPath(); //初始化路径 initPath(); //初始化路径
@ -77,7 +79,7 @@ public class MoveRootTask extends AbtParentTask implements TaskAction {
* 初始化环境 * 初始化环境
*/ */
private void initEnv() { private void initEnv() {
try{ try {
//获取油品消耗规则 //获取油品消耗规则
String fuelConsumptionStr = SpringUtil.getBean(Environment.class) String fuelConsumptionStr = SpringUtil.getBean(Environment.class)
.getProperty("fuel_spreed"); .getProperty("fuel_spreed");
@ -86,15 +88,15 @@ public class MoveRootTask extends AbtParentTask implements TaskAction {
.getProperty("fuel.warn ", "0")); .getProperty("fuel.warn ", "0"));
statisticBean = SpringUtil.getBean(StatisticServiceImpl.class) statisticBean = SpringUtil.getBean(StatisticServiceImpl.class)
.statistic(scenarioTask.getResourceId()); .statistic(scenarioTask.getResourceId());
}catch (Exception e){ } catch (Exception e) {
log.error("init env exception",e); log.error("init env exception", e);
} }
} }
private void fuelConsumption() { private void fuelConsumption() {
try{ try {
ScheduledExecutorService schedule = Executors.newScheduledThreadPool( ScheduledExecutorService schedule = Executors.newScheduledThreadPool(
1); 1);
schedule.scheduleWithFixedDelay(() -> { schedule.scheduleWithFixedDelay(() -> {
@ -124,12 +126,14 @@ public class MoveRootTask extends AbtParentTask implements TaskAction {
} }
} }
//插入消耗表 //插入消耗表
insertConsumption(currentUseUp);
} }
}, 0, consumptionTaskInterval, TimeUnit.SECONDS); }, 0, consumptionTaskInterval, TimeUnit.SECONDS);
}catch (Exception e){ } catch (Exception e) {
log.error("fuel consumption exception",e); log.error("fuel consumption exception", e);
} }
@ -172,6 +176,18 @@ public class MoveRootTask extends AbtParentTask implements TaskAction {
RoomManager.addAction(roomId, 0, supplierTask); RoomManager.addAction(roomId, 0, supplierTask);
} }
} }
private void insertConsumption(double num) {
BattleConsume battleConsume = new BattleConsume();
battleConsume.setId(IdUtils.simpleUUID());
battleConsume.setResourceId(scenarioTask.getResourceId());
battleConsume.setFuel(num);
battleConsume.setConsumeDate(LocalDateTime.now());
SpringUtil.getBean(BattleConsumeServiceImpl.class).save(battleConsume);
}
private void pushStatus(double num){
}
} }

View File

@ -92,6 +92,8 @@ public class Room implements AutoCloseable {
status.set(true); status.set(true);
totalTime.set(time); totalTime.set(time);
startTask(); startTask();
//初始化系统资源 物资人员等信息
} }
/** /**
@ -195,4 +197,8 @@ public class Room implements AutoCloseable {
public boolean isRunning() { public boolean isRunning() {
return status.get(); return status.get();
} }
//统一推送方法
protected void pushStatus(String resourceId){
}
} }