syntax = "proto3";

import "BaseGrpcEntity.proto";
package fin;
option java_multiple_files = true;
option java_package = "com.usoft.fin.grpc.api.entity";

/************************额度，增额*************************/

// 额度申请记录信息
message CreditApplyInfo {
    string code = 1; // 额度申请记录编号
    string productCode = 2; // 产品编号
    string parentCode = 3; // 父编号
    int32 enuu = 4; // 企业uu
    double replyAmount = 5; // 批复额度
    double rate = 6; //利率
    string startDate = 7; // 额度生效日
    string submitDate = 8; // 申请日期
    string auditDate = 9; // 审核日期
    string endDate = 10; // 额度到期日
    int32 status = 11; // 额度状态: 100.已通过 101.审核中  102.未通过  103.编辑中
    CreditApplyUserinfo creditApplyUserinfo = 12; // 额度申请记录用户基础信息
    repeated FileTypeCreditInfo fileTypeCreditInfo = 13; // 额度申请记录用户资料信息
}

// 额度申请记录用户基础信息
message CreditApplyUserinfo {
    string code = 1; // 基础信息编号
    string enBusinessMain = 2; //主营业务
    string enBusinessType = 3; //经营类型
    string enAreaProvince = 4; //企业办公省市区（省）
    string enAreaCity = 5; //企业办公省市区（市）
    string enAreaDistrict = 6; //企业办公省市区（区）
    string enAddress = 7; //详细地址
    string userName = 8; //联系人姓名
    string userPhone = 9; //手机号码
    string userAreaProvince = 10; //联系人地址省市区（省）
    string userAreaCity = 12; //联系人地址省市区（市）
    string userAreaDistrict = 13;//联系人地址省市区（区）
    string userAddress = 14; //联系人详细地址
    string enName = 15; //企业名称
    string creditApplyCode = 16; //额度申请记录编号
}

// 额度申请记录用户资料信息
message FileTypeCreditInfo {
    FileTypeInfo fileTypeInfo = 1; //文件类型
    repeated CreditApplyUserfileInfo creditApplyUserfileInfo = 2; //文件列表
}

// 额度申请记录用户资料
message CreditApplyUserfileInfo {
    string code = 1; //额度申请记录文件信息编号
    string creditApplyCode = 2; //额度申请记录编号
    string fileTypeCode = 3; //文件类型编号
    string url = 4; //文件全路径
    int32 number = 5; //序号
    string name = 6; // 文件名
    int32 size = 7; //文件大小
}

/************************额度，增额*************************/

// 额度申请信息
message CreditApplySimpleInfo {
    string code = 1; // 额度记录编号
    string productName = 2; // 产品名称
    string submitDate = 3; // 申请日期
    string replyAmount = 4; // 批复额度
    double rate = 5; // 利率
    string startDate = 6; // 额度生效日
    string endDate = 7; // 额度到期日
    int32 status = 8; // 额度状态: 100.已通过 101.审核中  102.未通过  103.编辑中
    int32 isUsed = 9; // 额度状态: 1生效中，0已失效
}

// 额度信息
message CreditInfo {
    string productCode = 1; // 产品编号
    string creditApplyCode = 2; //额度申请记录编号
    string productName = 3; // 产品名称
    double replyAmount = 4; // 批复额度
    double usedAmount = 5; // 已用额度
    double usableAmount = 6; // 剩余可用额度
    string startDate = 7; // 额度生效日
    string endDate = 8; // 额度到期日
    bool status = 9; // 额度状态
    string code = 10; // 额度信息编号
    double rate = 11; // 利率
}

// 额度申请记录用户资料信息（上传），为了使前端少传点参数
message SubmitCreditApplyUserfileInfos {
    string code = 1; //资料编号
    repeated CreditApplyUserfileInfo creditApplyUserfileInfo = 2; //文件列表
}

// 剩余可用额度
message UsableCreditInfo {
    int32 creditType = 1; // 1.保理 2.租赁 3.小额贷 4.票据
    double usableAmount = 2; // 剩余可用额度
}

// 当前生效额度信息
message UsingCreditInfo {
    double replyAmount = 1; // 批复额度
    double rate = 2; // 利率
    double usedAmount = 3; // 可用额度
    double usableAmount = 4; // 剩余可用额度
    string startDate = 5; // 额度生效日
    string endDate = 6; // 额度到期日
    bool status = 7; // 额度状态
}
