SysWechatPay.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
  2. //
  3. // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
  6. namespace Admin.NET.Core;
  7. /// <summary>
  8. /// 系统微信支付表
  9. /// </summary>
  10. [SugarTable(null, "系统微信支付表")]
  11. [SysTable]
  12. [SugarIndex("index_{table}_BU", nameof(BusinessId), OrderByType.Asc)]
  13. [SugarIndex("index_{table}_TR", nameof(TradeState), OrderByType.Asc)]
  14. [SugarIndex("index_{table}_TA", nameof(Tags), OrderByType.Asc)]
  15. public partial class SysWechatPay : EntityBase
  16. {
  17. /// <summary>
  18. /// 微信商户号
  19. /// </summary>
  20. [SugarColumn(ColumnDescription = "微信商户号")]
  21. [Required]
  22. public virtual string MerchantId { get; set; }
  23. /// <summary>
  24. /// 服务商AppId
  25. /// </summary>
  26. [SugarColumn(ColumnDescription = "服务商AppId")]
  27. [Required]
  28. public virtual string AppId { get; set; }
  29. /// <summary>
  30. /// 商户订单号
  31. /// </summary>
  32. [SugarColumn(ColumnDescription = "商户订单号")]
  33. [Required]
  34. public virtual string OutTradeNumber { get; set; }
  35. /// <summary>
  36. /// 支付订单号
  37. /// </summary>
  38. [SugarColumn(ColumnDescription = "支付订单号")]
  39. [Required]
  40. public virtual string TransactionId { get; set; }
  41. /// <summary>
  42. /// 交易类型
  43. /// </summary>
  44. [SugarColumn(ColumnDescription = "交易类型")]
  45. public string? TradeType { get; set; }
  46. /// <summary>
  47. /// 交易状态
  48. /// </summary>
  49. [SugarColumn(ColumnDescription = "交易状态")]
  50. public string? TradeState { get; set; }
  51. /// <summary>
  52. /// 交易状态描述
  53. /// </summary>
  54. [SugarColumn(ColumnDescription = "交易状态描述")]
  55. public string? TradeStateDescription { get; set; }
  56. /// <summary>
  57. /// 付款银行类型
  58. /// </summary>
  59. [SugarColumn(ColumnDescription = "付款银行类型")]
  60. public string? BankType { get; set; }
  61. /// <summary>
  62. /// 订单总金额
  63. /// </summary>
  64. [SugarColumn(ColumnDescription = "订单总金额")]
  65. public int Total { get; set; }
  66. /// <summary>
  67. /// 用户支付金额
  68. /// </summary>
  69. [SugarColumn(ColumnDescription = "用户支付金额")]
  70. public int? PayerTotal { get; set; }
  71. /// <summary>
  72. /// 支付完成时间
  73. /// </summary>
  74. [SugarColumn(ColumnDescription = "支付完成时间")]
  75. public DateTime? SuccessTime { get; set; }
  76. /// <summary>
  77. /// 交易结束时间
  78. /// </summary>
  79. [SugarColumn(ColumnDescription = "交易结束时间")]
  80. public DateTime? ExpireTime { get; set; }
  81. /// <summary>
  82. /// 商品描述
  83. /// </summary>
  84. [SugarColumn(ColumnDescription = "商品描述")]
  85. public string? Description { get; set; }
  86. /// <summary>
  87. /// 场景信息
  88. /// </summary>
  89. [SugarColumn(ColumnDescription = "场景信息")]
  90. public string? Scene { get; set; }
  91. /// <summary>
  92. /// 附加数据
  93. /// </summary>
  94. [SugarColumn(ColumnDescription = "附加数据")]
  95. public string? Attachment { get; set; }
  96. /// <summary>
  97. /// 优惠标记
  98. /// </summary>
  99. [SugarColumn(ColumnDescription = "优惠标记")]
  100. public string? GoodsTag { get; set; }
  101. /// <summary>
  102. /// 结算信息
  103. /// </summary>
  104. [SugarColumn(ColumnDescription = "结算信息")]
  105. public string? Settlement { get; set; }
  106. /// <summary>
  107. /// 回调通知地址
  108. /// </summary>
  109. [SugarColumn(ColumnDescription = "回调通知地址")]
  110. public string? NotifyUrl { get; set; }
  111. /// <summary>
  112. /// 备注
  113. /// </summary>
  114. [SugarColumn(ColumnDescription = "备注")]
  115. public string? Remark { get; set; }
  116. /// <summary>
  117. /// 微信OpenId标识
  118. /// </summary>
  119. [SugarColumn(ColumnDescription = "微信OpenId标识")]
  120. public string? OpenId { get; set; }
  121. /// <summary>
  122. /// 业务标签,用来区分做什么业务
  123. /// </summary>
  124. /// <remarks>
  125. /// Tags标识用来区分这个支付记录对应什么业务从而确定相关联的表名,
  126. /// 再结合BusinessId保存了对应的业务数据的ID,就可以确定这个支付
  127. /// 记录与哪一条业务数据相关联
  128. /// </remarks>
  129. [SugarColumn(ColumnDescription = "业务标签,用来区分做什么业务", Length = 64)]
  130. public string? Tags { get; set; }
  131. /// <summary>
  132. /// 对应业务的主键
  133. /// </summary>
  134. [SugarColumn(ColumnDescription = "对应业务的主键")]
  135. public long BusinessId { get; set; }
  136. /// <summary>
  137. /// 付款二维码内容
  138. /// </summary>
  139. [SugarColumn(ColumnDescription = "付款二维码内容")]
  140. public string? QrcodeContent { get; set; }
  141. /// <summary>
  142. /// 关联微信用户
  143. /// </summary>
  144. [Newtonsoft.Json.JsonIgnore]
  145. [System.Text.Json.Serialization.JsonIgnore]
  146. [Navigate(NavigateType.OneToOne, nameof(OpenId))]
  147. public SysWechatUser SysWechatUser { get; set; }
  148. /// <summary>
  149. /// 子商户号
  150. /// </summary>
  151. [SugarColumn(ColumnDescription = "子商户号")]
  152. public string? SubMerchantId { get; set; }
  153. /// <summary>
  154. /// 子商户AppId
  155. /// </summary>
  156. [SugarColumn(ColumnDescription = "回调通知地址")]
  157. public string? SubAppId { get; set; }
  158. /// <summary>
  159. /// 子商户唯一标识
  160. /// </summary>
  161. [SugarColumn(ColumnDescription = "子商户唯一标识")]
  162. public string? SubOpenId { get; set; }
  163. }