chen.yinxiang

fix:将订阅消息合并进meal order

...@@ -11,7 +11,6 @@ import brave.propagation.TraceContext; ...@@ -11,7 +11,6 @@ import brave.propagation.TraceContext;
11 import brave.sampler.Sampler; 11 import brave.sampler.Sampler;
12 import com.tianting.infoloop.service.grpc.MealOrderGrpcService; 12 import com.tianting.infoloop.service.grpc.MealOrderGrpcService;
13 import com.tianting.infoloop.service.grpc.OrderGrpcService; 13 import com.tianting.infoloop.service.grpc.OrderGrpcService;
14 -import com.tianting.infoloop.service.grpc.OrderSubscriptionMessageGrpcService;
15 import io.grpc.Server; 14 import io.grpc.Server;
16 import io.grpc.ServerInterceptor; 15 import io.grpc.ServerInterceptor;
17 import io.grpc.ServerInterceptors; 16 import io.grpc.ServerInterceptors;
...@@ -67,13 +66,11 @@ public class AppConfig implements ApplicationContextAware { ...@@ -67,13 +66,11 @@ public class AppConfig implements ApplicationContextAware {
67 public Server serviceServer(@Value(SERVICE_PORT) final int port, 66 public Server serviceServer(@Value(SERVICE_PORT) final int port,
68 final ServerInterceptor serverInterceptor, 67 final ServerInterceptor serverInterceptor,
69 final OrderGrpcService orderGrpcService, 68 final OrderGrpcService orderGrpcService,
70 - final MealOrderGrpcService mealOrderGrpcService, 69 + final MealOrderGrpcService mealOrderGrpcService) {
71 - final OrderSubscriptionMessageGrpcService orderSubscriptionMessageGrpcService) {
72 return NettyServerBuilder 70 return NettyServerBuilder
73 .forPort(port) 71 .forPort(port)
74 .addService(ServerInterceptors.intercept(orderGrpcService, serverInterceptor)) 72 .addService(ServerInterceptors.intercept(orderGrpcService, serverInterceptor))
75 .addService(ServerInterceptors.intercept(mealOrderGrpcService, serverInterceptor)) 73 .addService(ServerInterceptors.intercept(mealOrderGrpcService, serverInterceptor))
76 - .addService(ServerInterceptors.intercept(orderSubscriptionMessageGrpcService, serverInterceptor))
77 .build(); 74 .build();
78 } 75 }
79 } 76 }
......
1 package com.tianting.infoloop.service; 1 package com.tianting.infoloop.service;
2 2
3 import com.baomidou.mybatisplus.extension.service.IService; 3 import com.baomidou.mybatisplus.extension.service.IService;
4 -import com.infoloop.tianting.ordersubscriptionmessageservice.CreateOrderSubscriptionMessageRpcRequest; 4 +import com.infoloop.tianting.mealorderservice.CreateOrderSubscriptionMessageRpcRequest;
5 -import com.infoloop.tianting.ordersubscriptionmessageservice.GetUserOrderSubscriptionMessageHistoryRpcRequest; 5 +import com.infoloop.tianting.mealorderservice.GetUserOrderSubscriptionMessageHistoryRpcRequest;
6 import com.tianting.infoloop.model.db.OrderSubscriptionMessageDb; 6 import com.tianting.infoloop.model.db.OrderSubscriptionMessageDb;
7 7
8 import java.util.List; 8 import java.util.List;
......
...@@ -7,6 +7,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -7,6 +7,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
7 import com.infoloop.tianting.mealorderservice.BatchCreateDinerMealSuspensionRecordsRpcRequest; 7 import com.infoloop.tianting.mealorderservice.BatchCreateDinerMealSuspensionRecordsRpcRequest;
8 import com.infoloop.tianting.mealorderservice.BatchCreateDinerMealSuspensionRecordsRpcResponse; 8 import com.infoloop.tianting.mealorderservice.BatchCreateDinerMealSuspensionRecordsRpcResponse;
9 import com.infoloop.tianting.mealorderservice.BatchCreateGradeClassesRpcRequest; 9 import com.infoloop.tianting.mealorderservice.BatchCreateGradeClassesRpcRequest;
10 +import com.infoloop.tianting.mealorderservice.BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest;
11 +import com.infoloop.tianting.mealorderservice.BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse;
12 +import com.infoloop.tianting.mealorderservice.BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest;
13 +import com.infoloop.tianting.mealorderservice.BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse;
14 +import com.infoloop.tianting.mealorderservice.CreateOrderSubscriptionMessageRpcRequest;
15 +import com.infoloop.tianting.mealorderservice.CreateOrderSubscriptionMessageRpcResponse;
16 +import com.infoloop.tianting.mealorderservice.GetUserOrderSubscriptionMessageHistoryRpcRequest;
17 +import com.infoloop.tianting.mealorderservice.GetUserOrderSubscriptionMessageHistoryRpcResponse;
18 +import com.infoloop.tianting.mealorderservice.OrderSubscriptionMessageRpcResponse;
10 import com.infoloop.tianting.mealorderservice.BatchCreateGradeClassesRpcResponse; 19 import com.infoloop.tianting.mealorderservice.BatchCreateGradeClassesRpcResponse;
11 import com.infoloop.tianting.mealorderservice.BatchCreateMealOrdersRpcRequest; 20 import com.infoloop.tianting.mealorderservice.BatchCreateMealOrdersRpcRequest;
12 import com.infoloop.tianting.mealorderservice.BatchCreateMealOrdersRpcResponse; 21 import com.infoloop.tianting.mealorderservice.BatchCreateMealOrdersRpcResponse;
...@@ -124,6 +133,8 @@ import com.tianting.infoloop.service.MealOrderService; ...@@ -124,6 +133,8 @@ import com.tianting.infoloop.service.MealOrderService;
124 import com.tianting.infoloop.service.MpAccountDinerRefService; 133 import com.tianting.infoloop.service.MpAccountDinerRefService;
125 import com.tianting.infoloop.service.MpAccountService; 134 import com.tianting.infoloop.service.MpAccountService;
126 import com.tianting.infoloop.service.DinerMealSuspensionRecordService; 135 import com.tianting.infoloop.service.DinerMealSuspensionRecordService;
136 +import com.tianting.infoloop.service.OrderSubscriptionMessageDbService;
137 +import com.tianting.infoloop.model.db.OrderSubscriptionMessageDb;
127 import com.tianting.infoloop.utils.ProtoBeanUtil; 138 import com.tianting.infoloop.utils.ProtoBeanUtil;
128 import io.grpc.Status; 139 import io.grpc.Status;
129 import io.grpc.stub.StreamObserver; 140 import io.grpc.stub.StreamObserver;
...@@ -134,10 +145,10 @@ import org.springframework.stereotype.Service; ...@@ -134,10 +145,10 @@ import org.springframework.stereotype.Service;
134 import org.springframework.transaction.annotation.Transactional; 145 import org.springframework.transaction.annotation.Transactional;
135 146
136 import java.time.DayOfWeek; 147 import java.time.DayOfWeek;
137 -import java.time.Instant;
138 import java.time.LocalDate; 148 import java.time.LocalDate;
139 import java.time.LocalDateTime; 149 import java.time.LocalDateTime;
140 import java.time.LocalTime; 150 import java.time.LocalTime;
151 +import java.time.ZoneId;
141 import java.time.temporal.TemporalAdjusters; 152 import java.time.temporal.TemporalAdjusters;
142 import java.util.ArrayList; 153 import java.util.ArrayList;
143 import java.util.Collections; 154 import java.util.Collections;
...@@ -167,6 +178,8 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi ...@@ -167,6 +178,8 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
167 178
168 private final DinerMealSuspensionRecordService dinerMealSuspensionRecordService; 179 private final DinerMealSuspensionRecordService dinerMealSuspensionRecordService;
169 180
181 + private final OrderSubscriptionMessageDbService orderSubscriptionMessageDbService;
182 +
170 @Override 183 @Override
171 @DS(DATA_SOURCE_SLAVE) 184 @DS(DATA_SOURCE_SLAVE)
172 public void getMealOrderById(final GetMealOrderByIdRpcRequest request, 185 public void getMealOrderById(final GetMealOrderByIdRpcRequest request,
...@@ -1417,4 +1430,115 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi ...@@ -1417,4 +1430,115 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
1417 responseObserver.onNext(builder.build()); 1430 responseObserver.onNext(builder.build());
1418 responseObserver.onCompleted(); 1431 responseObserver.onCompleted();
1419 } 1432 }
1433 +
1434 + // 订餐订阅消息相关服务实现
1435 + @Override
1436 + @DS(DATA_SOURCE_MASTER)
1437 + public void createOrderSubscriptionMessage(final CreateOrderSubscriptionMessageRpcRequest request,
1438 + final StreamObserver<CreateOrderSubscriptionMessageRpcResponse> responseObserver) {
1439 + final var builder = CreateOrderSubscriptionMessageRpcResponse.newBuilder();
1440 + try {
1441 + final var data = orderSubscriptionMessageDbService.createOrderSubscriptionMessage(request);
1442 + builder.setId(data.getId());
1443 + } catch (final Exception e) {
1444 + log.error("createOrderSubscriptionMessage error;", e);
1445 + responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
1446 + return;
1447 + }
1448 + responseObserver.onNext(builder.build());
1449 + responseObserver.onCompleted();
1450 + }
1451 +
1452 + @Override
1453 + @DS(DATA_SOURCE_MASTER)
1454 + public void getUserOrderSubscriptionMessageHistory(final GetUserOrderSubscriptionMessageHistoryRpcRequest request,
1455 + final StreamObserver<GetUserOrderSubscriptionMessageHistoryRpcResponse> responseObserver) {
1456 + final var builder = GetUserOrderSubscriptionMessageHistoryRpcResponse.newBuilder();
1457 + try {
1458 + final var list = orderSubscriptionMessageDbService.getUserOrderSubscriptionMessageHistory(request);
1459 + builder.addAllResponse(list.stream()
1460 + .map(this::convertToRpcResponse)
1461 + .collect(Collectors.toList()));
1462 + } catch (final Exception e) {
1463 + log.error("getUserOrderSubscriptionMessageHistory error;", e);
1464 + responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
1465 + return;
1466 + }
1467 + responseObserver.onNext(builder.build());
1468 + responseObserver.onCompleted();
1469 + }
1470 +
1471 + private OrderSubscriptionMessageRpcResponse convertToRpcResponse(OrderSubscriptionMessageDb db) {
1472 + OrderSubscriptionMessageRpcResponse.Builder builder = OrderSubscriptionMessageRpcResponse.newBuilder();
1473 + builder.setId(db.getId());
1474 +
1475 + if (db.getJumpPath() != null) {
1476 + builder.setJumpPath(db.getJumpPath());
1477 + }
1478 +
1479 + // 转换LocalDateTime为时间戳(毫秒),与项目中其他时间字段保持一致
1480 + if (db.getOrderPeriodStartDate() != null) {
1481 + long timestamp = db.getOrderPeriodStartDate().atZone(ZoneId.systemDefault())
1482 + .toInstant()
1483 + .toEpochMilli();
1484 + builder.setOrderPeriodStartDate(timestamp);
1485 + }
1486 +
1487 + if (db.getOrderPeriodEndDate() != null) {
1488 + long timestamp = db.getOrderPeriodEndDate().atZone(ZoneId.systemDefault())
1489 + .toInstant()
1490 + .toEpochMilli();
1491 + builder.setOrderPeriodEndDate(timestamp);
1492 + }
1493 +
1494 + // 转换LocalDateTime为时间戳(毫秒)
1495 + if (db.getCreatedAt() != null) {
1496 + long timestamp = db.getCreatedAt().atZone(ZoneId.systemDefault())
1497 + .toInstant()
1498 + .toEpochMilli();
1499 + builder.setCreatedAt(timestamp);
1500 + }
1501 +
1502 + builder.setIsDeleted(db.getIsDeleted() != null && db.getIsDeleted());
1503 + return builder.build();
1504 + }
1505 +
1506 + @Override
1507 + @DS(DATA_SOURCE_MASTER)
1508 + public void batchDeleteOrderSubscriptionMessagesByIds(final BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest request,
1509 + final StreamObserver<BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse> responseObserver) {
1510 + final var builder = BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse.newBuilder();
1511 + try {
1512 + final int affectedRows = orderSubscriptionMessageDbService.batchDeleteByIds(
1513 + request.getIdsList(),
1514 + request.getEnterpriseId());
1515 + builder.setAffectedRows(affectedRows);
1516 + } catch (final Exception e) {
1517 + log.error("batchDeleteOrderSubscriptionMessagesByIds error;", e);
1518 + responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
1519 + return;
1520 + }
1521 + responseObserver.onNext(builder.build());
1522 + responseObserver.onCompleted();
1523 + }
1524 +
1525 + @Override
1526 + @DS(DATA_SOURCE_MASTER)
1527 + public void batchPhysicalDeleteOrderSubscriptionMessagesByIds(
1528 + final BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest request,
1529 + final StreamObserver<BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse> responseObserver) {
1530 + final var builder = BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse.newBuilder();
1531 + try {
1532 + final int affectedRows = orderSubscriptionMessageDbService.batchPhysicalDeleteByIds(
1533 + request.getIdsList(),
1534 + request.getEnterpriseId());
1535 + builder.setAffectedRows(affectedRows);
1536 + } catch (final Exception e) {
1537 + log.error("batchPhysicalDeleteOrderSubscriptionMessagesByIds error;", e);
1538 + responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
1539 + return;
1540 + }
1541 + responseObserver.onNext(builder.build());
1542 + responseObserver.onCompleted();
1543 + }
1420 } 1544 }
......
1 -package com.tianting.infoloop.service.grpc;
2 -
3 -import com.baomidou.dynamic.datasource.annotation.DS;
4 -import com.infoloop.tianting.ordersubscriptionmessageservice.BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest;
5 -import com.infoloop.tianting.ordersubscriptionmessageservice.BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse;
6 -import com.infoloop.tianting.ordersubscriptionmessageservice.BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest;
7 -import com.infoloop.tianting.ordersubscriptionmessageservice.BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse;
8 -import com.infoloop.tianting.ordersubscriptionmessageservice.CreateOrderSubscriptionMessageRpcRequest;
9 -import com.infoloop.tianting.ordersubscriptionmessageservice.CreateOrderSubscriptionMessageRpcResponse;
10 -import com.infoloop.tianting.ordersubscriptionmessageservice.GetUserOrderSubscriptionMessageHistoryRpcRequest;
11 -import com.infoloop.tianting.ordersubscriptionmessageservice.GetUserOrderSubscriptionMessageHistoryRpcResponse;
12 -import com.infoloop.tianting.ordersubscriptionmessageservice.OrderSubscriptionMessageRpcResponse;
13 -import com.infoloop.tianting.ordersubscriptionmessageservice.OrderSubscriptionMessageServiceRpcGrpc;
14 -import com.tianting.infoloop.model.db.OrderSubscriptionMessageDb;
15 -import com.tianting.infoloop.service.OrderSubscriptionMessageDbService;
16 -import io.grpc.Status;
17 -import io.grpc.stub.StreamObserver;
18 -import lombok.RequiredArgsConstructor;
19 -import lombok.extern.slf4j.Slf4j;
20 -import org.springframework.beans.factory.annotation.Autowired;
21 -import org.springframework.stereotype.Service;
22 -
23 -import java.time.ZoneId;
24 -import java.util.stream.Collectors;
25 -
26 -import static com.tianting.infoloop.constants.ConfigConstants.DATA_SOURCE_MASTER;
27 -
28 -@Slf4j
29 -@Service
30 -@RequiredArgsConstructor(onConstructor_ = @Autowired)
31 -public class OrderSubscriptionMessageGrpcService extends OrderSubscriptionMessageServiceRpcGrpc.OrderSubscriptionMessageServiceRpcImplBase {
32 - private final OrderSubscriptionMessageDbService orderSubscriptionMessageDbService;
33 -
34 - @Override
35 - @DS(DATA_SOURCE_MASTER)
36 - public void createOrderSubscriptionMessage(final CreateOrderSubscriptionMessageRpcRequest request,
37 - final StreamObserver<CreateOrderSubscriptionMessageRpcResponse> responseObserver) {
38 - final var builder = CreateOrderSubscriptionMessageRpcResponse.newBuilder();
39 - try {
40 - final var data = orderSubscriptionMessageDbService.createOrderSubscriptionMessage(request);
41 - builder.setId(data.getId());
42 - } catch (final Exception e) {
43 - log.error("createOrderSubscriptionMessage error;", e);
44 - responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
45 - return;
46 - }
47 - responseObserver.onNext(builder.build());
48 - responseObserver.onCompleted();
49 - }
50 -
51 - @Override
52 - @DS(DATA_SOURCE_MASTER)
53 - public void getUserOrderSubscriptionMessageHistory(final GetUserOrderSubscriptionMessageHistoryRpcRequest request,
54 - final StreamObserver<GetUserOrderSubscriptionMessageHistoryRpcResponse> responseObserver) {
55 - final var builder = GetUserOrderSubscriptionMessageHistoryRpcResponse.newBuilder();
56 - try {
57 - final var list = orderSubscriptionMessageDbService.getUserOrderSubscriptionMessageHistory(request);
58 - builder.addAllResponse(list.stream()
59 - .map(this::convertToRpcResponse)
60 - .collect(Collectors.toList()));
61 - } catch (final Exception e) {
62 - log.error("getUserOrderSubscriptionMessageHistory error;", e);
63 - responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
64 - return;
65 - }
66 - responseObserver.onNext(builder.build());
67 - responseObserver.onCompleted();
68 - }
69 -
70 - private OrderSubscriptionMessageRpcResponse convertToRpcResponse(OrderSubscriptionMessageDb db) {
71 - OrderSubscriptionMessageRpcResponse.Builder builder = OrderSubscriptionMessageRpcResponse.newBuilder();
72 - builder.setId(db.getId());
73 -
74 - if (db.getJumpPath() != null) {
75 - builder.setJumpPath(db.getJumpPath());
76 - }
77 -
78 - // 转换LocalDateTime为时间戳(毫秒),与项目中其他时间字段保持一致
79 - if (db.getOrderPeriodStartDate() != null) {
80 - long timestamp = db.getOrderPeriodStartDate().atZone(ZoneId.systemDefault())
81 - .toInstant()
82 - .toEpochMilli();
83 - builder.setOrderPeriodStartDate(timestamp);
84 - }
85 -
86 - if (db.getOrderPeriodEndDate() != null) {
87 - long timestamp = db.getOrderPeriodEndDate().atZone(ZoneId.systemDefault())
88 - .toInstant()
89 - .toEpochMilli();
90 - builder.setOrderPeriodEndDate(timestamp);
91 - }
92 -
93 - // 转换LocalDateTime为时间戳(毫秒)
94 - if (db.getCreatedAt() != null) {
95 - long timestamp = db.getCreatedAt().atZone(ZoneId.systemDefault())
96 - .toInstant()
97 - .toEpochMilli();
98 - builder.setCreatedAt(timestamp);
99 - }
100 -
101 - builder.setIsDeleted(db.getIsDeleted() != null && db.getIsDeleted());
102 - return builder.build();
103 - }
104 -
105 - @Override
106 - @DS(DATA_SOURCE_MASTER)
107 - public void batchDeleteOrderSubscriptionMessagesByIds(final BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest request,
108 - final StreamObserver<BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse> responseObserver) {
109 - final var builder = BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse.newBuilder();
110 - try {
111 - final int affectedRows = orderSubscriptionMessageDbService.batchDeleteByIds(
112 - request.getIdsList(),
113 - request.getEnterpriseId());
114 - builder.setAffectedRows(affectedRows);
115 - } catch (final Exception e) {
116 - log.error("batchDeleteOrderSubscriptionMessagesByIds error;", e);
117 - responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
118 - return;
119 - }
120 - responseObserver.onNext(builder.build());
121 - responseObserver.onCompleted();
122 - }
123 -
124 - @Override
125 - @DS(DATA_SOURCE_MASTER)
126 - public void batchPhysicalDeleteOrderSubscriptionMessagesByIds(
127 - final BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest request,
128 - final StreamObserver<BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse> responseObserver) {
129 - final var builder = BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse.newBuilder();
130 - try {
131 - final int affectedRows = orderSubscriptionMessageDbService.batchPhysicalDeleteByIds(
132 - request.getIdsList(),
133 - request.getEnterpriseId());
134 - builder.setAffectedRows(affectedRows);
135 - } catch (final Exception e) {
136 - log.error("batchPhysicalDeleteOrderSubscriptionMessagesByIds error;", e);
137 - responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
138 - return;
139 - }
140 - responseObserver.onNext(builder.build());
141 - responseObserver.onCompleted();
142 - }
143 -}
144 -
...@@ -2,8 +2,8 @@ package com.tianting.infoloop.service.impl; ...@@ -2,8 +2,8 @@ package com.tianting.infoloop.service.impl;
2 2
3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 -import com.infoloop.tianting.ordersubscriptionmessageservice.CreateOrderSubscriptionMessageRpcRequest; 5 +import com.infoloop.tianting.mealorderservice.CreateOrderSubscriptionMessageRpcRequest;
6 -import com.infoloop.tianting.ordersubscriptionmessageservice.GetUserOrderSubscriptionMessageHistoryRpcRequest; 6 +import com.infoloop.tianting.mealorderservice.GetUserOrderSubscriptionMessageHistoryRpcRequest;
7 import com.tianting.infoloop.mapper.OrderSubscriptionMessageMapper; 7 import com.tianting.infoloop.mapper.OrderSubscriptionMessageMapper;
8 import com.tianting.infoloop.model.db.OrderSubscriptionMessageDb; 8 import com.tianting.infoloop.model.db.OrderSubscriptionMessageDb;
9 import com.tianting.infoloop.service.OrderSubscriptionMessageDbService; 9 import com.tianting.infoloop.service.OrderSubscriptionMessageDbService;
......
...@@ -63,6 +63,12 @@ service MealOrderServiceRpc { ...@@ -63,6 +63,12 @@ service MealOrderServiceRpc {
63 rpc batchCreateDinerMealSuspensionRecords(BatchCreateDinerMealSuspensionRecordsRpcRequest) returns (BatchCreateDinerMealSuspensionRecordsRpcResponse); 63 rpc batchCreateDinerMealSuspensionRecords(BatchCreateDinerMealSuspensionRecordsRpcRequest) returns (BatchCreateDinerMealSuspensionRecordsRpcResponse);
64 rpc updateDinerMealSuspensionRecord(UpdateDinerMealSuspensionRecordRpcRequest) returns (UpdateDinerMealSuspensionRecordRpcResponse); 64 rpc updateDinerMealSuspensionRecord(UpdateDinerMealSuspensionRecordRpcRequest) returns (UpdateDinerMealSuspensionRecordRpcResponse);
65 rpc deleteDinerMealSuspensionRecordsByIds(DeleteDinerMealSuspensionRecordsByIdsRpcRequest) returns (DeleteDinerMealSuspensionRecordsRpcResponse); 65 rpc deleteDinerMealSuspensionRecordsByIds(DeleteDinerMealSuspensionRecordsByIdsRpcRequest) returns (DeleteDinerMealSuspensionRecordsRpcResponse);
66 +
67 + // 订餐订阅消息相关服务
68 + rpc CreateOrderSubscriptionMessage (CreateOrderSubscriptionMessageRpcRequest) returns (CreateOrderSubscriptionMessageRpcResponse) {}
69 + rpc GetUserOrderSubscriptionMessageHistory (GetUserOrderSubscriptionMessageHistoryRpcRequest) returns (GetUserOrderSubscriptionMessageHistoryRpcResponse) {}
70 + rpc BatchDeleteOrderSubscriptionMessagesByIds (BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest) returns (BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse) {}
71 + rpc BatchPhysicalDeleteOrderSubscriptionMessagesByIds (BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest) returns (BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse) {}
66 } 72 }
67 73
68 enum MealOrderOrderMethodEnum { 74 enum MealOrderOrderMethodEnum {
...@@ -955,3 +961,55 @@ message BatchCreateDinerMealSuspensionRecordsRpcResponse { ...@@ -955,3 +961,55 @@ message BatchCreateDinerMealSuspensionRecordsRpcResponse {
955 bool isCreated = 1; 961 bool isCreated = 1;
956 repeated int32 ids = 2; 962 repeated int32 ids = 2;
957 } 963 }
964 +
965 +// 订餐订阅消息相关消息定义
966 +message CreateOrderSubscriptionMessageRpcRequest {
967 + int32 enterpriseId = 1;
968 + int32 dinerId = 2;
969 + string openId = 3;
970 + string templateId = 4;
971 + int64 orderPeriodStartDate = 5; // Unix 时间戳(毫秒),精确到秒
972 + string jumpPath = 6; // 跳转路径(小程序 path),可选
973 + int64 orderPeriodEndDate = 7; // Unix 时间戳(毫秒),精确到秒,可选
974 +}
975 +
976 +message CreateOrderSubscriptionMessageRpcResponse {
977 + int64 id = 1;
978 +}
979 +
980 +message GetUserOrderSubscriptionMessageHistoryRpcRequest {
981 + int32 enterpriseId = 1;
982 + string openId = 2;
983 + int64 orderPeriodStartDate = 3; // Unix 时间戳(毫秒),精确到秒,可选,如果传入则查询大于等于该值的记录
984 +}
985 +
986 +message OrderSubscriptionMessageRpcResponse {
987 + int64 id = 1;
988 + int64 orderPeriodStartDate = 2; // Unix 时间戳(毫秒),精确到秒
989 + int64 createdAt = 3; // Unix 时间戳(毫秒)
990 + bool isDeleted = 4;
991 + string jumpPath = 5; // 跳转路径(小程序 path),可选
992 + int64 orderPeriodEndDate = 6; // Unix 时间戳(毫秒),精确到秒,可选
993 +}
994 +
995 +message GetUserOrderSubscriptionMessageHistoryRpcResponse {
996 + repeated OrderSubscriptionMessageRpcResponse response = 1;
997 +}
998 +
999 +message BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest {
1000 + int32 enterpriseId = 1;
1001 + repeated int64 ids = 2; // 要删除的记录ID列表
1002 +}
1003 +
1004 +message BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse {
1005 + int32 affectedRows = 1; // 受影响的行数
1006 +}
1007 +
1008 +message BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest {
1009 + int32 enterpriseId = 1;
1010 + repeated int64 ids = 2; // 要删除的记录ID列表
1011 +}
1012 +
1013 +message BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse {
1014 + int32 affectedRows = 1; // 受影响的行数
1015 +}
......
1 -syntax = "proto3";
2 -
3 -option java_multiple_files = true;
4 -option java_package = "com.infoloop.tianting.ordersubscriptionmessageservice";
5 -option java_outer_classname = "OrderSubscriptionMessageServiceProto";
6 -option objc_class_prefix = "OP";
7 -
8 -package com.infoloop.tianting.ordersubscriptionmessageservice;
9 -
10 -service OrderSubscriptionMessageServiceRpc {
11 - // 创建订阅消息授权
12 - rpc CreateOrderSubscriptionMessage (CreateOrderSubscriptionMessageRpcRequest) returns (CreateOrderSubscriptionMessageRpcResponse) {}
13 -
14 - // 查询用户授权历史
15 - rpc GetUserOrderSubscriptionMessageHistory (GetUserOrderSubscriptionMessageHistoryRpcRequest) returns (GetUserOrderSubscriptionMessageHistoryRpcResponse) {}
16 -
17 - // 批量逻辑删除授权记录(表示已使用)
18 - rpc BatchDeleteOrderSubscriptionMessagesByIds (BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest) returns (BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse) {}
19 -
20 - // 批量物理删除授权记录
21 - rpc BatchPhysicalDeleteOrderSubscriptionMessagesByIds (BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest) returns (BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse) {}
22 -}
23 -
24 -// 创建订阅消息授权请求
25 -message CreateOrderSubscriptionMessageRpcRequest {
26 - int32 enterpriseId = 1;
27 - int32 dinerId = 2;
28 - string openId = 3;
29 - string templateId = 4;
30 - int64 orderPeriodStartDate = 5; // Unix 时间戳(毫秒),精确到秒
31 - string jumpPath = 6; // 跳转路径(小程序 path),可选
32 - int64 orderPeriodEndDate = 7; // Unix 时间戳(毫秒),精确到秒,可选
33 -}
34 -
35 -// 创建订阅消息授权响应
36 -message CreateOrderSubscriptionMessageRpcResponse {
37 - int64 id = 1;
38 -}
39 -
40 -// 查询用户授权历史请求
41 -message GetUserOrderSubscriptionMessageHistoryRpcRequest {
42 - int32 enterpriseId = 1;
43 - string openId = 2;
44 - int64 orderPeriodStartDate = 3; // Unix 时间戳(毫秒),精确到秒,可选,如果传入则查询大于等于该值的记录
45 -}
46 -
47 -// 订阅消息授权记录
48 -message OrderSubscriptionMessageRpcResponse {
49 - int64 id = 1;
50 - int64 orderPeriodStartDate = 2; // Unix 时间戳(毫秒),精确到秒
51 - int64 createdAt = 3; // Unix 时间戳(毫秒)
52 - bool isDeleted = 4;
53 - string jumpPath = 5; // 跳转路径(小程序 path),可选
54 - int64 orderPeriodEndDate = 6; // Unix 时间戳(毫秒),精确到秒,可选
55 -}
56 -
57 -// 查询用户授权历史响应
58 -message GetUserOrderSubscriptionMessageHistoryRpcResponse {
59 - repeated OrderSubscriptionMessageRpcResponse response = 1;
60 -}
61 -
62 -// 批量逻辑删除授权记录请求
63 -message BatchDeleteOrderSubscriptionMessagesByIdsRpcRequest {
64 - int32 enterpriseId = 1;
65 - repeated int64 ids = 2; // 要删除的记录ID列表
66 -}
67 -
68 -// 批量逻辑删除授权记录响应
69 -message BatchDeleteOrderSubscriptionMessagesByIdsRpcResponse {
70 - int32 affectedRows = 1; // 受影响的行数
71 -}
72 -
73 -// 批量物理删除授权记录请求
74 -message BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcRequest {
75 - int32 enterpriseId = 1;
76 - repeated int64 ids = 2; // 要删除的记录ID列表
77 -}
78 -
79 -// 批量物理删除授权记录响应
80 -message BatchPhysicalDeleteOrderSubscriptionMessagesByIdsRpcResponse {
81 - int32 affectedRows = 1; // 受影响的行数
82 -}
83 -