Browse Source

식별장치 drone에 대한 식별 정보만 이력관리

master
노승철 2 years ago
parent
commit
11b04a64a9
  1. 53
      src/main/java/com/palnet/server/command/SocketCommand.java
  2. 28
      src/main/java/com/palnet/server/handler/SocketHandler.java

53
src/main/java/com/palnet/server/command/SocketCommand.java

@ -32,47 +32,6 @@ public class SocketCommand {
this.env = (Environment) ContextUtils.getBean("environment");
}
GPCollection collection = new GPCollection();
public void openSkyCollectionPut(SocketPayload payload) {
/** Socket Body **/
List<LinkedHashMap<?, ?>> resultList = (ArrayList) payload.getBody();
/** 전문 설정 ***/
final String messageType = "OPENSKY";
final String objectType = "FLIGHT";
List<GPModel> dataList = new ArrayList<GPModel>();
for (LinkedHashMap<?, ?> obj : resultList) {
GPModel model = new GPModel();
model.setObjectType(objectType);
model.setMessageType(messageType);
model.setObjectId(obj.get("objectId").toString().trim());
model.setTerminalId(obj.get("terminalId").toString().trim());
model.setLat((Double) obj.get("lat"));
model.setLng((Double) obj.get("lng"));
model.setElev((Double) obj.get("elev"));
model.setTerminalRcvDt(obj.get("terminalRcvDt").toString().trim());
model.setSpeed((Double) obj.get("speed"));
model.setHeading((Double) obj.get("heading"));
model.setSpeedType((String) obj.get("speedType"));
model.setElevType((String) obj.get("elevType"));
model.setMoveDistanceType((String) obj.get("moveDistanceType"));
model.setMoveDistance((Double) obj.get("moveDistance"));
model.setBetteryLevel((Double) obj.get("betteryLevel"));
model.setBetteryVoltage((Double) obj.get("betteryVoltage"));
model.setDronStatus((String) obj.get("dronStatus"));
dataList.add(model);
}
collection.putData(dataList);
}
/**
* 들어온 데이터를 collection넣는 작업을 한다.
*
@ -85,11 +44,9 @@ public class SocketCommand {
final String messageType = "LTEM";
final String objectType = "DRON";
// List<GPModel> dataList = new ArrayList<GPModel>();
/** 데이터 모델링 **/
for (LinkedHashMap<?, ?> obj : resultList) {
//위,경도 좌표가 0으로 들어오는 것은 무시 처리
// 위,경도 좌표가 0으로 들어오는 것은 무시 처리
if ((Double) obj.get("lat") > 0 && (Double) obj.get("lon") > 0) {
GPModel model = new GPModel();
@ -128,7 +85,7 @@ public class SocketCommand {
hisList.add(history);
model.setPostionHistory(hisList);
Long start = System.currentTimeMillis();
// Long start = System.currentTimeMillis();
// STEP 1. 전에 내부 메모리에서 controlId 조회
ControlCacheModel control = ControlCacheUtils.getControl(model.getObjectId());
@ -179,9 +136,11 @@ public class SocketCommand {
ControlCacheUtils.setControl(model.getObjectId(),control);
}
Long end = System.currentTimeMillis();
logger.info(">>> during time : {}::{}", model.getObjectId(),end - start);
// STEP 2. 이력 생성할 전문 전달
// logger.info(">>> during time : {}::{}", model.getObjectId(),end - start);
// STEP 2. 이력 생성할 전문 전달 -> DRON의 대한 식별정보만 이력 관리
if (model.getObjectId().indexOf("PAVDRON") > -1) {
messageProducer.sendControlHistoryMessage(model);
}
// STEP 3. 화면에 표출할 정보 WebSocket 전달
messageProducer.sendControlMessage(model);

28
src/main/java/com/palnet/server/handler/SocketHandler.java

@ -36,35 +36,31 @@ public class SocketHandler extends SimpleChannelInboundHandler<SocketPayload> {
try {
logger.debug("==================== [SocketHandler channelRead0 ] ==================== ");
// logger.debug("AUTH KEY ===> {}", payload.getAuthKey());
if(payload.getAuthKey().isEmpty()) {
// logger.info("====== auth key is empty ======");
res.setRspCode("-2000");
res.setRspMessage("auth key is empty !");
} else if(!auth.checkAuthkey(payload.getAuthKey().trim())) {
// logger.info("===== auth key is invalid =====");
res.setRspCode("-2000");
res.setRspMessage("Invalid auth key !");
} else {
logger.info("====> SOCKET BODY : {}", JsonUtils.toJson(payload));
switch (payload.getCommand().trim()) {
case "OPENSKY" :
command.openSkyCollectionPut(payload);
break;
case "SANDBOX":
// switch (payload.getCommand().trim()) {
// case "OPENSKY" :
// command.openSkyCollectionPut(payload);
// break;
// case "SANDBOX":
// command.sandboxCollectionPut(payload);
// break;
// case "PAV":
//// command.handlePavCommand(payload);
// default:
// break;
// }
command.sandboxCollectionPut(payload);
break;
case "PAV":
// command.handlePavCommand(payload);
default:
break;
}
res.setRspCode("0");
res.setRspMessage("SUCCESS");

Loading…
Cancel
Save