MarketingSystemDataExportTool/grpc/finance/financev1/supplier.proto

266 lines
6.9 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 Supplier {
// 获取供应商信息
rpc GetSupplier (GetSupplierRequest) returns (GetSupplierReply);
// 获取供应商列表
rpc ListSupplier (ListSupplierRequest) returns (ListSupplierReply);
// 创建供应商银行账户
rpc CreateSupplierBank (CreateSupplierBankRequest) returns (CreateSupplierBankReply);
// 更新供应商银行账户
rpc UpdateSupplierBank (UpdateSupplierBankRequest) returns (UpdateSupplierBankReply);
// 删除供应商银行账户
rpc DeleteSupplierBank (DeleteSupplierBankRequest) returns (DeleteSupplierBankReply);
// 获取供应商银行账户
rpc GetSupplierBank (GetSupplierBankRequest) returns (GetSupplierBankReply);
// 获取供应商银行账户列表
rpc ListSupplierBank (ListSupplierBankRequest) returns (ListSupplierBankReply);
// 开放的系统列表
rpc ListSupplierSystem (ListSupplierSystemRequest) returns (ListSupplierSystemReply);
// 限制额度
rpc LimitAmount (LimitAmountRequest) returns (LimitAmountReply);
// 获取供应商下拉选择
rpc ListSupplierSelect (ListSupplierSelectRequest) returns (ListSupplierSelectReply);
// 获取供应商下拉选择(树形)
rpc ListSupplierTree (ListSupplierTreeRequest) returns (ListSupplierTreeReply);
}
message GetSupplierRequest {
uint32 id = 1;
// 系统标识码
int32 tag = 2;
}
message GetSupplierReply {
SupplierItem detail = 1;
}
message ListSupplierRequest {
PageReq page = 1 [(buf.validate.field).required = true];
// 关键词
string keyword = 2 [(buf.validate.field).cel = {
message: "关键词最多支持30个字符"
expression: "this.size() <= 30"
}];
// 系统标识码
int32 tag = 3 [(buf.validate.field).required = true, (buf.validate.field).cel = {
id: "list_supplier_request.tag.required",
message: "必须选择所属系统",
expression: "this != 0"
}];
}
message ListSupplierReply {
repeated SupplierItem list = 1;
PageReply page = 2;
}
message CreateSupplierBankRequest {
// 银行名称
string bankName = 3 [(buf.validate.field).cel = {
message: "银行名称必须填写"
expression: "this.size() > 0"
}];
// 银行账号
string bankAccount = 4 [(buf.validate.field).cel = {
message: "银行账号必须填写"
expression: "this.size() > 0"
}];
// 银行开户名
string accountName = 5 [(buf.validate.field).cel = {
message: "银行开户名必须填写"
expression: "this.size() > 0"
}];
// 备注
string remark = 6 [(buf.validate.field).cel = {
message: "备注最多支持100个字符"
expression: "this.size() <= 100"
}];
// 开户行
string bankAddress = 8 [(buf.validate.field).cel = {
message: "开户行必须填写"
expression: "this.size() > 0"
}];
// 上游ID
uint32 supplierId = 9 [(buf.validate.field).cel = {
message: "上游ID必须填写"
expression: "this > 0"
}];
// 系统标识码
int32 tag = 10 [(buf.validate.field).cel = {
message: "系统标识码必须填写"
expression: "this > 0"
}];
BankItem bank = 11 [(buf.validate.field).required = true];
}
message CreateSupplierBankReply {}
message UpdateSupplierBankRequest {
// 银行名称
string bankName = 3 [(buf.validate.field).cel = {
message: "银行名称必须填写"
expression: "this.size() > 0"
}];
// 银行账号
string bankAccount = 4 [(buf.validate.field).cel = {
message: "银行账号必须填写"
expression: "this.size() > 0"
}];
// 银行开户名
string accountName = 5 [(buf.validate.field).cel = {
message: "银行开户名必须填写"
expression: "this.size() > 0"
}];
// 备注
string remark = 6 [(buf.validate.field).cel = {
message: "备注最多支持100个字符"
expression: "this.size() <= 100"
}];
// 开户行
string bankAddress = 7 [(buf.validate.field).cel = {
message: "开户行必须填写"
expression: "this.size() > 0"
}];
// 上游ID
uint32 supplierId = 8 [(buf.validate.field).cel = {
message: "上游ID必须填写"
expression: "this > 0"
}];
// 系统标识码
int32 tag = 9 [(buf.validate.field).cel = {
message: "系统标识码必须填写"
expression: "this > 0"
}];
uint32 id = 10 [(buf.validate.field).cel = {
message: "账户必须选择"
expression: "this > 0"
}];
BankItem bank = 11 [(buf.validate.field).required = true];
}
message UpdateSupplierBankReply {}
message DeleteSupplierBankRequest {
uint32 id = 1 [(buf.validate.field).cel = {
message: "账户必须选择"
expression: "this > 0"
}];
// 上游ID
uint32 supplierId = 2 [(buf.validate.field).cel = {
message: "上游ID必须填写"
expression: "this > 0"
}];
// 系统标识码
int32 tag = 3 [(buf.validate.field).cel = {
message: "系统标识码必须填写"
expression: "this > 0"
}];
}
message DeleteSupplierBankReply {}
message GetSupplierBankRequest {
uint32 id = 1 [(buf.validate.field).cel = {
message: "账户必须选择"
expression: "this > 0"
}];
// 上游ID
uint32 supplierId = 2 [(buf.validate.field).cel = {
message: "上游ID必须填写"
expression: "this > 0"
}];
// 系统标识码
int32 tag = 3 [(buf.validate.field).cel = {
message: "系统标识码必须填写"
expression: "this > 0"
}];
}
message GetSupplierBankReply {
SupplierBankItem detail = 1;
}
message ListSupplierBankRequest {
PageReq page = 1 [(buf.validate.field).required = true];
// 上游ID
uint32 supplierId = 2 [(buf.validate.field).cel = {
message: "上游ID必须填写"
expression: "this > 0"
}];
// 系统标识码
int32 tag = 3 [(buf.validate.field).cel = {
message: "系统标识码必须填写"
expression: "this > 0"
}];
}
message ListSupplierBankReply {
repeated SupplierBankItem list = 1;
PageReply page = 2;
}
message ListSupplierSystemRequest {}
message ListSupplierSystemReply {
repeated SelectOption list = 1;
}
message LimitAmountRequest {
uint32 supplierId = 1 [(buf.validate.field).cel = {
message: "上游ID必须填写"
expression: "this > 0"
}];
// 系统标识码
int32 tag = 2 [(buf.validate.field).cel = {
message: "系统标识码必须填写"
expression: "this > 0"
}];
// 金额
double amount = 3 [(buf.validate.field).cel = {
message: "金额必须大于0"
expression: "this > 0"
}];
}
message LimitAmountReply {}
message ListSupplierSelectRequest {
// 关键词
string keyword = 1 [(buf.validate.field).cel = {
message: "关键词最多支持30个字符"
expression: "this.size() <= 30"
}];
PageReq page = 2 [(buf.validate.field).required = true];
// 状态
int32 status = 3;
}
message ListSupplierSelectReply {
repeated SupplierSelectItem list = 1;
uint32 total = 2;
}
message ListSupplierTreeReply {
repeated SupplierTreeItem list = 1;
}
message ListSupplierTreeRequest {
// 关键词
string keyword = 1 [(buf.validate.field).cel = {
message: "关键词最多支持30个字符"
expression: "this.size() <= 30"
}];
// 状态
int32 status = 2;
}