ouyang 3 vuotta sitten
vanhempi
commit
6320d1bbd1

+ 1 - 1
src/main/java/com/izouma/nineth/dto/SubscribeListDTO.java

@@ -15,5 +15,5 @@ import java.util.Map;
 @NoArgsConstructor
 public class SubscribeListDTO {
     private LocalDateTime       dateTime;
-    private Map<LocalDateTime,List<CollectionDTO>> collectionDTOS;
+    private List<SubscribeMapDto> subscribeMapDto;
 }

+ 19 - 0
src/main/java/com/izouma/nineth/dto/SubscribeMapDto.java

@@ -0,0 +1,19 @@
+package com.izouma.nineth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.List;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class SubscribeMapDto {
+    private LocalTime localTime;
+    private List<CollectionDTO> collectionDTOS;
+}

+ 15 - 6
src/main/java/com/izouma/nineth/service/CollectionService.java

@@ -620,7 +620,8 @@ public class CollectionService {
     @Cacheable(value = "subscribeCollectionList", key = "#now.hashCode()")
     public List<SubscribeListDTO> subscribeAll(LocalDate now) {
         List<SubscribeListDTO> subscribeListDTOS = new ArrayList<>();
-        Map<LocalDateTime,List<CollectionDTO>> map = new HashMap<>();
+        List<SubscribeMapDto> subscribeMapDtoList = new ArrayList<>();
+//        Map<LocalDateTime,List<CollectionDTO>> map = new HashMap<>();
 //        Map<String, Object> resultMap = new HashMap<>();
 //        resultMap.put("subList", subscribeListDTOS);
 //        resultMap.put("notSubscribedIds", dtoPage.getContent().stream().filter(dto -> !dto.isSubscribed())
@@ -666,20 +667,28 @@ public class CollectionService {
                     }else if (dateTime.equals(collectionDTO.getStartTime())){
                         collectionDtoList.add(collectionDTO);
                     }else {
-                        map.put(dateTime,new ArrayList<>(collectionDtoList));
+                        subscribeMapDtoList.add(SubscribeMapDto.builder()
+                                .localTime(dateTime.toLocalTime())
+                                .collectionDTOS(new ArrayList<>(collectionDtoList))
+                                .build());
+//                        map.put(dateTime,new ArrayList<>(collectionDtoList));
                         dateTime = collectionDTO.getStartTime();
                         collectionDtoList.clear();
                         collectionDtoList.add(collectionDTO);
                     }
                 }
-                map.put(dateTime,new ArrayList<>(collectionDtoList));
+                subscribeMapDtoList.add(SubscribeMapDto.builder()
+                        .localTime(dateTime.toLocalTime())
+                        .collectionDTOS(new ArrayList<>(collectionDtoList))
+                        .build());
+//                map.put(dateTime,new ArrayList<>(collectionDtoList));
                 subscribeListDTOS.add(SubscribeListDTO.builder()
                         .dateTime(pageNew.getContent().get(0).getStartTime())
-                        .collectionDTOS(new HashMap<>(map))
+                        .subscribeMapDto(new ArrayList<>(subscribeMapDtoList))
                         .build());
             }
-            if (!map.isEmpty()){
-                map.clear();
+            if (CollectionUtils.isNotEmpty(subscribeMapDtoList)){
+                subscribeMapDtoList.clear();
             }
         });
         return subscribeListDTOS;