zhuyifan

fix(menu): 优化查询菜单接口返回结果

...@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
18 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
19 import org.springframework.stereotype.Service; 19 import org.springframework.stereotype.Service;
20 20
21 +import java.util.ArrayList;
21 import java.util.List; 22 import java.util.List;
22 import java.util.stream.Collectors; 23 import java.util.stream.Collectors;
23 24
...@@ -70,40 +71,45 @@ public class MenuServiceImpl implements MenuService { ...@@ -70,40 +71,45 @@ public class MenuServiceImpl implements MenuService {
70 @Override 71 @Override
71 public List<MenuDto> queryPublishedMenusByStallId(Integer enterpriseId, List<Integer> stallIds) { 72 public List<MenuDto> queryPublishedMenusByStallId(Integer enterpriseId, List<Integer> stallIds) {
72 final var response = menuServiceRpcClient.queryPublishedMenusByStallId(enterpriseId, stallIds); 73 final var response = menuServiceRpcClient.queryPublishedMenusByStallId(enterpriseId, stallIds);
73 - return response.getResponsesList().stream().map(menu -> 74 + return new ArrayList<>(response.getResponsesList().stream()
74 - MenuDto.builder() 75 + .collect(Collectors.toMap(
75 - .id(menu.getId()) 76 + SingleMenuRpcResponse::getId,
76 - .code(menu.getCode()) 77 + menu -> MenuDto.builder()
77 - .enterpriseId(menu.getEnterpriseId()) 78 + .id(menu.getId())
78 - .name(menu.getName()) 79 + .code(menu.getCode())
79 - .status(menu.getStatusValue()) 80 + .enterpriseId(menu.getEnterpriseId())
80 - .customerScope(menu.getCustomerScope()) 81 + .name(menu.getName())
81 - .nutritionPromotion(menu.getNutritionPromotion()) 82 + .status(menu.getStatusValue())
82 - .nutritionalStatistics(menu.getNutritionalStatistics()) 83 + .customerScope(menu.getCustomerScope())
83 - .dishRuleJson(DishRuleJson.builder() 84 + .nutritionPromotion(menu.getNutritionPromotion())
84 - .days(menu.getDishRuleJson().getDays()) 85 + .nutritionalStatistics(menu.getNutritionalStatistics())
85 - .dishType(menu.getDishRuleJson().getDishType()) 86 + .dishRuleJson(DishRuleJson.builder()
86 - .mealIds(menu.getDishRuleJson().getMealIdsList()) 87 + .days(menu.getDishRuleJson().getDays())
87 - .build()) 88 + .dishType(menu.getDishRuleJson().getDishType())
88 - .orderRuleJson(OrderRuleJson.builder() 89 + .mealIds(menu.getDishRuleJson().getMealIdsList())
89 - .allowMicroPlaceOrder(menu.getOrderRuleJson().getAllowMicroPlaceOrder()) 90 + .build())
90 - .closeTimeType(menu.getOrderRuleJson().getCloseTimeType()) 91 + .orderRuleJson(OrderRuleJson.builder()
91 - .dishSelectRule(menu.getOrderRuleJson().getDishSelectRule()) 92 + .allowMicroPlaceOrder(menu.getOrderRuleJson().getAllowMicroPlaceOrder())
92 - .earlyDays(menu.getOrderRuleJson().getEarlyDays()) 93 + .closeTimeType(menu.getOrderRuleJson().getCloseTimeType())
93 - .modeOfPayment(menu.getOrderRuleJson().getModeOfPayment()) 94 + .dishSelectRule(menu.getOrderRuleJson().getDishSelectRule())
94 - .placeOrderCount(menu.getOrderRuleJson().getPlaceOrderCount()) 95 + .earlyDays(menu.getOrderRuleJson().getEarlyDays())
95 - .startTime(menu.getOrderRuleJson().getStartTime()) 96 + .modeOfPayment(menu.getOrderRuleJson().getModeOfPayment())
96 - .endTime(menu.getOrderRuleJson().getEndTime()) 97 + .placeOrderCount(menu.getOrderRuleJson().getPlaceOrderCount())
97 - .deadline(menu.getOrderRuleJson().getDeadline()) 98 + .startTime(menu.getOrderRuleJson().getStartTime())
98 - .build()) 99 + .endTime(menu.getOrderRuleJson().getEndTime())
99 - .createdBy(menu.getCreatedBy()) 100 + .deadline(menu.getOrderRuleJson().getDeadline())
100 - .creationSource(menu.getCreationSource()) 101 + .build())
101 - .createdAt(DateUtil.formatDate(menu.getCreatedAt())) 102 + .createdBy(menu.getCreatedBy())
102 - .updatedBy(menu.getUpdatedBy()) 103 + .creationSource(menu.getCreationSource())
103 - .updateSource(menu.getUpdateSource()) 104 + .createdAt(DateUtil.formatDate(menu.getCreatedAt()))
104 - .updatedAt(DateUtil.formatDate(menu.getUpdatedAt())) 105 + .updatedBy(menu.getUpdatedBy())
105 - .publishAt(DateUtil.formatDate(menu.getPublishAt())) 106 + .updateSource(menu.getUpdateSource())
106 - .build()).collect(Collectors.toList()); 107 + .updatedAt(DateUtil.formatDate(menu.getUpdatedAt()))
108 + .publishAt(DateUtil.formatDate(menu.getPublishAt()))
109 + .build(),
110 + (existing, replacement) -> existing
111 + ))
112 + .values());
107 } 113 }
108 114
109 @Override 115 @Override
......