后端【新增】新增商家转账功能后台处理及接口回调获取。

This commit is contained in:
jianweie code
2025-07-29 00:51:57 +08:00
parent 596225acb1
commit c8b4bbd78d
38 changed files with 3385 additions and 436 deletions

View File

@@ -1,10 +1,10 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2023/4/22 23:40:15
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2025/7/28 22:49:53
* Description: 暂无
***********************************************************************/
@@ -15,7 +15,7 @@ using System.ComponentModel.DataAnnotations;
namespace CoreCms.Net.Model.Entities
{
/// <summary>
/// 微信支付配置
/// 微信支付配置
/// </summary>
public partial class CoreCmsWeChatPayConfig
{
@@ -25,188 +25,173 @@ namespace CoreCms.Net.Model.Entities
public CoreCmsWeChatPayConfig()
{
}
/// <summary>
/// 序列
/// </summary>
[Display(Name = "序列")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
[Required(ErrorMessage = "请输入{0}")]
public System.Int32 id { get; set; }
public System.Int32 id { get; set; }
/// <summary>
/// 应用号
/// </summary>
[Display(Name = "应用号")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
public System.String appId { get; set; }
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String appId { get; set; }
/// <summary>
/// 商户号
/// </summary>
[Display(Name = "商户号")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
public System.String mchId { get; set; }
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String mchId { get; set; }
/// <summary>
/// API秘钥
/// </summary>
[Display(Name = "API秘钥")]
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
public System.String apiKey { get; set; }
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String apiKey { get; set; }
/// <summary>
/// APIv3密钥
/// </summary>
[Display(Name = "APIv3密钥")]
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
public System.String apiV3Key { get; set; }
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String apiV3Key { get; set; }
/// <summary>
/// p12证书base64
/// </summary>
[Display(Name = "p12证书base64")]
[StringLength(maximumLength:8000,ErrorMessage = "{0}不能超过{1}字")]
public System.String certificate { get; set; }
[Required(ErrorMessage = "请输入{0}")]
public System.String certificate { get; set; }
/// <summary>
/// RSA公钥
/// </summary>
[Display(Name = "RSA公钥")]
[StringLength(maximumLength:1000,ErrorMessage = "{0}不能超过{1}字")]
public System.String rsaPublicKey { get; set; }
[StringLength(maximumLength: 1000, ErrorMessage = "{0}不能超过{1}字")]
public System.String rsaPublicKey { get; set; }
/// <summary>
/// 子商户应用号
/// </summary>
[Display(Name = "子商户应用号")]
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
public System.String subAppId { get; set; }
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String subAppId { get; set; }
/// <summary>
/// 子商户号
/// </summary>
[Display(Name = "子商户号")]
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
public System.String subMchId { get; set; }
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String subMchId { get; set; }
/// <summary>
/// 支付回调通知
/// </summary>
[Display(Name = "支付回调通知")]
[StringLength(maximumLength:200,ErrorMessage = "{0}不能超过{1}字")]
public System.String notifyUrl { get; set; }
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 200, ErrorMessage = "{0}不能超过{1}字")]
public System.String notifyUrl { get; set; }
/// <summary>
/// 退款回调
/// </summary>
[Display(Name = "退款回调")]
[StringLength(maximumLength:200,ErrorMessage = "{0}不能超过{1}字")]
public System.String refundUrl { get; set; }
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 200, ErrorMessage = "{0}不能超过{1}字")]
public System.String refundUrl { get; set; }
/// <summary>
/// 跳转地址
/// </summary>
[Display(Name = "跳转地址")]
[StringLength(maximumLength:200,ErrorMessage = "{0}不能超过{1}字")]
public System.String jumpUrl { get; set; }
[StringLength(maximumLength: 200, ErrorMessage = "{0}不能超过{1}字")]
public System.String jumpUrl { get; set; }
/// <summary>
/// 是否开启
/// </summary>
[Display(Name = "是否开启")]
[Required(ErrorMessage = "请输入{0}")]
public System.Boolean isEnable { get; set; }
public System.Boolean isEnable { get; set; }
/// <summary>
/// 是否本类默认
/// </summary>
[Display(Name = "是否本类默认")]
[Required(ErrorMessage = "请输入{0}")]
public System.Boolean isDefault { get; set; }
public System.Boolean isDefault { get; set; }
/// <summary>
/// 应用类型
/// </summary>
[Display(Name = "应用类型")]
[StringLength(maximumLength:50,ErrorMessage = "{0}不能超过{1}字")]
public System.String appType { get; set; }
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String appType { get; set; }
/// <summary>
/// 高级模式
/// </summary>
[Display(Name = "高级模式")]
[Required(ErrorMessage = "请输入{0}")]
public System.Int32 payType { get; set; }
/// <summary>
/// 商户证书序列号
/// </summary>
[Display(Name = "商户证书序列号")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String certificateSerialNumber { get; set; }
/// <summary>
/// 商户证书文件内容
/// </summary>
[Display(Name = "商户证书文件内容")]
public System.String certificatePrivateKey { get; set; }
/// <summary>
/// 平台证书序列号
/// </summary>
[Display(Name = "平台证书序列号")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String platformSerialNumber { get; set; }
/// <summary>
/// 平台公钥ID
/// </summary>
[Display(Name = "平台公钥ID")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String platformPublicKeyId { get; set; }
/// <summary>
/// 平台公钥内容
/// </summary>
[Display(Name = "平台公钥内容")]
public System.String platformPublicKey { get; set; }
/// <summary>
/// 提现回调通知
/// </summary>
[Display(Name = "提现回调通知")]
[StringLength(maximumLength: 200, ErrorMessage = "{0}不能超过{1}字")]
public System.String transferBillsUrl { get; set; }
}
}
}

View File

@@ -0,0 +1,95 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2025/7/21 20:39:06
* Description: 暂无
***********************************************************************/
using SqlSugar;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace CoreCms.Net.Model.Entities
{
/// <summary>
/// 微信支付平台证书
/// </summary>
public partial class CoreCmsWeChatPayPlatformCertificate
{
/// <summary>
/// 构造函数
/// </summary>
public CoreCmsWeChatPayPlatformCertificate()
{
}
/// <summary>
/// 序列
/// </summary>
[Display(Name = "序列")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
[Required(ErrorMessage = "请输入{0}")]
public System.Int32 id { get; set; }
/// <summary>
/// 证书算法类型
/// </summary>
[Display(Name = "证书算法类型")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String algorithmType { get; set; }
/// <summary>
/// 证书内容
/// </summary>
[Display(Name = "证书内容")]
[Required(ErrorMessage = "请输入{0}")]
public System.String certificate { get; set; }
/// <summary>
/// 获取生效时间
/// </summary>
[Display(Name = "获取生效时间")]
[Required(ErrorMessage = "请输入{0}")]
public System.DateTime effectiveTime { get; set; }
/// <summary>
/// 获取过期时间
/// </summary>
[Display(Name = "获取过期时间")]
[Required(ErrorMessage = "请输入{0}")]
public System.DateTime expireTime { get; set; }
/// <summary>
/// 证书编号
/// </summary>
[Display(Name = "证书编号")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String serialNumber { get; set; }
/// <summary>
/// 商户编号
/// </summary>
[Display(Name = "商户编号")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String merchantId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "创建时间")]
[Required(ErrorMessage = "请输入{0}")]
public System.DateTime createTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Display(Name = "更新时间")]
public System.DateTime? updataTime { get; set; }
}
}

View File

@@ -0,0 +1,91 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2025/7/28 23:08:04
* Description: 暂无
***********************************************************************/
using SqlSugar;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace CoreCms.Net.Model.Entities
{
/// <summary>
/// 用户提现使用商家转账微信回调通知
/// </summary>
public partial class CoreCmsUserTocashWeChatNotify
{
/// <summary>
/// 构造函数
/// </summary>
public CoreCmsUserTocashWeChatNotify()
{
}
/// <summary>
/// 序列
/// </summary>
[Display(Name = "序列")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
[Required(ErrorMessage = "请输入{0}")]
public System.Int32 id { get; set; }
/// <summary>
/// 通知ID
/// </summary>
[Display(Name = "通知ID")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String callBackId { get; set; }
/// <summary>
/// 通知创建时间
/// </summary>
[Display(Name = "通知创建时间")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String create_time { get; set; }
/// <summary>
/// 通知数据类型
/// </summary>
[Display(Name = "通知数据类型")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String resource_type { get; set; }
/// <summary>
/// 通知类型
/// </summary>
[Display(Name = "通知类型")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String event_type { get; set; }
/// <summary>
/// 回调摘要
/// </summary>
[Display(Name = "回调摘要")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 100, ErrorMessage = "{0}不能超过{1}字")]
public System.String summary { get; set; }
/// <summary>
/// 通知数据
/// </summary>
[Display(Name = "通知数据")]
[Required(ErrorMessage = "请输入{0}")]
public System.String resource { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "创建时间")]
[Required(ErrorMessage = "请输入{0}")]
public System.DateTime createTime { get; set; }
}
}

View File

@@ -0,0 +1,105 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2025/7/23 16:44:04
* Description: 暂无
***********************************************************************/
using SqlSugar;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace CoreCms.Net.Model.Entities
{
/// <summary>
/// 用户提现使用商家转账回调记录
/// </summary>
public partial class CoreCmsUserTocashWeChatResponse
{
/// <summary>
/// 构造函数
/// </summary>
public CoreCmsUserTocashWeChatResponse()
{
}
/// <summary>
/// 序列
/// </summary>
[Display(Name = "序列")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
[Required(ErrorMessage = "请输入{0}")]
public System.Int32 id { get; set; }
/// <summary>
/// 商户单号
/// </summary>
[Display(Name = "商户单号")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String out_bill_no { get; set; }
/// <summary>
/// 微信转账单号
/// </summary>
[Display(Name = "微信转账单号")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 100, ErrorMessage = "{0}不能超过{1}字")]
public System.String transfer_bill_no { get; set; }
/// <summary>
/// 单据创建时间
/// </summary>
[Display(Name = "单据创建时间")]
[Required(ErrorMessage = "请输入{0}")]
public System.DateTime create_time { get; set; }
/// <summary>
/// 单据状态
/// </summary>
[Display(Name = "单据状态")]
[Required(ErrorMessage = "请输入{0}")]
[StringLength(maximumLength: 50, ErrorMessage = "{0}不能超过{1}字")]
public System.String state { get; set; }
/// <summary>
/// 跳转领取页面的package信息
/// </summary>
[Display(Name = "跳转领取页面的package信息")]
[StringLength(maximumLength: 255, ErrorMessage = "{0}不能超过{1}字")]
public System.String package_info { get; set; }
/// <summary>
/// 状态码
/// </summary>
[Display(Name = "状态码")]
public System.Int32? code { get; set; }
/// <summary>
/// 消息内容
/// </summary>
[Display(Name = "消息内容")]
[StringLength(maximumLength: 255, ErrorMessage = "{0}不能超过{1}字")]
public System.String message { get; set; }
/// <summary>
/// 描述
/// </summary>
[Display(Name = "描述")]
[StringLength(maximumLength: 255, ErrorMessage = "{0}不能超过{1}字")]
public System.String detail { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "创建时间")]
[Required(ErrorMessage = "请输入{0}")]
public System.DateTime createTime { get; set; }
}
}