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; }