zhuyifan

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

......@@ -45,6 +45,8 @@ import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersB
import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersByIdsRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdRequest;
import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdResponse;
import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdsRequest;
import com.infoloop.tianting.clientcustomerorderservice.GetOrderOperationRecordsByOrderIdsResponse;
import com.infoloop.tianting.clientcustomerorderservice.OrderCountByStatus;
import com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecord;
import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum;
......@@ -668,6 +670,31 @@ public class OrderGrpcService extends ClientCustomerOrderServiceRpcGrpc.ClientCu
@Override
@DS(DATA_SOURCE_MASTER)
public void getOrderOperationRecordsByOrderIds(
final GetOrderOperationRecordsByOrderIdsRequest request,
final StreamObserver<GetOrderOperationRecordsByOrderIdsResponse> responseStreamObserver
) {
final var builder = GetOrderOperationRecordsByOrderIdsResponse.newBuilder();
try {
LambdaQueryWrapper<OrderOperationRecordDb> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OrderOperationRecordDb::getEnterpriseId, request.getEnterpriseId());
queryWrapper.in(OrderOperationRecordDb::getOrderId, request.getOrderIdsList());
queryWrapper.orderByDesc(OrderOperationRecordDb::getCreatedAt);
final var list = orderOperationRecordDbService.list(queryWrapper);
if (!list.isEmpty()) {
builder.addAllResponses(ProtoBeanUtil.beanListToProtoList(list,
OrderOperationRecord.class));
}
} catch (final Exception e) {
log.error("getClientCustomerOrdersByCustomerId error;", e);
responseStreamObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
}
responseStreamObserver.onNext(builder.build());
responseStreamObserver.onCompleted();
}
@Override
@DS(DATA_SOURCE_MASTER)
public void batchCreateOrderOperationRecords(
final BatchCreateOrderOperationRecordsRequest request,
final StreamObserver<BatchCreateOrderOperationRecordsResponse> responseStreamObserver) {
......
......@@ -32,6 +32,7 @@ service ClientCustomerOrderServiceRpc {
// 操作记录
rpc GetOrderOperationRecordsByOrderId (GetOrderOperationRecordsByOrderIdRequest) returns (GetOrderOperationRecordsByOrderIdResponse) {}
rpc GetOrderOperationRecordsByOrderIds (GetOrderOperationRecordsByOrderIdsRequest) returns (GetOrderOperationRecordsByOrderIdsResponse) {}
rpc BatchCreateOrderOperationRecords (BatchCreateOrderOperationRecordsRequest) returns (BatchCreateOrderOperationRecordsResponse) {}
......@@ -624,6 +625,15 @@ message GetOrderOperationRecordsByOrderIdResponse {
repeated OrderOperationRecord responses = 1;
}
message GetOrderOperationRecordsByOrderIdsRequest {
int32 enterpriseId = 1;
repeated int32 orderIds = 2;
}
message GetOrderOperationRecordsByOrderIdsResponse {
repeated OrderOperationRecord responses = 1;
}
message OrderOperationRecordCreation {
int32 orderId = 1;
OrderOperationType type = 2;
......