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