using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ApiTools.Core
{
///
/// 渠道钱包交易
///
public class ChannelWalletTransaction : CommonEntity, IEntityTypeBuilder
{
///
/// 钱包Id
///
public Guid WalletId { get; set; }
///
/// 钱包
///
public ChannelWallet Wallet { get; set; }
///
/// 平安信息
///
public ChannelWalletTransactionPingAnPay PingAnPay { get; set; }
///
/// 类型
///
public EnumWalletTransactionType Type { get; set; }
///
/// 订单号
///
public string Code { get; set; }
///
/// 外部订单号
///
public string OutCode { get; set; }
///
/// 并发锁
///
public string ConcurrencyLock { get; set; }
///
/// 金额
///
public decimal Amount { get; set; }
///
/// 余额
///
public decimal Balance { get; set; }
///
/// 收支后余额
///
public decimal AfterBalance { get; set; }
///
/// 外部操作人Id
///
public string OutOperatorId { get; set; }
///
/// 操作时间
///
public DateTime? OperatorTime { get; set; }
///
/// 付款人账户
///
public string PayerAccount { get; set; }
///
/// 付款人名称
///
public string PayerName { get; set; }
///
/// 付款人开户行
///
public string PayerBank { get; set; }
///
/// 付款人支行
///
public string PayerBankBranch { get; set; }
///
/// 外部收款人Id
///
public string OutReceiveId { get; set; }
///
/// 收款人姓名
///
public string ReceiveName { get; set; }
///
/// 收款人身份证号
///
public string ReceiveIdentity { get; set; }
///
/// 收款账户
///
public string ReceiveAccount { get; set; }
///
/// 收款人开户行
///
public string ReceiveBank { get; set; }
///
/// 收款人支行
///
public string ReceiveBankBranch { get; set; }
///
/// 币种
///
public string Currency { get; set; }
///
/// 用途
///
public string Purpose { get; set; }
///
/// 备注
///
public string Remark { get; set; }
///
/// 查询到的订单状态为FAIL失败或REFUND退票时,返回错误代码
///
public string ErrorCode { get; set; }
///
/// 查询到的订单状态为FAIL失败或REFUND退票时,返回具体的原因。
///
public string FailReason { get; set; }
///
/// 订单支付时间
///
public DateTime? TransDate { get; set; }
///
/// 预计收费金额(元),转账到银行卡专用
///
public decimal? OrderFee { get; set; }
///
/// 电子收据Id
///
public string EreceiptFileId { get; set; }
///
/// 电子收据下载链接
///
public string EreceiptDownloadUrl { get; set; }
///
/// 电子收据下载链接
///
public string EreceiptDownloadOssUrl { get; set; }
///
/// 电子收据状态
///
public EnumWalletTransactionEreceiptStatus? EreceiptStatus { get; set; }
///
/// 电子收据错误信息
///
public string EreceiptErrorMessage { get; set; }
///
/// 状态
///
public EnumWalletTransactionStatus TransactionStatus { get; set; }
public void Configure(EntityTypeBuilder entityBuilder, DbContext dbContext, Type dbContextLocator)
{
entityBuilder
.HasOne(it => it.PingAnPay)
.WithOne(it => it.Transaction)
.HasForeignKey(it => it.Id);
entityBuilder
.HasIndex(it => it.ConcurrencyLock)
.IsUnique();
}
}
}