|
|
|
@ -11,10 +11,18 @@ 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.data.domain.PageRequest; |
|
|
|
|
import org.springframework.data.domain.Pageable; |
|
|
|
|
import org.springframework.data.domain.Sort; |
|
|
|
|
import org.springframework.test.annotation.Rollback; |
|
|
|
|
import org.springframework.test.context.ActiveProfiles; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
import java.time.Instant; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
@ActiveProfiles("local") |
|
|
|
@ -129,14 +137,73 @@ class DronOneStopServiceTest {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// CPT 코드 업데이트 - 전체
|
|
|
|
|
@Transactional |
|
|
|
|
@Rollback(false) |
|
|
|
|
@Test |
|
|
|
|
void updateAllCptCode() { |
|
|
|
|
List<DosFltPlanArea> all = dosFltPlanAreaRepository.findAll(); |
|
|
|
|
int chunk = 100; |
|
|
|
|
long count = dosFltPlanAreaRepository.count(); |
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> errorList = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < count / chunk + 1; i++) { |
|
|
|
|
Pageable pageable = PageRequest.of(i, chunk); |
|
|
|
|
List<DosFltPlanArea> all = dosFltPlanAreaRepository.findAll(pageable).getContent(); |
|
|
|
|
all.forEach(area -> { |
|
|
|
|
try { |
|
|
|
|
DosCptAuthResult result = dronOneStopService.getCptAuth(new Coordinate(area.getLon(), area.getLat()), area.getBufferZone()); |
|
|
|
|
area.setCptCd(result.getCptCode()); |
|
|
|
|
area.setInnerCptCd(result.getControlCptCode()); |
|
|
|
|
log.debug("area sno: {}", area.getPlanAreaSno()); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("error: {}", e.getMessage()); |
|
|
|
|
Map<String, Object> param = new HashMap<>(); |
|
|
|
|
param.put("planSno", area.getPlanSno()); |
|
|
|
|
param.put("planAreaSno", area.getPlanAreaSno()); |
|
|
|
|
param.put("error", e.getMessage()); |
|
|
|
|
errorList.add(param); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
List<DosFltPlanArea> dosFltPlanAreaList = dosFltPlanAreaRepository.saveAllAndFlush(all); |
|
|
|
|
log.info("update count: {}", dosFltPlanAreaList.size()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
log.info("error : {}", errorList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@Rollback(false) |
|
|
|
|
@Test |
|
|
|
|
void updateRecentCptCode() { |
|
|
|
|
List<Map<String, Object>> errorList = new ArrayList<>(); |
|
|
|
|
Pageable pageable = PageRequest.of(0, 40, Sort.by(Sort.Order.desc("planAreaSno"))); |
|
|
|
|
List<DosFltPlanArea> all = dosFltPlanAreaRepository.findAll(pageable).getContent(); |
|
|
|
|
all.forEach(area -> { |
|
|
|
|
DosCptAuthResult result = dronOneStopService.getCptAuth(new Coordinate(area.getLon(), area.getLat()), area.getBufferZone()); |
|
|
|
|
result.setCptCode(result.getCptCode()); |
|
|
|
|
result.setControlCptCode(result.getControlCptCode()); |
|
|
|
|
try { |
|
|
|
|
DosCptAuthResult result = dronOneStopService.getCptAuth(new Coordinate(area.getLon(), area.getLat()), area.getBufferZone()); |
|
|
|
|
area.setCptCd(result.getCptCode()); |
|
|
|
|
area.setInnerCptCd(result.getControlCptCode()); |
|
|
|
|
log.debug("area sno: {}", area.getPlanAreaSno()); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("error: {}", e.getMessage()); |
|
|
|
|
Map<String, Object> param = new HashMap<>(); |
|
|
|
|
param.put("planSno", area.getPlanSno()); |
|
|
|
|
param.put("planAreaSno", area.getPlanAreaSno()); |
|
|
|
|
param.put("error", e.getMessage()); |
|
|
|
|
errorList.add(param); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
dosFltPlanAreaRepository.saveAll(all); |
|
|
|
|
List<DosFltPlanArea> dosFltPlanAreaList = dosFltPlanAreaRepository.saveAllAndFlush(all); |
|
|
|
|
log.info("update count: {}", dosFltPlanAreaList.size()); |
|
|
|
|
log.info("error : {}", errorList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void updateAllCptCodeErrorTest() { |
|
|
|
|
DosFltPlanArea area = dosFltPlanAreaRepository.findById(11014L).orElseThrow(); |
|
|
|
|
DosCptAuthResult result = dronOneStopService.getCptAuth(new Coordinate(area.getLon(), area.getLat()), area.getBufferZone()); |
|
|
|
|
log.info(result.toString()); |
|
|
|
|
} |
|
|
|
|
} |