first commit
This commit is contained in:
33
deploy/sql/bank_card_withdrawal.sql
Normal file
33
deploy/sql/bank_card_withdrawal.sql
Normal file
@@ -0,0 +1,33 @@
|
||||
-- 银行卡提现功能数据库迁移脚本
|
||||
-- 执行时间:请根据实际情况填写
|
||||
-- 说明:为 agent_withdrawal 表添加银行卡提现相关字段
|
||||
|
||||
-- 1. 添加提现类型字段(1-支付宝,2-银行卡)
|
||||
ALTER TABLE `agent_withdrawal`
|
||||
ADD COLUMN `withdraw_type` TINYINT NOT NULL DEFAULT 1 COMMENT '提现类型:1-支付宝,2-银行卡' AFTER `agent_id`;
|
||||
|
||||
-- 2. 添加银行卡号字段
|
||||
ALTER TABLE `agent_withdrawal`
|
||||
ADD COLUMN `bank_card_no` VARCHAR(50) DEFAULT NULL COMMENT '银行卡号' AFTER `payeeAccount`;
|
||||
|
||||
-- 3. 添加开户支行字段
|
||||
ALTER TABLE `agent_withdrawal`
|
||||
ADD COLUMN `bank_name` VARCHAR(100) DEFAULT NULL COMMENT '开户支行' AFTER `bank_card_no`;
|
||||
|
||||
-- 4. 添加收款人姓名字段(银行卡提现需要,支付宝提现已有但字段名不同)
|
||||
ALTER TABLE `agent_withdrawal`
|
||||
ADD COLUMN `payee_name` VARCHAR(50) DEFAULT NULL COMMENT '收款人姓名' AFTER `bank_name`;
|
||||
|
||||
-- 5. 为银行卡号字段添加索引(可选,用于查询优化)
|
||||
ALTER TABLE `agent_withdrawal`
|
||||
ADD INDEX `idx_withdraw_type` (`withdraw_type`);
|
||||
|
||||
-- 6. 更新现有记录的 withdraw_type 为 1(支付宝)
|
||||
UPDATE `agent_withdrawal` SET `withdraw_type` = 1 WHERE `withdraw_type` IS NULL OR `withdraw_type` = 0;
|
||||
|
||||
-- 说明:
|
||||
-- 1. withdraw_type: 1=支付宝提现(默认),2=银行卡提现
|
||||
-- 2. 现有支付宝提现记录的 withdraw_type 将自动设置为 1
|
||||
-- 3. bank_card_no、bank_name、payee_name 字段允许为 NULL(支付宝提现不需要这些字段)
|
||||
-- 4. 银行卡提现时,payee_name 必须与实名认证的姓名一致
|
||||
|
||||
42
deploy/sql/query_user_record.sql
Normal file
42
deploy/sql/query_user_record.sql
Normal file
@@ -0,0 +1,42 @@
|
||||
-- 查询用户记录表
|
||||
-- 用途:记录用户查询时输入的姓名、身份证、手机号,以及支付订单号等,用于通过查询条件追溯订单信息
|
||||
-- 执行说明:在目标数据库执行此脚本创建表
|
||||
--
|
||||
-- 使用说明(需在业务代码中接入):
|
||||
-- 1. 用户提交查询时(queryservicelogic.CacheData 之后):INSERT 记录 name, id_card, mobile(已 AES-ECB+Base64 加密), product, query_no, user_id, agent_identifier
|
||||
-- 2. 用户发起支付并创建 order 时(paymentlogic.QueryOrderPayment 中 Insert order 之后):UPDATE 本表 SET order_id WHERE query_no=outTradeNo
|
||||
-- 3. 支付回调成功更新 order 后(alipaycallbacklogic/wechatpaycallbacklogic):UPDATE 本表 SET platform_order_id WHERE query_no=orderNo
|
||||
--
|
||||
-- 敏感字段加密:name、id_card、mobile 使用 pkg/lzkit/crypto 的 AES-ECB+Base64 加密后入库,密钥为 config.Encrypt.SecretKey(hex)。
|
||||
-- 解密:姓名 crypto.AesEcbDecrypt(rec.Name, key);身份证 crypto.DecryptIDCard(rec.IdCard, key);手机 crypto.DecryptMobile(rec.Mobile, secretKey)。
|
||||
|
||||
CREATE TABLE `query_user_record` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
|
||||
`del_state` tinyint NOT NULL DEFAULT '0',
|
||||
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
|
||||
|
||||
/* 业务字段 - 用户查询输入(name、id_card、mobile 为 AES-ECB+Base64 密文) */
|
||||
`user_id` bigint NOT NULL DEFAULT '0' COMMENT '用户ID',
|
||||
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '姓名密文(AES-ECB+Base64)',
|
||||
`id_card` varchar(128) NOT NULL DEFAULT '' COMMENT '身份证号密文(AES-ECB+Base64)',
|
||||
`mobile` varchar(128) NOT NULL DEFAULT '' COMMENT '手机号密文(AES-ECB+Base64)',
|
||||
`product` varchar(50) NOT NULL DEFAULT '' COMMENT '产品类型,如 marriage/homeservice/riskassessment 等',
|
||||
|
||||
/* 关联字段 - 查询单号与订单 */
|
||||
`query_no` varchar(64) NOT NULL DEFAULT '' COMMENT '查询单号(与 order.order_no 一致,如 Q_xxx),用户提交查询时生成',
|
||||
`order_id` bigint NOT NULL DEFAULT '0' COMMENT '订单ID,关联 order 表,用户发起支付并创建订单后写入',
|
||||
`platform_order_id` varchar(64) DEFAULT NULL COMMENT '支付平台订单号(支付宝/微信),支付成功后由回调写入',
|
||||
`agent_identifier` varchar(255) DEFAULT NULL COMMENT '代理标识,代理渠道时有值',
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_id_card` (`id_card`),
|
||||
KEY `idx_mobile` (`mobile`),
|
||||
KEY `idx_query_no` (`query_no`),
|
||||
KEY `idx_order_id` (`order_id`),
|
||||
KEY `idx_platform_order_id` (`platform_order_id`),
|
||||
KEY `idx_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='查询用户记录表:姓名、身份证、手机号、支付订单号等,用于通过查询信息追溯订单';
|
||||
20
deploy/sql/template.sql
Normal file
20
deploy/sql/template.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
CREATE TABLE `表名` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
|
||||
`del_state` tinyint NOT NULL DEFAULT '0',
|
||||
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
|
||||
|
||||
/* 业务字段开始 */
|
||||
`字段1` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
|
||||
`字段2` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
|
||||
/* 关联字段 - 软关联 */
|
||||
`关联表id` bigint [NOT NULL] [DEFAULT '0'] COMMENT '关联到XX表的id',
|
||||
/* 业务字段结束 */
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
/* 索引定义 */
|
||||
UNIQUE KEY `索引名称` (`字段名`),
|
||||
KEY `idx_关联字段` (`关联表id`) COMMENT '优化关联查询'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='表说明';
|
||||
Reference in New Issue
Block a user