Browse Source

비행 관제 그룹관리

feature/auth
노승철 2 years ago
parent
commit
1ddcc5eaf3
  1. 19
      src/main/java/com/palnet/biz/api/acnt/cstmr/controller/AcntCstmrController.java
  2. 17
      src/main/java/com/palnet/biz/api/acnt/cstmr/model/AcntCstmrGroupModel.java
  3. 6
      src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java
  4. 67
      src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java
  5. 15
      src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java
  6. 4
      src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlBasRepository.java
  7. 3
      src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlHstryRepository.java
  8. 66
      src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java
  9. 13
      src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrQueryRepository.java
  10. 5
      src/main/java/com/palnet/biz/scheduler/ctr/service/CtrSchedulerService.java

19
src/main/java/com/palnet/biz/api/acnt/cstmr/controller/AcntCstmrController.java

@ -1,17 +1,16 @@
package com.palnet.biz.api.acnt.cstmr.controller;
import java.security.Principal;
import java.util.ArrayList;
import java.util.List;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
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;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.*;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrRqModel;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrRsModel;
@ -40,8 +39,6 @@ public class AcntCstmrController {
@Autowired
private final AcntCstmrService service;
@PostMapping(value = "/register")
public ResponseEntity<? extends BasicResponse> register(@RequestBody AcntCstmrRqModel rq) {
@ -60,11 +57,9 @@ public class AcntCstmrController {
}
return ResponseEntity.ok().body(new SuccessResponse<AcntCstmrRsModel>(result));
}
}

17
src/main/java/com/palnet/biz/api/acnt/cstmr/model/AcntCstmrGroupModel.java

@ -0,0 +1,17 @@
package com.palnet.biz.api.acnt.cstmr.model;
import lombok.Data;
@Data
public class AcntCstmrGroupModel {
private Integer cstmrSno;
private String userId;
private String groupId;
private String groupNm;
private String groupAuthCd;
private Integer arcrftSno;
private String idntfNum;
private String createUserId;
}

6
src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java

@ -9,9 +9,11 @@ import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
@ -180,8 +182,4 @@ public class AcntCstmrService {
return ptyTermsAgreeTxnRepository.save(agreeEntity);
}
}

67
src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java

