Browse Source

feat: 드론원스탑 결과값 수정 테스트코드

feature/address-coordinate
지대한 4 months ago
parent
commit
a585c480e0
  1. 2
      pav-server/src/main/java/com/palnet/biz/api/external/service/DronOneStopService.java
  2. 81
      pav-server/src/test/java/com/palnet/biz/api/external/service/DronOneStopServiceTest.java
  3. 19
      pav-server/src/test/java/com/palnet/biz/scheduler/external/service/SunRiseSchedulerServiceTest.java

2
pav-server/src/main/java/com/palnet/biz/api/external/service/DronOneStopService.java vendored

@ -154,7 +154,7 @@ public class DronOneStopService {
return rs;
}
private ApprovalCd getApprovalCd(Double bufferZone, Double fltElev, Coordinate centerPoint) {
protected ApprovalCd getApprovalCd(Double bufferZone, Double fltElev, Coordinate centerPoint) {
// Circle만 체크
// 좌표 추출 - 중심 좌표
// Buffer 추출 - 테두리 좌표

81
pav-server/src/test/java/com/palnet/biz/api/external/service/DronOneStopServiceTest.java vendored

@ -0,0 +1,81 @@
package com.palnet.biz.api.external.service;
import com.palnet.biz.api.external.model.ApprovalCd;
import com.palnet.biz.jpa.entity.DosFltPlanArea;
import com.palnet.biz.jpa.entity.DosFltPlanResult;
import com.palnet.biz.jpa.repository.dos.DosFltPlanAreaRepository;
import com.palnet.biz.jpa.repository.dos.DosFltPlanResultRepository;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.locationtech.jts.geom.Coordinate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import java.time.Instant;
import java.util.List;
import java.util.stream.Collectors;
@ActiveProfiles("prod")
@Slf4j
@SpringBootTest
class DronOneStopServiceTest {
@Autowired
private DronOneStopService dronOneStopService;
@Autowired
private DosFltPlanAreaRepository dosFltPlanAreaRepository;
@Autowired
private DosFltPlanResultRepository dosFltPlanResultRepository;
@Test
void saveDosPlan() {
List<DosFltPlanArea> areaList = dosFltPlanAreaRepository.findAll();
List<DosFltPlanResult> resultList = dosFltPlanResultRepository.findAll();
for(DosFltPlanArea area : areaList) {
// Circle만 체크
Double bufferZone = area.getBufferZone();
Double fltElev = area.getFltElev() != null ? area.getFltElev() : 0;
// 좌표 추출 - 중심 좌표
Coordinate centerPoint = new Coordinate(area.getLon(), area.getLat());
// 검증
ApprovalCd approvalCd = dronOneStopService.getApprovalCd(bufferZone, fltElev, centerPoint);
List<DosFltPlanResult> rList = resultList.stream().filter(result -> result.getPlanSno().equals(area.getPlanSno()) && result.getPlanAreaSno().equals(area.getPlanAreaSno())).collect(Collectors.toList());
log.info("rList size: {}", rList.size());
if(!rList.isEmpty()){
rList.forEach(r -> {
if(r.getApprovalCd().equals(approvalCd.getCode())) {
log.info("approvalCd is same");
} else {
log.info("approvalCd is different{} -> {}", r.getApprovalCd(), approvalCd.getCode());
r.setApprovalCd(approvalCd.getCode());
r.setUpdateDt(Instant.now());
DosFltPlanResult save = dosFltPlanResultRepository.save(r);
log.info("update: {}", save);
}
});
} else {
log.info("result is empty");
DosFltPlanResult dosFltPlanResultInsert = DosFltPlanResult.builder()
.planSno(area.getPlanSno())
.planAreaSno(area.getPlanAreaSno())
.approvalCd(approvalCd.getCode())
.updateDt(Instant.now())
.createDt(Instant.now())
.build();
DosFltPlanResult save = dosFltPlanResultRepository.save(dosFltPlanResultInsert);
log.info("insert: {}", save);
}
}
}
}

19
pav-server/src/test/java/com/palnet/biz/scheduler/external/service/SunRiseSchedulerServiceTest.java vendored

@ -0,0 +1,19 @@
package com.palnet.biz.scheduler.external.service;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
@ActiveProfiles("local")
@SpringBootTest
class SunRiseSchedulerServiceTest {
@Autowired
private SunRiseSchedulerService sunRiseSchedulerService;
@Test
void sunsetSchedule() {
sunRiseSchedulerService.sunsetSchedule();
}
}
Loading…
Cancel
Save