75 lines
2.0 KiB
Protocol Buffer
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;
|
|
} |