MarketingSystemDataExportTool/grpc/finance/financev1/bank_trans_claim.proto

228 lines
6.7 KiB
Protocol Buffer
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 BankTransClaim {
rpc CreateBankTransClaim (CreateBankTransClaimRequest) returns (CreateBankTransClaimReply);
rpc CreateBulkBankTransClaimExternal (CreateBulkBankTransClaimRequest) returns (CreateBulkBankTransClaimReply);
// 认领单冲销
rpc ReverseBankTransClaim (ReverseBankTransClaimRequest) returns (ReverseBankTransClaimReply);
// 认领单列表
rpc ListBankTransClaim (ListBankTransClaimRequest) returns (ListBankTransClaimReply) {};
// 认领单详情
rpc GetBankTransClaim (GetBankTransClaimRequest) returns (GetBankTransClaimReply);
}
message ListBankTransClaimRequest {
PageReq page = 1 [(buf.validate.field).required = true];
// 认领单号
string claimNo = 2;
// 银行流水号
string bnkSrlnum = 3;
// 对方类型1-上游渠道2-分销商)
optional int32 counterpartyType = 4;
// 认领类型编码
string claimTypeCode = 5;
// 对方名称
string counterpartyName = 6;
// 认领主体code
int32 claimSubjectCode = 7;
// 认领方式0-自动认领1-手动认领)
optional int32 claimMethod = 8;
// 认领人
string createdBy = 9;
// 审批状态10-无需审批11-审批中12-审批通过13-审批拒绝20-冲销无需审批21-冲销审批中22-冲销审批通过23-冲销审批拒绝)
optional int32 approvalStatus = 10;
// 是否紧急认领0-否1-是)
optional int32 isUrgent = 11;
// 是否汇总
bool includeSummary = 12;
// 认领时间
optional TimeRange createdAt = 13;
// 对方ID如分销商ID/上游渠道ID
int32 counterpartyId = 14;
// 子账户ID
int32 accountId = 15;
// 认领单状态0-正常1-已冲销)
optional int32 claimStatus = 16;
}
message ListBankTransClaimReply {
repeated BankTransClaimItem list = 1;
PageReply page = 2;
optional BankTransClaimSummary summary = 3;
}
message CreateBulkBankTransClaimRequest {
repeated CreateBulkBankTransClaim claims = 1 [(buf.validate.field).cel = {
message: "批量认领至少包含1条流水"
expression: "this.size() > 0"
}, (buf.validate.field).cel = {
message: "批量认领不能超过20条流水"
expression: "this.size() <= 20"
}];
}
message CreateBulkBankTransClaim {
// 流水ID
int32 bankTransLogId = 1 [(buf.validate.field).required = true];
// 银行流水号
string bnkSrlnum = 2 [(buf.validate.field).required = true];
// 认领类型编码如RL_001
string claimTypeCode = 3 [(buf.validate.field).cel = {
expression: "this.size() > 0"
message: "必须选择认领类型"
}];
// 对方类型1-上游渠道2-分销商)
int32 counterpartyType = 4 [(buf.validate.field).cel = {
message: "必须选择对方类型"
expression: "this > 0"
}];
// 对方ID如分销商ID/上游渠道ID
int32 counterpartyId = 5 [(buf.validate.field).cel = {
message: "必须选择对方名称"
expression: "this > 0"
}];
// 来源系统(仅上游渠道支持)
int32 fromSystem = 6;
// 子账户ID
int32 accountId = 7 [(buf.validate.field).cel = {
message: "必须选择子账户"
expression: "this > 0"
}];
option (buf.validate.message).cel = {
message: "必须选择上游渠道来源系统"
expression: "!(this.counterpartyType == 1) || this.fromSystem > 0"
};
}
message CreateBulkBankTransClaimReply {
repeated string successBnkSrlnums = 1;
repeated string failedBnkSrlnums = 2;
}
message CreateBankTransClaimRequest {
// 流水ID
int32 bankTransLogId = 1 [(buf.validate.field).required = true];
// 认领类型编码如RL_001
string claimTypeCode = 2 [(buf.validate.field).cel = {
expression: "this.size() > 0"
message: "必须选择认领类型"
}];
// 对方类型1-上游渠道2-分销商)
int32 counterpartyType = 3 [(buf.validate.field).cel = {
message: "必须选择对方类型"
expression: "this > 0"
}];
// 对方ID如分销商ID/上游渠道ID
int32 counterpartyId = 4 [(buf.validate.field).cel = {
message: "必须选择对方名称"
expression: "this > 0"
}];
// 来源系统(仅上游渠道支持)
int32 fromSystem = 5;
// 子账户ID
int32 accountId = 6 [(buf.validate.field).cel = {
message: "必须选择子账户"
expression: "this > 0"
}];
option (buf.validate.message).cel = {
message: "必须选择上游渠道来源系统"
expression: "!(this.counterpartyType == 1) || this.fromSystem > 0"
};
}
message CreateBankTransClaimReply {
// 主键ID
int32 id = 1;
}
message ReverseBankTransClaimRequest {
// 主键ID
int32 id = 1 [(buf.validate.field).required = true];
// 冲销原因
string writeoffReason = 2 [(buf.validate.field).cel = {
expression: "this.size() > 0 && this.size() <= 200"
message: "冲销原因不能为空最多支持200个字符"
}];
}
message ReverseBankTransClaimReply {
int32 id = 1;
}
message GetBankTransClaimRequest {
int32 id = 1;
}
message GetBankTransClaimReply {
// 认领单详情
BankTransClaimItem detail = 1;
// 流水详情
BankTransLogDetail transLog = 2;
// 冲销详情
BankTransClaimWriteoff writeoff = 3;
}
message BankTransLogDetail {
// ID
int32 id = 1;
// 交易时间
string tranDatetime = 2;
// 银行流水号
string bnkSrlnum = 3;
// 流水来源0-银企直联1-手动导入)
int32 tranSource = 4;
// 交易方向2-支出3-收入)'
int32 tranType = 5;
// 交易金额
double tranAmount = 6;
// 对方账户名称
string oppAccountName = 7;
// 对方账号
string oppAccountNo = 8;
// 对方开户行名
string oppOpenBankName = 9;
// 本方户名(公司账户名称)
string accountName = 10;
// 本方账号(公司银行账号)
string accountNo = 11;
// 本方开户行
string openBankName = 12;
// 本方所属银行
string bankName = 13;
// 附言
string lvmsg = 14;
// 认领状态0-未认领1-处理中2-已认领)
int32 claimProgressStatus = 15;
// 创建人
string createdBy = 16;
// 创建时间
string createdAt = 17;
}
message BankTransClaimWriteoff {
// 主键ID
int32 id = 1;
// 认领单ID
int32 claimId = 2;
// 冲销单号
string writeoffNo = 3;
// 冲销原因
string writeoffReason = 4;
// 冲销审批状态20-冲销无需审批21-冲销审批中22-冲销审批通过23-冲销审批拒绝)
int32 approvalStatus = 5;
// 审批编号(如钉钉审批编号)
string approvalCode = 6;
// 冲销人
string createdBy = 7;
// 冲销时间
string createdAt = 8;
}