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,8 +71,10 @@ public class MenuServiceImpl implements MenuService { ...@@ -70,8 +71,10 @@ 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(
76 + SingleMenuRpcResponse::getId,
77 + menu -> MenuDto.builder()
75 .id(menu.getId()) 78 .id(menu.getId())
76 .code(menu.getCode()) 79 .code(menu.getCode())
77 .enterpriseId(menu.getEnterpriseId()) 80 .enterpriseId(menu.getEnterpriseId())
...@@ -103,7 +106,10 @@ public class MenuServiceImpl implements MenuService { ...@@ -103,7 +106,10 @@ public class MenuServiceImpl implements MenuService {
103 .updateSource(menu.getUpdateSource()) 106 .updateSource(menu.getUpdateSource())
104 .updatedAt(DateUtil.formatDate(menu.getUpdatedAt())) 107 .updatedAt(DateUtil.formatDate(menu.getUpdatedAt()))
105 .publishAt(DateUtil.formatDate(menu.getPublishAt())) 108 .publishAt(DateUtil.formatDate(menu.getPublishAt()))
106 - .build()).collect(Collectors.toList()); 109 + .build(),
110 + (existing, replacement) -> existing
111 + ))
112 + .values());
107 } 113 }
108 114
109 @Override 115 @Override
......