MarketingSystemDataExportTool/grpc/finance/financev1/payment_order.proto

169 lines
4.3 KiB
Protocol Buffer

syntax = "proto3";
package finance.api.inner;
import "buf/validate/validate.proto";
import "finance/financev1/model.proto";
import "finance/financev1/global.proto";
option go_package = "./finance/financev1;financev1";
// 付款单模块
service PaymentOrder {
// 创建付款单
rpc CreatePaymentOrder (CreatePaymentOrderRequest) returns (CreatePaymentOrderReply);
// 更新付款单
rpc UpdatePaymentOrder (UpdatePaymentOrderRequest) returns (UpdatePaymentOrderReply);
// 获取付款单
rpc GetPaymentOrder (GetPaymentOrderRequest) returns (GetPaymentOrderReply);
// 获取付款单列表
rpc ListPaymentOrder (ListPaymentOrderRequest) returns (ListPaymentOrderReply);
// 更新回单状态
rpc UpdateReceiptOrderStatus (UpdateReceiptOrderStatusRequest) returns (UpdateReceiptOrderStatusReply);
// 下载回单数据
rpc DownloadReceiptOrder (DownloadReceiptOrderRequest) returns (DownloadReceiptOrderReply);
}
// 创建付款单
message CreatePaymentOrderRequest {
// 供应商ID
uint32 supplierId = 1 [(buf.validate.field).cel = {
message: "必须选择供应商"
expression: "this > 0"
}];
// 金额
double amount = 2 [(buf.validate.field).cel = {
message: "金额必须填写"
expression: "this > 0"
}];
// 备注
string remark = 3 [(buf.validate.field).cel = {
message: "备注最大支持录入200字"
expression: "this.size() <= 200"
}];
// 标签
uint32 tag = 4 [(buf.validate.field).cel = {
message: "标签必须填写"
expression: "this > 0"
}];
// 明细
repeated PaymentOrderDetailInfoItem items = 5 [(buf.validate.field).cel = {
message: "明细必须填写"
expression: "this.size() > 0"
}, (buf.validate.field).cel = {
message: "明细最多支持录入5条"
expression: "this.size() <= 5"
}];
// 企业主体
uint32 subjectId = 6 [(buf.validate.field).cel = {
message: "企业主体必须填写"
expression: "this > 0"
}];
// 记账账户
string creditedAccount = 7 [(buf.validate.field).cel = {
message: "付款账户必须填写"
expression: "this.size() > 0"
}];
// 主体账户
string subjectAccount = 8 [(buf.validate.field).cel = {
message: "主体账户必须填写"
expression: "this.size() > 0"
}];
BankItem creditedBank = 9 [(buf.validate.field).required = true];
// 创建者
uint32 creatorId = 10;
// 创建者名称
string creatorName = 11;
// 用途
string purpose = 12 [(buf.validate.field).cel = {
message: "用途必须填写"
expression: "this.size() > 0"
}, (buf.validate.field).cel = {
message: "用途长度不能超过100"
expression: "this.size() <= 100"
}];
// 摘要
string summary = 13 [(buf.validate.field).cel = {
message: "摘要长度不能超过100"
expression: "this.size() <= 100"
}];
}
// 创建付款单回复
message CreatePaymentOrderReply {}
// 更新付款单
message UpdatePaymentOrderRequest {
// 编号
uint32 id = 1 [(buf.validate.field).cel = {
message: "编号必须填写"
expression: "this > 0"
}];
}
// 更新付款单回复
message UpdatePaymentOrderReply {}
// 获取付款单
message GetPaymentOrderRequest {
// 编号
uint32 id = 1 [(buf.validate.field).cel = {
message: "编号必须填写"
expression: "this > 0"
}];
// 创建者
uint32 creatorId = 2;
}
// 获取付款单回复
message GetPaymentOrderReply {
// 详情
PaymentOrderItem detail = 1;
}
// 获取付款单列表
message ListPaymentOrderRequest {
// 分页
PageReq page = 1;
// 单据创建时间
TimeRangeReq createdAt = 2;
// 企业账户
string subjectAccount = 3;
// 企业主体
uint32 subjectId = 4;
// 供应商
uint32 supplierId = 5;
// 标签
uint32 tag = 6;
// 创建者
uint32 creatorId = 7;
}
// 获取付款单列表回复
message ListPaymentOrderReply {
// 列表
repeated PaymentOrderItem list = 1;
// 分页
PageReply page = 2;
}
message UpdateReceiptOrderStatusRequest {
// 编号
uint32 id = 1 [(buf.validate.field).cel = {
message: "编号必须填写"
expression: "this > 0"
}];
}
message UpdateReceiptOrderStatusReply {}
message DownloadReceiptOrderRequest {
// 编号
uint32 id = 1 [(buf.validate.field).cel = {
message: "编号必须填写"
expression: "this > 0"
}];
}
message DownloadReceiptOrderReply {
// 文件链接
string file = 1;
}