Browse Source

add: 임시커밋

feature/sunset-scheduler
lkd9125(이경도) 8 months ago
parent
commit
fa0742f2b2
  1. 14
      pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComRiseSetQueryRepository.java
  2. 21
      pav-server/src/main/java/com/palnet/biz/scheduler/external/service/SunRiseSchedulerService.java

14
pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComRiseSetQueryRepository.java

@ -15,6 +15,7 @@ import org.springframework.stereotype.Repository;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -34,6 +35,19 @@ import java.util.List;
public class ComRiseSetQueryRepository { public class ComRiseSetQueryRepository {
private final JPAQueryFactory query; private final JPAQueryFactory query;
public List<String> findUnDuplicatoinLocationByLocDate(String locDate){
QComRiseSetBas bas = QComRiseSetBas.comRiseSetBas;
List<String> result = query
.selectDistinct(bas.id.location)
.from(bas)
.where(bas.id.location.eq(locDate))
.fetch();
return result;
}
public List<ComRiseSetBas> findAllBySearch(ComnSunrisesetRq rq) { public List<ComRiseSetBas> findAllBySearch(ComnSunrisesetRq rq) {
QComRiseSetBas bas = QComRiseSetBas.comRiseSetBas; QComRiseSetBas bas = QComRiseSetBas.comRiseSetBas;

21
pav-server/src/main/java/com/palnet/biz/scheduler/external/service/SunRiseSchedulerService.java vendored

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

Loading…
Cancel
Save