@ -1,15 +1,16 @@
package com.palnet.biz.api.ctr.cntrl.controller;
import java.util.ArrayList;
import java.util.List;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel;
import com.palnet.biz.jpa.entity.CtrCntrlHstry;
import com.palnet.biz.jpa.repository.ctr.CtrCntrlHstryRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.palnet.biz.api.comn.response.BasicResponse;
import com.palnet.biz.api.comn.response.ErrorResponse;
@ -31,18 +32,19 @@ public class CtrCntrlController {
@Autowired
private final CtrCntrlService service;
@Autowired
private final SampleService sampleService;
@Autowired
private final CtrCntrlHstryRepository ctrCntrlHstryRepository;
@GetMapping(value = "/history/{id}")
public ResponseEntity<? extends BasicResponse> historyList(@PathVariable String id) {
List<GPHistoryModel> result = null;
try {
result = service.getListHistory(id);
result = service.getHistory(id);
} catch (Exception e) {
log.error("IGNORE : {}", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
@ -50,7 +52,6 @@ public class CtrCntrlController {
}
return ResponseEntity.ok().body(new SuccessResponse<List>(result));
}
@ -68,7 +69,21 @@ public class CtrCntrlController {
}
return ResponseEntity.ok().body(new SuccessResponse<CtrCntrlDtlModel>(result));
}
@GetMapping(value = "/history/list/{id}")
public ResponseEntity<? extends BasicResponse> history(@PathVariable String id) {
List<GPHistoryModel> history;
try {
history = service.getHistory(id);
} catch (Exception e) {
log.error("IGNORE : {}", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(new ErrorResponse("Server Error", "-1"));
}
return ResponseEntity.ok().body(new SuccessResponse<>(history));
}
@ -87,26 +102,20 @@ public class CtrCntrlController {
}
return ResponseEntity.ok().body(new SuccessResponse<List>(result));
}
@GetMapping("/group")
public ResponseEntity<? extends BasicResponse> getGroupAuthInfo(@RequestParam Integer cstmrSno) {
List<AcntCstmrGroupModel> list;
try {
list = service.getGroupAuthInfo(cstmrSno);
} catch (Exception e) {
log.error("IGNORE : {}", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(new ErrorResponse("Server Error", "-1"));
}
return ResponseEntity.ok().body(new SuccessResponse<List>(list));
}
// @GetMapping(value = "/status")
// public ResponseEntity<? extends BasicResponse> status() {
// Map<GroundPositionInfoModel> result;
//
// try {
// result =
//
// } catch (Exception e) {
// log.error("IGNORE : {}", e);
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
// .body(new ErrorResponse("Server Error", "-1"));
//
// }
// return ResponseEntity.ok().body(new SuccessResponse<Map>(result));
//
// }
}

15
src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java

@ -3,6 +3,7 @@ package com.palnet.biz.api.ctr.cntrl.service;
import java.util.ArrayList;
import java.util.List;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -100,9 +101,13 @@ public class CtrCntrlService {
return result;
}
public List<GPHistoryModel> getHistory(String controlId) {
return query.getDroneHistory(controlId);
}
public List<AcntCstmrGroupModel> getGroupAuthInfo(Integer cstmrSno) {
List<AcntCstmrGroupModel> list = query.findByGroupInfo(cstmrSno);
return list;
}
}

4
src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlBasRepository.java

@ -6,6 +6,8 @@ import org.springframework.stereotype.Repository;
import com.palnet.biz.jpa.entity.CtrCntrlBas;
import java.util.Date;
@Repository
public interface CtrCntrlBasRepository extends JpaRepository<CtrCntrlBas, String>{
@ -13,6 +15,6 @@ public interface CtrCntrlBasRepository extends JpaRepository<CtrCntrlBas, String
@Query("update CtrCntrlBas c " +
"SET c.endTypeCd = :endTypeCd, c.cntrlEndDt = :cntrlEndDt " +
"WHERE c.cntrlId = :cntrlId")
CtrCntrlBas updateCntrlEndType(String endTypeCd, String cntrlEndDt, String cntrlId);
CtrCntrlBas updateCntrlEndType(String endTypeCd, Date cntrlEndDt, String cntrlId);
}

3
src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlHstryRepository.java

@ -5,7 +5,10 @@ import org.springframework.stereotype.Repository;
import com.palnet.biz.jpa.entity.CtrCntrlHstry;
import java.util.List;
@Repository
public interface CtrCntrlHstryRepository extends JpaRepository<CtrCntrlHstry, Integer>{
CtrCntrlHstry findFirstByCntrlIdOrderBySrvrRcvDtDesc(String cntrlId);
List<CtrCntrlHstry> findByCntrlIdOrderByHstrySno(String cntrlId);
}

66
src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

@ -3,6 +3,10 @@ package com.palnet.biz.jpa.repository.ctr;
import java.util.ArrayList;
import java.util.List;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel;
import com.palnet.biz.jpa.entity.*;
import com.palnet.comn.model.GPHistoryModel;
import com.querydsl.core.Tuple;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
@ -14,13 +18,6 @@ import com.palnet.biz.api.anls.smlt.model.AnlsSmltStcsModel;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlDtlModel;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlEndModel;
import com.palnet.biz.api.main.dash.model.MainDashStcsModel;
import com.palnet.biz.jpa.entity.ComArcrftBas;
import com.palnet.biz.jpa.entity.CtrCntrlHstryArea;
import com.palnet.biz.jpa.entity.QComArcrftBas;
import com.palnet.biz.jpa.entity.QComIdntfBas;
import com.palnet.biz.jpa.entity.QCtrCntrlBas;
import com.palnet.biz.jpa.entity.QCtrCntrlHstry;
import com.palnet.biz.jpa.entity.QCtrCntrlHstryArea;
import com.palnet.comn.utils.DateUtils;
import com.palnet.comn.utils.EncryptUtils;
import com.querydsl.core.BooleanBuilder;
@ -475,8 +472,55 @@ public class CtrCntrlQueryRepository{
.fetch();
return result;
}
public List<GPHistoryModel> getDroneHistory(String controlId) {
QCtrCntrlBas bas = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstry hst = QCtrCntrlHstry.ctrCntrlHstry;
List<GPHistoryModel> list = query.select(Projections.bean(GPHistoryModel.class,
bas.idntfNum.as("objectId"),
hst.lat.as("lat"),
hst.lon.as("lng")
))
.from(bas)
.leftJoin(hst)
.on(bas.cntrlId.eq(hst.cntrlId))
.where(bas.cntrlId.eq(controlId))
.fetch();
return list;
}
public List<AcntCstmrGroupModel> findByGroupInfo(Integer cstmrSno) {
QPtyCstmrBas pcb = QPtyCstmrBas.ptyCstmrBas;
QPtyCstmrGroup pcg = QPtyCstmrGroup.ptyCstmrGroup;
QPtyGroupBas pgb = QPtyGroupBas.ptyGroupBas;
QComArcrftBas cab = QComArcrftBas.comArcrftBas;
QComIdntfBas cib = QComIdntfBas.comIdntfBas;
List<AcntCstmrGroupModel> models = query.select(Projections.bean(AcntCstmrGroupModel.class,
pcb.cstmrSno.as("cstmrSno"),
pcb.userId.as("userId"),
pgb.groupId.as("groupId"),
pgb.groupNm.as("groupNm"),
pcg.groupAuthCd.as("groupAuthCd"),
cab.arcrftSno.as("arcrftSno"),
cib.idntfNum.as("idntfNum"),
cab.createUserId.as("createUserId")
))
.from(pcb)
.leftJoin(pcg)
.on(pcb.cstmrSno.eq(pcg.cstmrSno))
.leftJoin(pgb)
.on(pcg.groupId.eq(pgb.groupId))
.leftJoin(cab)
.on(pgb.groupId.eq(cab.groupId))
.leftJoin(cib)
.on(cab.arcrftSno.eq(cib.arcrftSno))
.where(pcb.cstmrSno.eq(cstmrSno))
.fetch();
return models;
}
}

