Drew 6 년 전
부모
커밋
fb913ff41c

+ 23 - 16
src/main/java/com/izouma/ticketExchange/service/SyncService.java

@@ -135,22 +135,29 @@ public class SyncService {
         List<Schedule> scheduleList = new ArrayList<>();
         cinemaRepo.findAll().forEach(cinema -> {
             Optional.ofNullable(tppService.getSchedules(cinema.getId())).orElse(new ArrayList<>()).forEach(s -> {
-                scheduleList.add(Schedule.builder()
-                                         .id(s.getId())
-                                         .cinemaId(s.getCinemaId())
-                                         .showId(s.getShowId())
-                                         .price(BigDecimal.valueOf(s.getPrice() / 100f))
-                                         .hallName(s.getHallName())
-                                         .maxCanBuy(Math.toIntExact(s.getMaxCanBuy()))
-                                         .showTime(DateTimeUtils.toLocalDateTime(s.getShowTime(), "yyyy-MM-dd HH:mm:ss"))
-                                         .closeTime(DateTimeUtils.toLocalDateTime(s.getCloseTime(), "yyyy-MM-dd HH:mm:ss"))
-                                         .scheduleArea(s.getScheduleArea())
-                                         .sectionId(s.getSectionId())
-                                         .serviceFee(BigDecimal.valueOf(Optional.ofNullable(s.getServiceFee()).orElse(0L) / 100f))
-                                         .showVersion(s.getShowVersion())
-                                         .showDate(DateTimeUtils.toLocalDate(s.getShowDate(), "yyyy-MM-dd"))
-                                         .isExpired(s.getIsExpired())
-                                         .build());
+                Schedule schedule = Schedule.builder()
+                                            .id(s.getId())
+                                            .cinemaId(s.getCinemaId())
+                                            .showId(s.getShowId())
+                                            .price(BigDecimal.valueOf(s.getPrice()).divide(BigDecimal.valueOf(100), BigDecimal.ROUND_HALF_EVEN))
+                                            .hallName(s.getHallName())
+                                            .maxCanBuy(Math.toIntExact(s.getMaxCanBuy()))
+                                            .scheduleArea(s.getScheduleArea())
+                                            .sectionId(s.getSectionId())
+                                            .serviceFee(BigDecimal.valueOf(Optional.ofNullable(s.getServiceFee()).orElse(0L) / 100f))
+                                            .showVersion(s.getShowVersion())
+                                            .isExpired(s.getIsExpired())
+                                            .build();
+                if (StringUtils.isNotEmpty(s.getShowTime())) {
+                    schedule.setShowTime(DateTimeUtils.toLocalDateTime(s.getShowTime(), "yyyy-MM-dd HH:mm:ss"));
+                }
+                if (StringUtils.isNotEmpty(s.getCloseTime())) {
+                    schedule.setCloseTime(DateTimeUtils.toLocalDateTime(s.getCloseTime(), "yyyy-MM-dd HH:mm:ss"));
+                }
+                if (StringUtils.isNotEmpty(s.getShowDate())) {
+                    schedule.setShowDate(DateTimeUtils.toLocalDate(s.getShowDate(), "yyyy-MM-dd"));
+                }
+                scheduleList.add(schedule);
             });
         });
         scheduleRepo.saveAll(scheduleList);

+ 19 - 1
src/test/java/com/izouma/ticketExchange/service/TppServiceTest.java

@@ -68,7 +68,25 @@ public class TppServiceTest extends ApplicationTests {
 
     @Test
     public void test() {
-        List<FilmDataThirdPartySchedulesGetResponse.Schedule> list = tppService.getSchedules(4288L);
+        List<FilmDataThirdPartySchedulesGetResponse.Schedule> list = tppService.getSchedules(4353L);
+        list.forEach(s -> {
+            Schedule.builder()
+                    .id(s.getId())
+                    .cinemaId(s.getCinemaId())
+                    .showId(s.getShowId())
+                    .price(BigDecimal.valueOf(s.getPrice() / 100f))
+                    .hallName(s.getHallName())
+                    .maxCanBuy(Math.toIntExact(s.getMaxCanBuy()))
+                    .showTime(DateTimeUtils.toLocalDateTime(s.getShowTime(), "yyyy-MM-dd HH:mm:ss"))
+                    .closeTime(DateTimeUtils.toLocalDateTime(s.getCloseTime(), "yyyy-MM-dd HH:mm:ss"))
+                    .scheduleArea(s.getScheduleArea())
+                    .sectionId(s.getSectionId())
+                    .serviceFee(BigDecimal.valueOf(Optional.ofNullable(s.getServiceFee()).orElse(0L) / 100f))
+                    .showVersion(s.getShowVersion())
+                    .showDate(DateTimeUtils.toLocalDate(s.getShowDate(), "yyyy-MM-dd"))
+                    .isExpired(s.getIsExpired())
+                    .build();
+        });
         System.out.println(list);
     }