|
|
|
@ -1,12 +1,12 @@
|
|
|
|
|
package kr.co.palnet.kac.socket.core.command.impl; |
|
|
|
|
|
|
|
|
|
import kr.co.palnet.kac.common.model.common.ControlDto; |
|
|
|
|
import kr.co.palnet.kac.common.model.common.DroneDto; |
|
|
|
|
import kr.co.palnet.kac.common.model.common.DroneHistoryDto; |
|
|
|
|
import kr.co.palnet.kac.common.model.common.SimpleControlDto; |
|
|
|
|
import kr.co.palnet.kac.socket.core.command.DroneCommand; |
|
|
|
|
import kr.co.palnet.kac.socket.core.model.DroneRq; |
|
|
|
|
import kr.co.palnet.kac.socket.core.storage.ControlStorage; |
|
|
|
|
import kr.co.palnet.kac.socket.core.storage.DroneCacheStorage; |
|
|
|
|
import kr.co.palnet.kac.socket.core.storage.DroneStorage; |
|
|
|
|
import kr.co.palnet.kac.socket.service.KacAppService; |
|
|
|
|
import kr.co.palnet.kac.socket.service.WebSocketService; |
|
|
|
|
import kr.co.palnet.kac.util.DroneUtil; |
|
|
|
@ -37,7 +37,7 @@ public class SandboxDroneCommandImpl implements DroneCommand {
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void command(DroneRq rq) { |
|
|
|
|
log.info(">>>> SandboxCommandServiceImpl <<<<<"); |
|
|
|
|
log.debug(">>>> SandboxCommandServiceImpl <<<<<"); |
|
|
|
|
log.debug("time 011 : {}::{}", Instant.now(), Instant.now().toEpochMilli()); |
|
|
|
|
List<DroneDto> resultList = rq.getBody(); |
|
|
|
|
/** 전문 설정 ***/ |
|
|
|
@ -77,10 +77,10 @@ public class SandboxDroneCommandImpl implements DroneCommand {
|
|
|
|
|
Long start = System.currentTimeMillis(); |
|
|
|
|
|
|
|
|
|
// STEP 1. 전에 내부 메모리에서 controlId 조회
|
|
|
|
|
ControlStorage controlStorage = ControlStorage.getInstance(); |
|
|
|
|
ControlDto dronCacheDTO = controlStorage.get(drone.getObjectId()); |
|
|
|
|
DroneCacheStorage droneCacheStorage = DroneCacheStorage.getInstance(); |
|
|
|
|
DroneDto droneCacheDto = droneCacheStorage.get(drone.getObjectId()); |
|
|
|
|
|
|
|
|
|
if (dronCacheDTO == null) { |
|
|
|
|
if (droneCacheDto == null) { |
|
|
|
|
// STEP 1. Control ID 발급 -> Application Server Http 통신
|
|
|
|
|
try { |
|
|
|
|
log.debug("time 012 : {}::{}", Instant.now(), Instant.now().toEpochMilli()); |
|
|
|
@ -93,38 +93,44 @@ public class SandboxDroneCommandImpl implements DroneCommand {
|
|
|
|
|
drone.setAreaTrnsYn(simpleControlDto.getAreaTrnsYn()); |
|
|
|
|
drone.setControlStartDt(Instant.now()); |
|
|
|
|
|
|
|
|
|
ControlDto controlDto = new ControlDto(); |
|
|
|
|
controlDto.setControlId(simpleControlDto.getControlId()); |
|
|
|
|
controlDto.setTypeCd(simpleControlDto.getTypeCd()); |
|
|
|
|
controlDto.setAreaTrnsYn(simpleControlDto.getAreaTrnsYn()); |
|
|
|
|
controlDto.setRegTime(System.currentTimeMillis()); |
|
|
|
|
// DroneDto newDroneCacheDto = new DroneDto();
|
|
|
|
|
// newDroneCacheDto.setControlId(simpleControlDto.getControlId());
|
|
|
|
|
// newDroneCacheDto.setTypeCd(simpleControlDto.getTypeCd());
|
|
|
|
|
// newDroneCacheDto.setAreaTrnsYn(simpleControlDto.getAreaTrnsYn());
|
|
|
|
|
// newDroneCacheDto.setRegDt(Instant.now());
|
|
|
|
|
|
|
|
|
|
controlStorage.put(drone.getObjectId(), controlDto); |
|
|
|
|
// controlStorage.put(drone.getObjectId(), newDroneCacheDto);
|
|
|
|
|
droneCacheStorage.put(drone.getObjectId(), drone); |
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("ERROR : {}", e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
drone.setControlId(dronCacheDTO.getControlId()); |
|
|
|
|
drone.setControlId(droneCacheDto.getControlId()); |
|
|
|
|
drone.setTypeCd("02"); |
|
|
|
|
drone.setAreaTrnsYn(dronCacheDTO.getAreaTrnsYn()); |
|
|
|
|
drone.setControlWarnCd(dronCacheDTO.isControlWarnCd()); |
|
|
|
|
dronCacheDTO.setRegTime(System.currentTimeMillis()); |
|
|
|
|
drone.setAreaTrnsYn(droneCacheDto.getAreaTrnsYn()); |
|
|
|
|
drone.setControlWarnCd(droneCacheDto.isControlWarnCd()); |
|
|
|
|
drone.setControlStartDt(droneCacheDto.getControlStartDt()); |
|
|
|
|
// droneCacheDto.setRegTime(System.currentTimeMillis());
|
|
|
|
|
// controlStorage.put(drone.getObjectId(), droneCacheDto);
|
|
|
|
|
|
|
|
|
|
controlStorage.put(drone.getObjectId(), dronCacheDTO); |
|
|
|
|
drone.setRegDt(Instant.now()); |
|
|
|
|
|
|
|
|
|
droneCacheStorage.put(drone.getObjectId(), drone); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// STEP 2. 이력 생성할 전문 전달 -> DRON의 대한 식별정보만 이력 관리
|
|
|
|
|
try { |
|
|
|
|
/* |
|
|
|
|
// 저장 해 놓았다가 한거번에 전송
|
|
|
|
|
DronStorage dronStorage = DronStorage.getInstance(); |
|
|
|
|
dronStorage.add(dron); |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
// kacAppService.sendData(drone);
|
|
|
|
|
kacAppService.asyncSendData(drone); |
|
|
|
|
// kacAppService.asyncSendData(drone);
|
|
|
|
|
|
|
|
|
|
// 저장 해 놓았다가 한거번에 전송 - 필요한 곳에 전송(HISTORY, UTM)
|
|
|
|
|
DroneStorage dronStorage = DroneStorage.getInstance(); |
|
|
|
|
dronStorage.add(drone); |
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("ERROR : {}", e.getMessage(), e); |
|
|
|
|
} |
|
|
|
@ -138,7 +144,7 @@ public class SandboxDroneCommandImpl implements DroneCommand {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Long end = System.currentTimeMillis(); |
|
|
|
|
log.info(">>> during time : {} - {}", drone.getObjectId(), end - start); |
|
|
|
|
log.debug(">>> during time : {} - {}", drone.getObjectId(), end - start); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
log.error("좌표 정보가 존재하지 않습니다."); |
|
|
|
|