MenuServiceImpl.java
5.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package com.infoloop.tianting.service.impl;
import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsDto;
import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsResponseDto;
import com.infoloop.tianting.model.dto.MenuDbDTO.DishRuleJson;
import com.infoloop.tianting.model.dto.MenuDbDTO.MenuDetailDto;
import com.infoloop.tianting.model.dto.MenuDbDTO.MenuDto;
import com.infoloop.tianting.model.dto.MenuDbDTO.MenuRefDto;
import com.infoloop.tianting.model.dto.MenuDbDTO.OrderRuleJson;
import com.infoloop.tianting.service.MenuService;
import com.infoloop.tianting.service.client.MenuServiceRpcClient;
import com.infoloop.tianting.utils.DateUtil;
import java.util.List;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MenuServiceImpl implements MenuService {
private final MenuServiceRpcClient menuServiceRpcClient;
@Override
public List<MenuDto> queryMiniProgramPublishedMenusByStallId(
Integer enterpriseId, Integer stallId) {
final var response = menuServiceRpcClient.queryMiniProgramPublishedMenusByStallIds(
enterpriseId, stallId);
return response.getResponsesList().stream().map(menu ->
MenuDto.builder()
.id(menu.getId())
.code(menu.getCode())
.enterpriseId(menu.getEnterpriseId())
.name(menu.getName())
.status(menu.getStatusValue())
.customerScope(menu.getCustomerScope())
.nutritionPromotion(menu.getNutritionPromotion())
.nutritionalStatistics(menu.getNutritionalStatistics())
.dishRuleJson(DishRuleJson.builder()
.days(menu.getDishRuleJson().getDays())
.dishType(menu.getDishRuleJson().getDishType())
.mealIds(menu.getDishRuleJson().getMealIdsList())
.build())
.orderRuleJson(OrderRuleJson.builder()
.allowMicroPlaceOrder(menu.getOrderRuleJson().getAllowMicroPlaceOrder())
.closeTimeType(menu.getOrderRuleJson().getCloseTimeType())
.dishSelectRule(menu.getOrderRuleJson().getDishSelectRule())
.earlyDays(menu.getOrderRuleJson().getEarlyDays())
.modeOfPayment(menu.getOrderRuleJson().getModeOfPayment())
.placeOrderCount(menu.getOrderRuleJson().getPlaceOrderCount())
.startTime(menu.getOrderRuleJson().getStartTime())
.endTime(menu.getOrderRuleJson().getEndTime())
.deadline(menu.getOrderRuleJson().getDeadline())
.build())
.createdBy(menu.getCreatedBy())
.creationSource(menu.getCreationSource())
.createdAt(DateUtil.formatDate(menu.getCreatedAt()))
.updatedBy(menu.getUpdatedBy())
.updateSource(menu.getUpdateSource())
.updatedAt(DateUtil.formatDate(menu.getUpdatedAt()))
.publishAt(DateUtil.formatDate(menu.getPublishAt()))
.build()).collect(Collectors.toList());
}
@Override
public List<MenuDetailDto> queryMenuDetailsByMenuId(Integer enterpriseId, Integer menuId) {
final var response = menuServiceRpcClient.queryMenuDetailsByMenuId(enterpriseId, menuId);
return response.getResponsesList().stream().map(menuDetail ->
MenuDetailDto.builder()
.id(menuDetail.getId())
.categoryId(menuDetail.getCategoryId())
.mealId(menuDetail.getMealId())
.menuId(menuDetail.getMenuId())
.days(menuDetail.getDays())
.enterpriseId(menuDetail.getEnterpriseId())
.price(menuDetail.getPrice())
.showName(menuDetail.getShowName())
.skuId(menuDetail.getSkuId())
.isDeleted(menuDetail.getIsDeleted())
.createdBy(menuDetail.getCreatedBy())
.creationSource(menuDetail.getCreationSource())
.createdAt(DateUtil.formatDate(menuDetail.getCreatedAt()))
.updatedBy(menuDetail.getUpdatedBy())
.updateSource(menuDetail.getUpdateSource())
.updatedAt(DateUtil.formatDate(menuDetail.getUpdatedAt()))
.build()).collect(Collectors.toList());
}
@Override
public List<MenuRefDto> getClientCustomerMenuRefsByCustomerId(Integer enterpriseId, Integer customerId) {
final var response = menuServiceRpcClient.getClientCustomerMenuRefsByCustomerId(enterpriseId, customerId);
return response.getResponsesList().stream().map(ref ->
MenuRefDto.builder()
.id(ref.getId())
.bindAt(DateUtil.formatDate(ref.getBindAt()))
.createdAt(DateUtil.formatDate(ref.getBindAt()))
.createdBy(ref.getCreatedBy())
.creationSource(ref.getCreationSource())
.customerId(ref.getCustomerId())
.enterpriseId(ref.getEnterpriseId())
.isTop(ref.getIsTop())
.menuId(ref.getMenuId())
.build()
).collect(Collectors.toList());
}
@Override
public BatchCreateMenuRefsResponseDto batchCreateMenuRefs(BatchCreateMenuRefsDto batchCreateMenuRefsDto) {
final var response = menuServiceRpcClient.batchCreateClientCustomerMenuRefs(batchCreateMenuRefsDto);
return BatchCreateMenuRefsResponseDto.builder()
.ids(response.getIdsList())
.isCreated(response.getIsCreated())
.build();
}
}