MenuServiceRpcClient.java
5.04 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
package com.infoloop.tianting.service.client;
import com.infoloop.tianting.menuservice.BatchCreateClientCustomerMenuRefsRpcRequest;
import com.infoloop.tianting.menuservice.BatchCreateClientCustomerMenuRefsRpcResponse;
import com.infoloop.tianting.menuservice.ClientCustomerMenuRefCreation;
import com.infoloop.tianting.menuservice.GetClientCustomerMenuRefsByCustomerIdRpcRequest;
import com.infoloop.tianting.menuservice.GetClientCustomerMenuRefsByCustomerIdRpcResponse;
import com.infoloop.tianting.menuservice.GetMenuByIdRpcRequest;
import com.infoloop.tianting.menuservice.GetMenuByIdRpcResponse;
import com.infoloop.tianting.menuservice.GetMenuDetailByIdRpcRequest;
import com.infoloop.tianting.menuservice.GetMenuDetailByIdRpcResponse;
import com.infoloop.tianting.menuservice.GetMenuDetailsByMenuIdsRpcRequest;
import com.infoloop.tianting.menuservice.GetMenuDetailsByMenuIdsRpcResponse;
import com.infoloop.tianting.menuservice.GetMicroPublishedMenusByStallIdsRpcRequest;
import com.infoloop.tianting.menuservice.GetMicroPublishedMenusByStallIdsRpcResponse;
import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcRequest;
import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcResponse;
import com.infoloop.tianting.menuservice.MenuServiceRpcGrpc;
import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsDto;
import com.infoloop.tianting.utils.DateUtil;
import io.swagger.models.auth.In;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.List;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MenuServiceRpcClient {
private final MenuServiceRpcGrpc.MenuServiceRpcBlockingStub menuServiceRpcBlockingStub;
public GetMicroPublishedMenusByStallIdsRpcResponse queryMiniProgramPublishedMenusByStallId(
Integer enterpriseId, Integer stallId) {
final var request = GetMicroPublishedMenusByStallIdsRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.addAllStallIds(List.of(stallId))
.setIncludeDeleted(false)
.build();
return menuServiceRpcBlockingStub.getMicroPublishedMenusByStallIds(request);
}
public GetPublishedMenusByStallIdsRpcResponse queryPublishedMenusByStallId(
Integer enterpriseId, Integer stallId) {
final var request = GetPublishedMenusByStallIdsRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.addAllStallIds(List.of(stallId))
.build();
return menuServiceRpcBlockingStub.getPublishedMenusByStallIds(request);
}
public GetMenuByIdRpcResponse getMenuById(Integer enterpriseId, Integer id) {
final var request = GetMenuByIdRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.setId(id)
.setIncludeDeleted(false)
.build();
return menuServiceRpcBlockingStub.getMenuById(request);
}
public GetMenuDetailByIdRpcResponse getMenuDetailById(Integer enterpriseId, Integer id) {
final var request = GetMenuDetailByIdRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.setId(id)
.setIncludeDeleted(false)
.build();
return menuServiceRpcBlockingStub.getMenuDetailById(request);
}
public GetMenuDetailsByMenuIdsRpcResponse queryMenuDetailsByMenuId(
Integer enterpriseId, Integer menuId) {
final var request = GetMenuDetailsByMenuIdsRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.addAllMenuIds(List.of(menuId))
.setIncludeDeleted(false)
.build();
return menuServiceRpcBlockingStub.getMenuDetailsByMenuIds(request);
}
public GetClientCustomerMenuRefsByCustomerIdRpcResponse getClientCustomerMenuRefsByCustomerId(
Integer enterpriseId, Integer customerId
) {
final var request = GetClientCustomerMenuRefsByCustomerIdRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId)
.setCustomerId(customerId)
.build();
return menuServiceRpcBlockingStub.getClientCustomerMenuRefsByCustomerId(request);
}
public BatchCreateClientCustomerMenuRefsRpcResponse batchCreateClientCustomerMenuRefs(
BatchCreateMenuRefsDto batchCreateMenuRefsDto) {
final var creations = batchCreateMenuRefsDto.getCreations().stream().map(mr->
ClientCustomerMenuRefCreation.newBuilder()
.setIsTop(mr.isTop())
.setMenuId(mr.getMenuId())
.setCustomerId(mr.getCustomerId())
.setBindAt(LocalDateTime.now().toEpochSecond(ZoneOffset.UTC))
.build())
.collect(Collectors.toList());
final var request = BatchCreateClientCustomerMenuRefsRpcRequest.newBuilder()
.setCreatedBy(batchCreateMenuRefsDto.getCreatedBy())
.setEnterpriseId(batchCreateMenuRefsDto.getEnterpriseId())
.addAllCreations(creations)
.setCreationSource(batchCreateMenuRefsDto.getCreationSource().getNumber())
.build();
return menuServiceRpcBlockingStub.batchCreateClientCustomerMenuRefs(request);
}
}