13
src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrQueryRepository.java

@ -1,12 +1,11 @@
package com.palnet.biz.jpa.repository.pty;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel;
import com.palnet.biz.jpa.entity.*;
import org.springframework.stereotype.Repository;
import com.palnet.biz.api.acnt.jwt.model.JwtProfileRsModel;
import com.palnet.biz.api.acnt.jwt.model.JwtUserModel;
import com.palnet.biz.jpa.entity.PtyCstmrBas;
import com.palnet.biz.jpa.entity.QPtyCstmrBas;
import com.palnet.biz.jpa.entity.QPtyCstmrDtl;
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.types.Projections;
import com.querydsl.jpa.impl.JPAQueryFactory;
@ -14,6 +13,8 @@ import com.querydsl.jpa.impl.JPAQueryFactory;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import java.util.List;
@Log4j2
@Repository
@RequiredArgsConstructor
@ -145,10 +146,4 @@ public class PtyCstmrQueryRepository{
return null;
}
}
}

5
src/main/java/com/palnet/biz/scheduler/ctr/service/CtrSchedulerService.java

@ -72,7 +72,6 @@ public class CtrSchedulerService {
* 기준
* 1) {param} 이상 데이터가 들어오지 않을 경우
* 2) 마지막 데이터 속도가 0 , 고도가 0 (현재 적용 X)
* @param minute
*/
public void remove() {
Map<String, String> keys = dataShareContext.getAllKeys();
@ -82,8 +81,10 @@ public class CtrSchedulerService {
if(Objects.nonNull(history)) {
long diffMinute = DateUtils.diffMinute(history.getSrvrRcvDt(), new Date());
if(diffMinute > GP_REMOVE_TIME) {
ctrCntrlBasRepository.updateCntrlEndType("01", DateUtils.getCurrentTime(), history.getCntrlId());
String currentTime = DateUtils.getCurrentTime();
ctrCntrlBasRepository.updateCntrlEndType("01", DateUtils.stringToDatetime(currentTime), history.getCntrlId());
dataShareContext.removeIdntfKey(key);
}

Loading…
Cancel
Save