MarketingSystemDataExportTool/grpc/finance/financev1/reconciliation.proto

75 lines
2.0 KiB
Protocol Buffer

syntax = "proto3";
package finance.api.inner;
import "buf/validate/validate.proto";
import "finance/financev1/model.proto";
import "finance/financev1/global.proto";
import "finance/financev1/enum.proto";
option go_package = "./finance/financev1;financev1";
// 对账单模块
service Reconciliation {
// 创建账单
rpc CreateReconciliation (CreateReconciliationRequest) returns (CreateReconciliationReply);
// 对账单详情
rpc GetReconciliation (GetReconciliationRequest) returns (GetReconciliationReply);
// 账单列表
rpc ListReconciliation (ListReconciliationRequest) returns (ListReconciliationReply);
}
message CreateReconciliationRequest {
// 下游商户ID
uint32 resellerId = 1 [(buf.validate.field).cel = {
message: "必须选择下游商户"
expression: "this > 0"
}];
// 期初
int64 startTime = 2 [(buf.validate.field).cel = {
message: "必须选择开始时间"
expression: "this > 0"
}];
// 期末
int64 endTime = 3 [(buf.validate.field).cel = {
message: "必须选择结束时间"
expression: "this > 0"
}];
// 订单类型
repeated OrderType orderTypes = 4 [(buf.validate.field).cel = {
message: "必须选择订单类型"
expression: "this.size() > 0"
}, (buf.validate.field).cel = {
message: "不允许重复"
expression: "this.unique()"
}];
// 前台申请
bool front = 5;
}
message CreateReconciliationReply {}
message GetReconciliationRequest {
uint32 id = 1;
uint32 resellerId = 2;
}
message GetReconciliationReply {
ReconciliationItem detail = 1;
}
message ListReconciliationRequest {
PageReq page = 1 [(buf.validate.field).required = true];
uint32 resellerId = 2;
repeated OrderType orderTypes = 3;
ReconciliationStatus status = 4;
int64 startTime = 5;
int64 endTime = 6;
option (buf.validate.message).cel = {
message: "开始时间必须小于或等于结束时间"
expression: "this.startTime <= this.endTime"
};
}
message ListReconciliationReply {
repeated ReconciliationItem list = 1;
PageReply page = 2;
}