zhuyifan

feat(proto): add batch query for order operation records

...@@ -119,6 +119,10 @@ public class OrderDb extends Model<OrderDb> implements Serializable { ...@@ -119,6 +119,10 @@ public class OrderDb extends Model<OrderDb> implements Serializable {
119 */ 119 */
120 private String transactionId; 120 private String transactionId;
121 /** 121 /**
122 + * 支付平台响应id
123 + */
124 + private String tradeReferenceNo;
125 + /**
122 * 用餐日期 126 * 用餐日期
123 */ 127 */
124 private LocalDateTime mealTime; 128 private LocalDateTime mealTime;
......
...@@ -45,6 +45,8 @@ import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersB ...@@ -45,6 +45,8 @@ import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersB
45 import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersByIdsRpcResponse; 45 import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersByIdsRpcResponse;
46 import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdRequest; 46 import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdRequest;
47 import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdResponse; 47 import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdResponse;
48 +import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdsRequest;
49 +import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdsResponse;
48 import com.infoloop.tianting.clientcustomerorderservice.OrderCountByStatus; 50 import com.infoloop.tianting.clientcustomerorderservice.OrderCountByStatus;
49 import com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecord; 51 import com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecord;
50 import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum; 52 import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum;
...@@ -668,6 +670,31 @@ public class OrderGrpcService extends ClientCustomerOrderServiceRpcGrpc.ClientCu ...@@ -668,6 +670,31 @@ public class OrderGrpcService extends ClientCustomerOrderServiceRpcGrpc.ClientCu
668 670
669 @Override 671 @Override
670 @DS(DATA_SOURCE_MASTER) 672 @DS(DATA_SOURCE_MASTER)
673 + public void getOrderOperationRecordsByOrderIds(
674 + final GetOrderOperationRecordsByOrderIdsRequest request,
675 + final StreamObserver<GetOrderOperationRecordsByOrderIdsResponse> responseStreamObserver
676 + ) {
677 + final var builder = GetOrderOperationRecordsByOrderIdsResponse.newBuilder();
678 + try {
679 + LambdaQueryWrapper<OrderOperationRecordDb> queryWrapper = new LambdaQueryWrapper<>();
680 + queryWrapper.eq(OrderOperationRecordDb::getEnterpriseId, request.getEnterpriseId());
681 + queryWrapper.in(OrderOperationRecordDb::getOrderId, request.getOrderIdsList());
682 + queryWrapper.orderByDesc(OrderOperationRecordDb::getCreatedAt);
683 + final var list = orderOperationRecordDbService.list(queryWrapper);
684 + if (!list.isEmpty()) {
685 + builder.addAllResponses(ProtoBeanUtil.beanListToProtoList(list,
686 + OrderOperationRecord.class));
687 + }
688 + } catch (final Exception e) {
689 + log.error("getClientCustomerOrdersByCustomerId error;", e);
690 + responseStreamObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
691 + }
692 + responseStreamObserver.onNext(builder.build());
693 + responseStreamObserver.onCompleted();
694 + }
695 +
696 + @Override
697 + @DS(DATA_SOURCE_MASTER)
671 public void batchCreateOrderOperationRecords( 698 public void batchCreateOrderOperationRecords(
672 final BatchCreateOrderOperationRecordsRequest request, 699 final BatchCreateOrderOperationRecordsRequest request,
673 final StreamObserver<BatchCreateOrderOperationRecordsResponse> responseStreamObserver) { 700 final StreamObserver<BatchCreateOrderOperationRecordsResponse> responseStreamObserver) {
......
...@@ -375,6 +375,9 @@ public class OrderDbServiceImpl extends ServiceImpl<OrderDbMapper, OrderDb> impl ...@@ -375,6 +375,9 @@ public class OrderDbServiceImpl extends ServiceImpl<OrderDbMapper, OrderDb> impl
375 if (updateOrderRequest.getModification().getShouldUpdateTransactionId()) { 375 if (updateOrderRequest.getModification().getShouldUpdateTransactionId()) {
376 orderDb.setTransactionId(updateOrderRequest.getModification().getTransactionId()); 376 orderDb.setTransactionId(updateOrderRequest.getModification().getTransactionId());
377 } 377 }
378 + if (updateOrderRequest.getModification().getShouldUpdateTradeReferenceNo()) {
379 + orderDb.setTradeReferenceNo(updateOrderRequest.getModification().getTradeReferenceNo());
380 + }
378 if (updateOrderRequest.getModification().getShouldUpdateMealTime()) { 381 if (updateOrderRequest.getModification().getShouldUpdateMealTime()) {
379 orderDb.setMealTime(LocalDateTimeUtil.of(updateOrderRequest.getModification().getMealTime())); 382 orderDb.setMealTime(LocalDateTimeUtil.of(updateOrderRequest.getModification().getMealTime()));
380 } 383 }
......
...@@ -70,6 +70,10 @@ public class DbToProtoUtil { ...@@ -70,6 +70,10 @@ public class DbToProtoUtil {
70 protoBuilder.setTransactionId(orderDb.getTransactionId()); 70 protoBuilder.setTransactionId(orderDb.getTransactionId());
71 } 71 }
72 72
73 + if (orderDb.getTradeReferenceNo() != null) {
74 + protoBuilder.setTradeReferenceNo(orderDb.getTradeReferenceNo());
75 + }
76 +
73 if (orderDb.getMealTime()!= null) { 77 if (orderDb.getMealTime()!= null) {
74 protoBuilder.setMealTime(orderDb.getMealTime().toEpochSecond(ZoneOffset.UTC) * 1000); 78 protoBuilder.setMealTime(orderDb.getMealTime().toEpochSecond(ZoneOffset.UTC) * 1000);
75 } 79 }
......
...@@ -32,6 +32,7 @@ service ClientCustomerOrderServiceRpc { ...@@ -32,6 +32,7 @@ service ClientCustomerOrderServiceRpc {
32 32
33 // 操作记录 33 // 操作记录
34 rpc GetOrderOperationRecordsByOrderId (GetOrderOperationRecordsByOrderIdRequest) returns (GetOrderOperationRecordsByOrderIdResponse) {} 34 rpc GetOrderOperationRecordsByOrderId (GetOrderOperationRecordsByOrderIdRequest) returns (GetOrderOperationRecordsByOrderIdResponse) {}
35 + rpc GetOrderOperationRecordsByOrderIds (GetOrderOperationRecordsByOrderIdsRequest) returns (GetOrderOperationRecordsByOrderIdsResponse) {}
35 rpc BatchCreateOrderOperationRecords (BatchCreateOrderOperationRecordsRequest) returns (BatchCreateOrderOperationRecordsResponse) {} 36 rpc BatchCreateOrderOperationRecords (BatchCreateOrderOperationRecordsRequest) returns (BatchCreateOrderOperationRecordsResponse) {}
36 37
37 38
...@@ -147,6 +148,7 @@ message SingleClientCustomerOrderRpcResponse { ...@@ -147,6 +148,7 @@ message SingleClientCustomerOrderRpcResponse {
147 string syncRoomNo = 36; 148 string syncRoomNo = 36;
148 bool isCanceled = 37; 149 bool isCanceled = 37;
149 string avoidRemark = 38; 150 string avoidRemark = 38;
151 + string tradeReferenceNo = 39;
150 } 152 }
151 153
152 message GetClientCustomerOrderByIdRpcRequest { 154 message GetClientCustomerOrderByIdRpcRequest {
...@@ -393,6 +395,8 @@ message ClientCustomerOrderModification { ...@@ -393,6 +395,8 @@ message ClientCustomerOrderModification {
393 bool isCanceled = 57; 395 bool isCanceled = 57;
394 bool shouldUpdateAvoidRemark = 58; 396 bool shouldUpdateAvoidRemark = 58;
395 string avoidRemark = 59; 397 string avoidRemark = 59;
398 + bool shouldUpdateTradeReferenceNo = 60;
399 + string tradeReferenceNo = 61;
396 } 400 }
397 401
398 message UpdateClientCustomerOrderRpcRequest { 402 message UpdateClientCustomerOrderRpcRequest {
...@@ -624,6 +628,15 @@ message GetOrderOperationRecordsByOrderIdResponse { ...@@ -624,6 +628,15 @@ message GetOrderOperationRecordsByOrderIdResponse {
624 repeated OrderOperationRecord responses = 1; 628 repeated OrderOperationRecord responses = 1;
625 } 629 }
626 630
631 +message GetOrderOperationRecordsByOrderIdsRequest {
632 + int32 enterpriseId = 1;
633 + repeated int32 orderIds = 2;
634 +}
635 +
636 +message GetOrderOperationRecordsByOrderIdsResponse {
637 + repeated OrderOperationRecord responses = 1;
638 +}
639 +
627 message OrderOperationRecordCreation { 640 message OrderOperationRecordCreation {
628 int32 orderId = 1; 641 int32 orderId = 1;
629 OrderOperationType type = 2; 642 OrderOperationType type = 2;
......