|
|
|
@ -6,6 +6,7 @@ import com.palnet.biz.api.external.service.SunRiseSetMapper;
|
|
|
|
|
import com.palnet.biz.jpa.entity.ComRiseSetBas; |
|
|
|
|
import com.palnet.biz.jpa.entity.ComRiseSetBasPK; |
|
|
|
|
import com.palnet.biz.jpa.repository.com.ComRiseSetBasRepository; |
|
|
|
|
import com.palnet.biz.jpa.repository.com.ComRiseSetQueryRepository; |
|
|
|
|
import com.palnet.comn.code.ErrorCode; |
|
|
|
|
import com.palnet.comn.exception.CustomException; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
@ -32,6 +33,8 @@ import java.util.List;
|
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
public class SunRiseSchedulerService { |
|
|
|
|
|
|
|
|
|
private final ComRiseSetQueryRepository comRiseSetQueryRepository; |
|
|
|
|
|
|
|
|
|
private final ComRiseSetBasRepository comRiseSetBasRepository; |
|
|
|
|
|
|
|
|
|
@Value("${external.sunriseset.url}") |
|
|
|
@ -70,7 +73,6 @@ public class SunRiseSchedulerService {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
public void sunsetSchedule(){ |
|
|
|
|
|
|
|
|
|
List<String> todayLocation = this.todayLocation(); |
|
|
|
|
LocalDate today = LocalDate.now(); |
|
|
|
|
List<String> timeColumn = List.of("sunrise", "suntransit", "sunset", "moonrise", "moontransit", "moonset", "civilm", "civile", "nautm", "naute", "astm", "aste"); |
|
|
|
@ -82,10 +84,13 @@ public class SunRiseSchedulerService {
|
|
|
|
|
today = today.plusDays(1); |
|
|
|
|
String locdate = today.format(DateTimeFormatter.ofPattern("yyyyMMdd")); |
|
|
|
|
|
|
|
|
|
for(int j = 0; j < todayLocation.size(); j ++){ |
|
|
|
|
String location = todayLocation.get(j); |
|
|
|
|
List<String> rotateLocation = getUnDuplicationLocation(todayLocation,locdate); |
|
|
|
|
|
|
|
|
|
for(int j = 0; j < rotateLocation.size(); j ++){ |
|
|
|
|
String location = rotateLocation.get(j); |
|
|
|
|
|
|
|
|
|
List<SunRiseSetRs> results = callSunRiseSet(locdate, location); |
|
|
|
|
|
|
|
|
|
// trim 제거 및 6자리로 맞추기
|
|
|
|
|
results.forEach(result -> { |
|
|
|
|
Class<? extends SunRiseSetRs> aClass = result.getClass(); |
|
|
|
@ -129,6 +134,16 @@ public class SunRiseSchedulerService {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private List<String> getUnDuplicationLocation(List<String> todayLocation, String location){ |
|
|
|
|
|
|
|
|
|
List<String> dateLocation = comRiseSetQueryRepository.findUnDuplicatoinLocationByLocDate(location); |
|
|
|
|
|
|
|
|
|
HashSet<String> set = new HashSet<>(todayLocation); |
|
|
|
|
set.removeAll(dateLocation); |
|
|
|
|
|
|
|
|
|
return new ArrayList<>(set); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private List<SunRiseSetRs> callSunRiseSet(String locdate, String location) { |
|
|
|
|
|
|
|
|
|
String uriStr = UriComponentsBuilder.fromUriString(AREA_RISE_SEET_INFO_URL) |
|
|
|
|