Skip to content

支付模块数据库详细版

支付模块把业务订单和支付订单彻底解耦,支撑多应用、多渠道、多次提交、退款和异步回调重试。

模块关系总览

核心关系链:pay_app -> pay_channelpay_order -> pay_order_extensionpay_order -> pay_refundpay_notify_task -> pay_notify_logpay_wallet -> pay_wallet_transaction

表清单

  • pay_app(支付应用信息)
  • pay_channel(支付渠道)
  • pay_demo_order(示例订单)
  • pay_demo_transfer(示例业务转账订单)
  • pay_notify_log(支付通知 App 的日志)
  • pay_notify_task(商户支付、退款等的通知)
  • pay_order(支付订单)
  • pay_order_extension(支付订单)
  • pay_refund(退款订单)
  • pay_transfer(转账单表)
  • pay_wallet(会员钱包表)
  • pay_wallet_recharge(会员钱包充值)
  • pay_wallet_recharge_package(充值套餐表)
  • pay_wallet_transaction(会员钱包流水表)

pay_app

  • 表中文名:支付应用信息
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayAppDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/app/PayAppDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL应用编号主键,唯一标识当前记录。
app_keyvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL应用标识业务字段,需结合具体模块功能理解。
namevarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL应用名名称字段,通常是业务对象的可读展示名。
statustinyint NOT NULLNOT NULL开启状态状态字段,通常配合字典或枚举使用。
remarkvarchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL备注备注信息,补充非结构化说明。
order_notify_urlvarchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL支付结果的回调地址URL 地址字段,通常保存文件、回调或页面跳转地址。
refund_notify_urlvarchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL退款结果的回调地址URL 地址字段,通常保存文件、回调或页面跳转地址。
transfer_notify_urlvarchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL转账结果的回调地址URL 地址字段,通常保存文件、回调或页面跳转地址。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_channel

  • 表中文名:支付渠道
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayChannelDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/channel/PayChannelDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • app_id:关联应用主表。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL商户编号主键,唯一标识当前记录。
codevarchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL渠道编码编码字段,常作为系统内业务唯一标识。
statustinyint NOT NULLNOT NULL开启状态状态字段,通常配合字典或枚举使用。
remarkvarchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL备注备注信息,补充非结构化说明。
fee_ratedouble NOT NULL DEFAULT 0NOT NULL渠道费率,单位:百分比业务字段,需结合具体模块功能理解。
app_idbigint NOT NULLNOT NULL应用编号应用编号,常见于支付、公众号等模块。
configvarchar(15000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL支付渠道配置业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_demo_order

  • 表中文名:示例订单
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayDemoOrderDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/demo/PayDemoOrderDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • user_id:关联用户主表,具体是后台用户还是会员用户要结合模块与 user_type 判断。
  • spu_id:关联 product_spu
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL订单编号主键,唯一标识当前记录。
user_idbigint UNSIGNED NOT NULLNOT NULL用户编号用户编号,具体指向后台用户或会员用户要看模块与 user_type。
spu_idbigint NOT NULLNOT NULL商品编号SPU 编号,对应商品公共信息。
spu_namevarchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULLNOT NULL商品名字业务字段,需结合具体模块功能理解。
priceint NOT NULLNOT NULL价格,单位:分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
pay_statusbit(1) NOT NULL DEFAULT b'0'NOT NULL是否已支付:[0:未支付 1:已经支付过]业务状态字段,通常对应枚举或状态机。
pay_order_idbigint NULL DEFAULT NULLNULL支付订单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
pay_channel_codevarchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULLNULL支付成功的支付渠道业务字段,需结合具体模块功能理解。
pay_timedatetime NULL DEFAULT NULLNULL订单支付时间时间字段,用于记录业务发生时点或状态变更时间。
pay_refund_idbigint NULL DEFAULT NULLNULL退款订单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
refund_priceint NOT NULL DEFAULT 0NOT NULL退款金额,单位:分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
refund_timedatetime NULL DEFAULT NULLNULL退款时间时间字段,用于记录业务发生时点或状态变更时间。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_demo_transfer

  • 表中文名:示例业务转账订单
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:当前扫描未定位到对应 DO,可能是测试表、示例表或仓库版本差异。

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • app_id:关联应用主表。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL订单编号主键,唯一标识当前记录。
app_idbigint NOT NULLNOT NULL应用编号应用编号,常见于支付、公众号等模块。
typeint NOT NULLNOT NULL转账类型业务字段,需结合具体模块功能理解。
priceint NOT NULLNOT NULL转账金额,单位:分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
user_namevarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL收款人姓名业务字段,需结合具体模块功能理解。
alipay_logon_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL支付宝登录号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
openidvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL微信 openId业务字段,需结合具体模块功能理解。
transfer_statustinyint NOT NULL DEFAULT 0NOT NULL转账状态业务状态字段,通常对应枚举或状态机。
pay_transfer_idbigint NULL DEFAULT NULLNULL转账订单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
pay_channel_codevarchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL转账支付成功渠道业务字段,需结合具体模块功能理解。
transfer_timedatetime NULL DEFAULT NULLNULL转账支付时间时间字段,用于记录业务发生时点或状态变更时间。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_notify_log

  • 表中文名:支付通知 App 的日志
  • 表类型:日志表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayNotifyLogDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyLogDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL日志编号主键,唯一标识当前记录。
task_idbigint NOT NULLNOT NULL通知任务编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
notify_timestinyint NOT NULLNOT NULL第几次被通知业务字段,需结合具体模块功能理解。
responsevarchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL请求参数业务字段,需结合具体模块功能理解。
statustinyint NOT NULLNOT NULL通知状态状态字段,通常配合字典或枚举使用。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

日志独立成表后,主业务表只保留当前态,历史变化则可无限追加,避免主表被高频写爆。

pay_notify_task

  • 表中文名:商户支付、退款等的通知
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayNotifyTaskDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyTaskDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • app_id:关联应用主表。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL任务编号主键,唯一标识当前记录。
app_idbigint NOT NULLNOT NULL应用编号应用编号,常见于支付、公众号等模块。
typetinyint NOT NULLNOT NULL通知类型业务字段,需结合具体模块功能理解。
data_idbigint NOT NULLNOT NULL数据编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
statustinyint NOT NULLNOT NULL通知状态状态字段,通常配合字典或枚举使用。
merchant_order_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL商户订单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
merchant_transfer_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL商户转账单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
next_notify_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL下一次通知时间时间字段,用于记录业务发生时点或状态变更时间。
last_execute_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL最后一次执行时间时间字段,用于记录业务发生时点或状态变更时间。
notify_timestinyint NOT NULLNOT NULL当前通知次数业务字段,需结合具体模块功能理解。
max_notify_timestinyint NOT NULLNOT NULL最大可通知次数业务字段,需结合具体模块功能理解。
notify_urlvarchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL异步通知地址URL 地址字段,通常保存文件、回调或页面跳转地址。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_order

  • 表中文名:支付订单
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayOrderDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java
  • 关键服务:PayOrderServiceImpl

设计作用

支付订单主表将业务订单和支付渠道交互解耦,业务系统只关心商户单号与支付结果。

关联关系

  • app_id:关联应用主表。
  • channel_id:关联渠道主表。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL支付订单编号主键,唯一标识当前记录。
app_idbigint NOT NULLNOT NULL应用编号应用编号,常见于支付、公众号等模块。
channel_idbigint NULL DEFAULT NULLNULL渠道编号渠道编号。
channel_codevarchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道编码渠道编码,方便对接外部通道。
merchant_order_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL商户订单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
subjectvarchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL商品标题业务字段,需结合具体模块功能理解。
bodyvarchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL商品描述业务字段,需结合具体模块功能理解。
notify_urlvarchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL异步通知地址URL 地址字段,通常保存文件、回调或页面跳转地址。
pricebigint NOT NULLNOT NULL支付金额,单位:分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
channel_fee_ratedouble NULL DEFAULT 0NULL渠道手续费,单位:百分比业务字段,需结合具体模块功能理解。
channel_fee_pricebigint NULL DEFAULT 0NULL渠道手续金额,单位:分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
statustinyint NOT NULLNOT NULL支付状态状态字段,通常配合字典或枚举使用。
user_ipvarchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL用户 IP业务字段,需结合具体模块功能理解。
expire_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL订单失效时间时间字段,用于记录业务发生时点或状态变更时间。
success_timedatetime NULL DEFAULT CURRENT_TIMESTAMPNULL订单支付成功时间时间字段,用于记录业务发生时点或状态变更时间。
extension_idbigint NULL DEFAULT NULLNULL支付成功的订单拓展单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL支付订单号单号字段,通常是对外或业务单据编号。
refund_pricebigint NOT NULLNOT NULL退款总金额,单位:分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
channel_user_idvarchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道用户编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
channel_order_novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道订单号业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_order_extension

  • 表中文名:支付订单
  • 表类型:明细表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayOrderExtensionDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java

设计作用

支付扩展单表示一次具体的支付提交尝试,因此一笔支付单可以有多条 extension 记录。

关联关系

  • order_id:关联头表订单。
  • channel_id:关联渠道主表。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL支付订单编号主键,唯一标识当前记录。
novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL支付订单号单号字段,通常是对外或业务单据编号。
order_idbigint NOT NULLNOT NULL支付订单编号头表订单编号。
channel_idbigint NOT NULLNOT NULL渠道编号渠道编号。
channel_codevarchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL渠道编码渠道编码,方便对接外部通道。
user_ipvarchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL用户 IP业务字段,需结合具体模块功能理解。
statustinyint NOT NULLNOT NULL支付状态状态字段,通常配合字典或枚举使用。
channel_extrasvarchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL支付渠道的额外参数业务字段,需结合具体模块功能理解。
channel_error_codevarchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道调用报错时,错误码业务字段,需结合具体模块功能理解。
channel_error_msgvarchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道调用报错时,错误信息业务字段,需结合具体模块功能理解。
channel_notify_datavarchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL支付渠道异步通知的内容业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

头表只做汇总,明细表承载逐行数据,这样既方便列表汇总查询,也方便逐项追踪。

pay_refund

  • 表中文名:退款订单
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayRefundDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/refund/PayRefundDO.java
  • 关键服务:PayRefundServiceImpl

设计作用

退款主表独立存在,是为了支持一笔支付订单产生多次退款行为。

关联关系

  • app_id:关联应用主表。
  • channel_id:关联渠道主表。
  • order_id:关联头表订单。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL支付退款编号主键,唯一标识当前记录。
novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL退款单号单号字段,通常是对外或业务单据编号。
app_idbigint NOT NULLNOT NULL应用编号应用编号,常见于支付、公众号等模块。
channel_idbigint NOT NULLNOT NULL渠道编号渠道编号。
channel_codevarchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL渠道编码渠道编码,方便对接外部通道。
order_idbigint NOT NULLNOT NULL支付订单编号 pay_order 表id头表订单编号。
order_novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL支付订单 no业务字段,需结合具体模块功能理解。
merchant_order_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL商户订单编号(商户系统生成)外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
merchant_refund_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL商户退款订单号(商户系统生成)外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
notify_urlvarchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL异步通知商户地址URL 地址字段,通常保存文件、回调或页面跳转地址。
statustinyint NOT NULLNOT NULL退款状态状态字段,通常配合字典或枚举使用。
pay_pricebigint NOT NULLNOT NULL支付金额,单位分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
refund_pricebigint NOT NULLNOT NULL退款金额,单位分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
reasonvarchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL退款原因业务字段,需结合具体模块功能理解。
user_ipvarchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL用户 IP业务字段,需结合具体模块功能理解。
channel_order_novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL渠道订单号,pay_order 中的 channel_order_no 对应业务字段,需结合具体模块功能理解。
channel_refund_novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道退款单号,渠道返回业务字段,需结合具体模块功能理解。
success_timedatetime NULL DEFAULT NULLNULL退款成功时间时间字段,用于记录业务发生时点或状态变更时间。
channel_error_codevarchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道调用报错时,错误码业务字段,需结合具体模块功能理解。
channel_error_msgvarchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道调用报错时,错误信息业务字段,需结合具体模块功能理解。
channel_notify_datavarchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL支付渠道异步通知的内容业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_transfer

  • 表中文名:转账单表
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayTransferDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • app_id:关联应用主表。
  • channel_id:关联渠道主表。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL转账单号单号字段,通常是对外或业务单据编号。
app_idbigint NOT NULLNOT NULL应用编号应用编号,常见于支付、公众号等模块。
channel_idbigint NOT NULLNOT NULL转账渠道编号渠道编号。
channel_codevarchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL转账渠道编码渠道编码,方便对接外部通道。
merchant_transfer_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL商户转账单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
typeint NOT NULLNOT NULL类型业务字段,需结合具体模块功能理解。
statustinyint NOT NULLNOT NULL转账状态状态字段,通常配合字典或枚举使用。
success_timedatetime NULL DEFAULT NULLNULL转账成功时间时间字段,用于记录业务发生时点或状态变更时间。
priceint NOT NULLNOT NULL转账金额,单位:分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
subjectvarchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL转账标题业务字段,需结合具体模块功能理解。
user_namevarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL收款人姓名业务字段,需结合具体模块功能理解。
alipay_logon_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL支付宝登录号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
openidvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL微信 openId业务字段,需结合具体模块功能理解。
notify_urlvarchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL异步通知商户地址URL 地址字段,通常保存文件、回调或页面跳转地址。
user_ipvarchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL用户 IP业务字段,需结合具体模块功能理解。
channel_extrasvarchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道的额外参数业务字段,需结合具体模块功能理解。
channel_transfer_novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道转账单号业务字段,需结合具体模块功能理解。
channel_error_codevarchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL调用渠道的错误码业务字段,需结合具体模块功能理解。
channel_error_msgvarchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL调用渠道的错误提示业务字段,需结合具体模块功能理解。
channel_notify_datavarchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL渠道的同步/异步通知的内容业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_wallet

  • 表中文名:会员钱包表
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayWalletDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/wallet/PayWalletDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • user_id:关联用户主表,具体是后台用户还是会员用户要结合模块与 user_type 判断。
  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
user_idbigint NOT NULLNOT NULL用户编号用户编号,具体指向后台用户或会员用户要看模块与 user_type。
user_typetinyint NOT NULL DEFAULT 0NOT NULL用户类型用户类型,用于区分后台用户、会员等身份。
balanceint NOT NULL DEFAULT 0NOT NULL余额,单位分业务字段,需结合具体模块功能理解。
total_expenseint NOT NULL DEFAULT 0NOT NULL累计支出,单位分业务字段,需结合具体模块功能理解。
total_rechargeint NOT NULL DEFAULT 0NOT NULL累计充值,单位分业务字段,需结合具体模块功能理解。
freeze_priceint NOT NULL DEFAULT 0NOT NULL冻结金额,单位分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_wallet_recharge

  • 表中文名:会员钱包充值
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayWalletRechargeDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/wallet/PayWalletRechargeDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
wallet_idbigint NOT NULLNOT NULL会员钱包 id外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
total_priceint NOT NULLNOT NULL用户实际到账余额,例如充 100 送 20,则该值是 120金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
pay_priceint NOT NULLNOT NULL实际支付金额金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
bonus_priceint NOT NULLNOT NULL钱包赠送金额金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
package_idbigint NULL DEFAULT NULLNULL充值套餐编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
pay_statusbit(1) NOT NULL DEFAULT b'0'NOT NULL是否已支付:[0:未支付 1:已经支付过]业务状态字段,通常对应枚举或状态机。
pay_order_idbigint NULL DEFAULT NULLNULL支付订单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
pay_channel_codevarchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULLNULL支付成功的支付渠道业务字段,需结合具体模块功能理解。
pay_timedatetime NULL DEFAULT NULLNULL订单支付时间时间字段,用于记录业务发生时点或状态变更时间。
pay_refund_idbigint NULL DEFAULT NULLNULL支付退款单编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
refund_total_priceint NOT NULL DEFAULT 0NOT NULL退款金额,包含赠送金额金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
refund_pay_priceint NOT NULL DEFAULT 0NOT NULL退款支付金额金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
refund_bonus_priceint NOT NULL DEFAULT 0NOT NULL退款钱包赠送金额金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
refund_timedatetime NULL DEFAULT NULLNULL退款时间时间字段,用于记录业务发生时点或状态变更时间。
refund_statusint NOT NULL DEFAULT 0NOT NULL退款状态业务状态字段,通常对应枚举或状态机。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_wallet_recharge_package

  • 表中文名:充值套餐表
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayWalletRechargePackageDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/wallet/PayWalletRechargePackageDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
namevarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL套餐名名称字段,通常是业务对象的可读展示名。
pay_priceint NOT NULLNOT NULL支付金额金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
bonus_priceint NOT NULLNOT NULL赠送金额金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
statustinyint NOT NULLNOT NULL状态状态字段,通常配合字典或枚举使用。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

pay_wallet_transaction

  • 表中文名:会员钱包流水表
  • 表类型:主表
  • 来源脚本:sql/mysql/pay-2024-08.sql
  • 代码入口:PayWalletTransactionDO,路径 /yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/wallet/PayWalletTransactionDO.java

设计作用

这张表用于承载当前模块中的一个核心对象或过程节点,表结构需要结合上下游表共同理解。

关联关系

  • tenant_id:用于租户数据隔离。

字段结构

字段名类型可空中文注释说明
idbigint NOT NULL AUTO_INCREMENTNOT NULL编号主键,唯一标识当前记录。
wallet_idbigint NOT NULLNOT NULL会员钱包 id外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
biz_typetinyint NOT NULLNOT NULL关联类型业务字段,需结合具体模块功能理解。
biz_idvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL关联业务编号外键语义字段,用于关联其它主表,但项目整体以应用层维护关系为主。
novarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL流水号单号字段,通常是对外或业务单据编号。
titlevarchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULLNOT NULL流水标题业务字段,需结合具体模块功能理解。
priceint NOT NULLNOT NULL交易金额, 单位分金额字段,通常需要结合模块约定确认单位(多数交易场景为分)。
balanceint NOT NULLNOT NULL余额, 单位分业务字段,需结合具体模块功能理解。
creatorvarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL创建者创建人。
create_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMPNOT NULL创建时间创建时间。
updatervarchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT ''NULL更新者更新人。
update_timedatetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPNOT NULL更新时间更新时间。
deletedbit(1) NOT NULL DEFAULT b'0'NOT NULL是否删除逻辑删除标记。
tenant_idbigint NOT NULL DEFAULT 0NOT NULL租户编号租户编号,用于多租户数据隔离。

拆表原因

这张表是当前业务域的核心实体,通常会被其它子表、日志表或关联表引用。

Lucking