using cylsg.Core;
|
using cylsg.Core.Attributes;
|
using Newtonsoft.Json;
|
using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Linq;
|
using System.Text;
|
using System.Text.Json.Serialization;
|
using System.Threading.Tasks;
|
|
namespace cylsg.Model.TransferOrder
|
{
|
/// <summary>
|
/// 转账单账模型
|
/// </summary>
|
[SugarTable(TableDescription = "转账单账模型")]
|
[CoderFirst]
|
public class WeChatTransferOrder: BaseModel
|
{
|
/// <summary>
|
/// ID
|
/// </summary>
|
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true, IsIdentity = true)]
|
public int Id { get; set; }
|
/// <summary>
|
/// 获取或设置商户批次单号。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置商户批次单号")]
|
public string OutBatchNumber { get; set; }
|
|
/// <summary>
|
/// 获取或设置微信批次单号。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置微信批次单号")]
|
public string BatchId { get; set; }
|
|
|
|
/// <summary>
|
/// 获取或设置批次状态。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置批次状态")]
|
public string? BatchStatus { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
/// 获取或设置批次的名称。
|
/// 示例: "2019年1月深圳分部报销单"
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次的名称", IsNullable = true)]
|
public string? BatchName { get; set; }
|
|
/// <summary>
|
/// 获取或设置批次的备注。
|
/// 示例: "2019年1月深圳分部报销单"
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次的备注", IsNullable = true)]
|
public string? BatchRemark { get; set; }
|
|
/// <summary>
|
/// 获取或设置关闭批次的原因。
|
/// 示例: "OVERDUE_CLOSE"
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置关闭批次的原因", IsNullable = true)]
|
public string? CloseReason { get; set; }
|
|
/// <summary>
|
/// 获取或设置批次中的总金额。
|
/// 示例: 4000000
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次中的总金额", IsNullable = true)]
|
public int? TotalAmount { get; set; }
|
|
/// <summary>
|
/// 获取或设置批次中的项目总数。
|
/// 示例: 200
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次中的项目总数", IsNullable = true)]
|
public int? TotalNum { get; set; }
|
|
|
|
/// <summary>
|
/// 获取或设置批次中的成功总金额。
|
/// 示例: 3900000
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次中的成功总金额", IsNullable = true)]
|
public int? SuccessAmount { get; set; }
|
|
/// <summary>
|
/// 获取或设置批次中的成功项目数。
|
/// 示例: 199
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次中的成功项目数", IsNullable = true)]
|
public int? SuccessNum { get; set; }
|
|
/// <summary>
|
/// 获取或设置批次中的失败总金额。
|
/// 示例: 100000
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次中的失败总金额", IsNullable = true)]
|
public int? FailAmount { get; set; }
|
|
/// <summary>
|
/// 获取或设置批次中的失败项目数。
|
/// 示例: 1
|
/// </summary>
|
///
|
[SugarColumn(ColumnDescription = "获取或设置批次中的失败项目数", IsNullable = true)]
|
public int? FailNum { get; set; }
|
|
/// <summary>
|
/// 获取或设置转账场景标识符。
|
/// 示例: "1000"
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置转账场景标识符", IsNullable = true)]
|
public string? TransferSceneId { get; set; }
|
|
|
|
|
/// <summary>
|
/// 获取或设置批次中的详细转账列表。
|
/// </summary>
|
[Navigate(NavigateType.OneToMany,nameof(WeChatTransferItem.WeChatTransferOrderID))]
|
public List<WeChatTransferItem> TransferDetailList { get; set; }
|
}
|
|
|
/// <summary>
|
/// 转账单列表
|
/// </summary>
|
[SugarTable(TableDescription = "转账单账详细列表模型")]
|
public class WeChatTransferItem:BaseModel
|
{
|
/// <summary>
|
/// ID
|
/// </summary>
|
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true, IsIdentity = true)]
|
public int Id { get; set; }
|
|
|
/// <summary>
|
/// WeChatTransferOrderID
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置批次状态")]
|
public int WeChatTransferOrderID { get; set; }
|
/// <summary>
|
/// 获取或设置商户明细单号。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置批次状态")]
|
public string OutDetailNumber { get; set; }
|
|
|
/// <summary>
|
/// 获取或设置转账金额(单位:分)。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置批次状态")]
|
public int TransferAmount { get; set; }
|
|
/// <summary>
|
/// 获取或设置转账备注。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置批次状态")]
|
public string TransferRemark { get; set; }
|
|
/// <summary>
|
/// 获取或设置收款用户的 OpenId。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置收款用户的 OpenId")]
|
public string OpenId { get; set; }
|
|
/// <summary>
|
/// 获取或设置收款用户姓名(需使用平台公钥/证书加密)。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置收款用户姓名",IsNullable =true)]
|
public string? UserName { get; set; }
|
|
/// <summary>
|
/// 获取或设置收款用户身份证号(需使用平台公钥/证书加密)。
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置收款用户身份证号",IsNullable =true)]
|
public string? UserIdCardNumber { get; set; }
|
|
/// <summary>
|
/// 获取或设置明细状态。
|
/// INIT: 初始态。系统转账校验中
|
/// WAIT_PAY: 待确认。待商户确认, 符合免密条件时, 系统会自动扭转为转账中
|
/// PROCESSING: 转账中。正在处理中,转账结果尚未明确
|
/// SUCCESS: 转账成功
|
/// FAIL: 转账失败。需要确认失败原因后,再决定是否重新发起对该笔明细单的转账(并非整个转账批次单)
|
/// 最大长度: 32
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置明细状态", IsNullable = true)]
|
public string? DetailStatus { get; set; }
|
|
/// <summary>
|
/// 获取或设置明细失败原因。
|
/// 如果转账失败则有失败原因。
|
/// 可选取值:
|
/// ACCOUNT_FROZEN: 该用户账户被冻结
|
/// REAL_NAME_CHECK_FAIL: 收款人未实名认证,需要用户完成微信实名认证
|
/// NAME_NOT_CORRECT: 收款人姓名校验不通过,请核实信息
|
/// OPENID_INVALID: Openid格式错误或者不属于商家公众账号
|
/// TRANSFER_QUOTA_EXCEED: 超过用户单笔收款额度,核实产品设置是否准确
|
/// DAY_RECEIVED_QUOTA_EXCEED: 超过用户单日收款额度,核实产品设置是否准确
|
/// MONTH_RECEIVED_QUOTA_EXCEED: 超过用户单月收款额度,核实产品设置是否准确
|
/// DAY_RECEIVED_COUNT_EXCEED: 超过用户单日收款次数,核实产品设置是否准确
|
/// PRODUCT_AUTH_CHECK_FAIL: 未开通该权限或权限被冻结,请核实产品权限状态
|
/// OVERDUE_CLOSE: 超过系统重试期,系统自动关闭
|
/// ID_CARD_NOT_CORRECT: 收款人身份证校验不通过,请核实信息
|
/// ACCOUNT_NOT_EXIST: 该用户账户不存在
|
/// TRANSFER_RISK: 该笔转账可能存在风险,已被微信拦截
|
/// OTHER_FAIL_REASON_TYPE: 其它失败原因
|
/// REALNAME_ACCOUNT_RECEIVED_QUOTA_EXCEED: 用户账户收款受限,请引导用户在微信支付查看详情
|
/// RECEIVE_ACCOUNT_NOT_PERMMIT: 未配置该用户为转账收款人,请在产品设置中调整,添加该用户为收款人
|
/// PAYEE_ACCOUNT_ABNORMAL: 用户账户收款异常,请联系用户完善其在微信支付的身份信息以继续收款
|
/// PAYER_ACCOUNT_ABNORMAL: 商户账户付款受限,可前往商户平台获取解除功能限制指引
|
/// TRANSFER_SCENE_UNAVAILABLE: 该转账场景暂不可用,请确认转账场景ID是否正确
|
/// TRANSFER_SCENE_INVALID: 你尚未获取该转账场景,请确认转账场景ID是否正确
|
/// TRANSFER_REMARK_SET_FAIL: 转账备注设置失败, 请调整后重新再试
|
/// RECEIVE_ACCOUNT_NOT_CONFIGURE: 请前往商户平台-商家转账到零钱-前往功能-转账场景中添加
|
/// BLOCK_B2C_USERLIMITAMOUNT_BSRULE_MONTH: 超出用户单月转账收款20w限额,本月不支持继续向该用户付款
|
/// BLOCK_B2C_USERLIMITAMOUNT_MONTH: 用户账户存在风险收款受限,本月不支持继续向该用户付款
|
/// MERCHANT_REJECT: 商户员工(转账验密人)已驳回转账
|
/// MERCHANT_NOT_CONFIRM: 商户员工(转账验密人)超时未验密
|
/// </summary>
|
[SugarColumn(ColumnDescription = "获取或设置明细失败原因", IsNullable = true)]
|
public string? FailReason { get; set; }
|
}
|
|
|
|
}
|