feat(database): 增加基线版本支持并调整数据库迁移结构

- 在.env.example中添加BASELINE_VERSION配置说明,支持首次部署已有数据库设定
- docker-compose.yml中增加BASELINE_VERSION环境变量传递及命令行基线参数支持
- README.md增加首次部署与后续部署的详细操作说明,强调基线版本设置要求
- 修改schema.sql,重构多张表结构,新增账户历史、代付相关多表设计
- 调整商户隐藏记录、偷卡配置等表,优化字段及索引设计
- 新增atlas_schema_revisions表,支持数据库迁移版本管理
- 删除部分旧表结构,新增限制IP访问相关表支持安全功能
- 迁移文件atlas.sum更新,反映新的迁移文件及校验哈希变化
This commit is contained in:
danial
2025-12-14 19:34:03 +08:00
parent 0287e64200
commit 7bcdcd13cb
6 changed files with 228 additions and 189 deletions

View File

@@ -4,3 +4,6 @@ DB_PASSWORD=your_password
DB_HOST=mysql_host DB_HOST=mysql_host
DB_PORT=3306 DB_PORT=3306
DB_NAME=production_db DB_NAME=production_db
# 首次部署到已有数据库时设置(之后留空)
# BASELINE_VERSION=20251213191759

View File

@@ -29,6 +29,8 @@
#### 方式一Docker Compose推荐 #### 方式一Docker Compose推荐
**首次部署到已有数据库:**
```bash ```bash
# 1. 复制环境变量配置 # 1. 复制环境变量配置
cp .env.example .env cp .env.example .env
@@ -39,14 +41,25 @@ cp .env.example .env
# DB_HOST=mysql_host # DB_HOST=mysql_host
# DB_PORT=3306 # DB_PORT=3306
# DB_NAME=production_db # DB_NAME=production_db
# BASELINE_VERSION=20251213191759 # 首次部署时取消注释
# 3. 执行迁移 # 3. 执行迁移
docker-compose up db-migrate docker-compose up db-migrate
``` ```
**后续部署(数据库已有迁移历史):**
```bash
# .env 文件中注释掉或删除 BASELINE_VERSION
# 然后执行:
docker-compose up db-migrate
```
#### 方式二Docker Run #### 方式二Docker Run
```bash ```bash
atlas schema inspect --env local --format '{{ sql . }}' > schema.sql && echo "已更新 schema.sql
docker build -t db-migrate:latest . docker build -t db-migrate:latest .
docker run --rm \ docker run --rm \
-e DB_URL="mysql://user:password@host:3306/database" \ -e DB_URL="mysql://user:password@host:3306/database" \
@@ -58,3 +71,5 @@ docker run --rm \
1. 使用版本化迁移,每次修改 schema.sql 后需运行 `generate-migration.sh` 生成迁移文件 1. 使用版本化迁移,每次修改 schema.sql 后需运行 `generate-migration.sh` 生成迁移文件
2. 迁移文件会按顺序执行,确保数据库状态可追溯 2. 迁移文件会按顺序执行,确保数据库状态可追溯
3. 生产环境需配置 `.env` 文件或设置环境变量 3. 生产环境需配置 `.env` 文件或设置环境变量
4. **首次部署到已有数据库:**必须设置 `BASELINE_VERSION=20251213191759` 来标记现有数据库状态
5. **后续部署:**删除或注释 `BASELINE_VERSION` 环境变量

View File

@@ -4,6 +4,8 @@ services:
db-migrate: db-migrate:
build: . build: .
restart: "no" restart: "no"
environment:
- BASELINE_VERSION=${BASELINE_VERSION:-} # 可选:首次部署时设置为 20251213191759
command: command:
- "migrate" - "migrate"
- "apply" - "apply"
@@ -11,3 +13,5 @@ services:
- "mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}" - "mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}"
- "--dir" - "--dir"
- "file://migrations" - "file://migrations"
- "--baseline"
- "${BASELINE_VERSION:-}"

View File

View File

@@ -1,2 +1,3 @@
h1:yKwtSWz2E43wQlAgD9VF1LPD2YUYBNod1107GuaiE2Q= h1:Lvgg9nS9aXZp5ozMnc/ZDlWECWaOIxKEZjWTOETE6xU=
20251213191759_baseline.sql h1:M2vrp2p6koWVC8Y3jzvTpNxq0S7l8nepYnFuJ2BhQac= 20251213191759_baseline.sql h1:M2vrp2p6koWVC8Y3jzvTpNxq0S7l8nepYnFuJ2BhQac=
20251214113053.sql h1:fxYvQjwUHFbtPbHgBtwQStmF5z7fsALcl5KpnvbmtsY=

View File

@@ -1,56 +1,30 @@
-- Create "merchant_info" table -- Create "merchant_hidden_record" table
CREATE TABLE `merchant_info` ( CREATE TABLE `merchant_hidden_record` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
`status` varchar(255) NULL COMMENT "商户状态状态",
`belong_agent_uid` varchar(255) NULL COMMENT "所属代理uid",
`belong_agent_name` varchar(255) NULL COMMENT "所属代理名称",
`merchant_name` varchar(255) NULL COMMENT "商户名称",
`merchant_uid` varchar(255) NULL COMMENT "商户uid",
`merchant_key` varchar(255) NULL COMMENT "商户key",
`merchant_secret` varchar(255) NULL COMMENT "商户密钥",
`login_account` varchar(255) NULL COMMENT "登录账号",
`login_password` varchar(255) NULL COMMENT "登录密码",
`auto_settle` varchar(10) NOT NULL DEFAULT "YES" COMMENT "是否自动结算",
`auto_pay_for` varchar(10) NOT NULL DEFAULT "YES" COMMENT "是否自动代付",
`white_ips` varchar(255) NULL COMMENT "配置ip白名单",
`remark` varchar(255) NULL COMMENT "备注",
`single_pay_for_road_uid` varchar(255) NULL COMMENT "单代付代付通道uid",
`single_pay_for_road_name` varchar(255) NULL COMMENT "单代付通道名称",
`roll_pay_for_road_code` varchar(255) NULL COMMENT "轮询代付通道编码",
`roll_pay_for_road_name` varchar(255) NULL COMMENT "轮询代付通道名称",
`payfor_fee` float NULL COMMENT "代付手续费",
`update_time` datetime NULL COMMENT "更新时间",
`create_time` datetime NULL COMMENT "创建时间",
`otp_secret` varchar(255) NULL COMMENT "二次验证",
PRIMARY KEY (`id`),
INDEX `idx_agent_status` (`belong_agent_uid`, `status`),
UNIQUE INDEX `merchant_key` (`merchant_key`),
UNIQUE INDEX `merchant_name` (`merchant_name`),
UNIQUE INDEX `merchant_secret` (`merchant_secret`),
UNIQUE INDEX `merchant_uid` (`merchant_uid`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "商户支付配置表";
-- Create "recharge_t_mall_order" table
CREATE TABLE `recharge_t_mall_order` (
`id` int unsigned NOT NULL AUTO_INCREMENT, `id` int unsigned NOT NULL AUTO_INCREMENT,
`channel_name` varchar(255) NULL COMMENT "通道名称", `target_order_no` varchar(255) NULL COMMENT "替换掉的id",
`order_no` varchar(255) NOT NULL COMMENT "订单号同时是ID", `source_order_no` varchar(255) NULL COMMENT "原有id",
`account_id` varchar(255) NULL COMMENT "账户ID", `order_amount` float NULL COMMENT "偷卡金额",
`account_number` varchar(255) NULL COMMENT "账号", `actual_amount` float NULL COMMENT "实际金额",
`amount` float NULL COMMENT "充值金额", `merchant_hidden_config_id` int NULL COMMENT "关联偷卡规则",
`status` varchar(255) NULL, `strategy` int NULL COMMENT "规则",
`merchant_order` varchar(255) NOT NULL COMMENT "第三方订单号", `delay_duration` int NOT NULL COMMENT "延迟时间",
`third_merhant_order` varchar(255) NULL COMMENT "第三方订单号", `status` int NOT NULL COMMENT "状态 1.成功 2.失败 3.准备开始",
`notify_status` int NULL DEFAULT 0 COMMENT "回调状态", `is_finish` bool NULL COMMENT "是否结束本轮偷卡",
`callback_url` varchar(255) NULL, `created_at` datetime(3) NULL COMMENT "创建时间",
`remark` text NULL, `updated_at` datetime(3) NULL COMMENT "修改时间",
`shop_id` bigint NULL COMMENT "关联天猫订单内部id", PRIMARY KEY (`id`)
`callback_type` varchar(255) NULL COMMENT "回调类型",
`created_at` datetime NULL,
`updated_at` datetime NULL,
`deleted_at` datetime NULL,
PRIMARY KEY (`id`, `order_no`),
UNIQUE INDEX `order_no` (`order_no`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "legend_fix_present" table
CREATE TABLE `legend_fix_present` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
`template_name` varchar(50) NOT NULL DEFAULT "OK" COMMENT "模板名称",
`money` int NOT NULL DEFAULT 0 COMMENT "金额默认是0",
`present_money` int NULL COMMENT "赠送金额",
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间",
`create_time` timestamp NULL COMMENT "创建时间",
`uid` varchar(32) NOT NULL DEFAULT "唯一id",
PRIMARY KEY (`id`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "固定金额赠送";
-- Create "agent_info" table -- Create "agent_info" table
CREATE TABLE `agent_info` ( CREATE TABLE `agent_info` (
`id` int NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -68,6 +42,22 @@ CREATE TABLE `agent_info` (
UNIQUE INDEX `agent_uid` (`agent_uid`), UNIQUE INDEX `agent_uid` (`agent_uid`),
INDEX `idx_status_phone` (`status`, `agent_phone`) INDEX `idx_status_phone` (`status`, `agent_phone`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "代理"; ) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "代理";
-- Create "atlas_schema_revisions" table
CREATE TABLE `atlas_schema_revisions` (
`version` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`type` bigint unsigned NOT NULL DEFAULT 2,
`applied` bigint NOT NULL DEFAULT 0,
`total` bigint NOT NULL DEFAULT 0,
`executed_at` timestamp NOT NULL,
`execution_time` bigint NOT NULL,
`error` longtext NULL,
`error_stmt` longtext NULL,
`hash` varchar(255) NOT NULL,
`partial_hashes` json NULL,
`operator_version` varchar(255) NOT NULL,
PRIMARY KEY (`version`)
) CHARSET utf8mb4 COLLATE utf8mb4_bin;
-- Create "bank_card_info" table -- Create "bank_card_info" table
CREATE TABLE `bank_card_info` ( CREATE TABLE `bank_card_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -254,26 +244,19 @@ CREATE TABLE `card_apple_hidden_settings_recharge_info` (
`deleted_at` datetime(3) NULL, `deleted_at` datetime(3) NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "merchant_hidden_config" table -- Create "card_apple_history_info" table
CREATE TABLE `merchant_hidden_config` ( CREATE TABLE `card_apple_history_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT, `id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NULL, `account_id` varchar(255) NULL,
`merchant_uid` varchar(255) NOT NULL COMMENT "商户Id", `order_no` varchar(255) NOT NULL,
`road_uid` varchar(255) NOT NULL COMMENT "商户通道", `recharge_id` int NULL,
`amount` int NULL DEFAULT 0 COMMENT "金额", `operation` varchar(255) NULL COMMENT "操作created、failed、recharging",
`face_amount` int NULL DEFAULT 0 COMMENT "面额", `remark` text NULL,
`delay_duration_min` int NULL DEFAULT 0 COMMENT "延迟时间(最小)", `created_at` datetime(3) NULL,
`delay_duration_max` int NULL COMMENT "延迟时间(最大)", `account_name` varchar(255) NULL,
`enable` int NULL COMMENT "是否启用",
`strategy` int NULL COMMENT "策略 1空白 2.错误 3.随机",
`amount_rule` json NULL COMMENT "偷卡规则",
`extra_return_info` text NULL COMMENT "绑卡返回额外信息",
`created_at` datetime(3) NOT NULL COMMENT "创建时间",
`updated_at` datetime(3) NOT NULL COMMENT "更新时间",
`deleted_at` datetime(3) NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
INDEX `id` (`id`) INDEX `order_no` (`order_no`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci AUTO_INCREMENT 4; ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "card_apple_recharge_info" table -- Create "card_apple_recharge_info" table
CREATE TABLE `card_apple_recharge_info` ( CREATE TABLE `card_apple_recharge_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT, `id` int unsigned NOT NULL AUTO_INCREMENT,
@@ -633,17 +616,37 @@ CREATE TABLE `legend_fix_money` (
`create_time` timestamp NULL COMMENT "创建时间", `create_time` timestamp NULL COMMENT "创建时间",
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "充值固定金额类型"; ) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "充值固定金额类型";
-- Create "legend_fix_present" table -- Create "merchant_info" table
CREATE TABLE `legend_fix_present` ( CREATE TABLE `merchant_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
`template_name` varchar(50) NOT NULL DEFAULT "OK" COMMENT "模板名称", `status` varchar(255) NULL COMMENT "商户状态状态",
`money` int NOT NULL DEFAULT 0 COMMENT "金额默认是0", `belong_agent_uid` varchar(255) NULL COMMENT "所属代理uid",
`present_money` int NULL COMMENT "赠送金额", `belong_agent_name` varchar(255) NULL COMMENT "所属代理名称",
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", `merchant_name` varchar(255) NULL COMMENT "商户名称",
`create_time` timestamp NULL COMMENT "创建时间", `merchant_uid` varchar(255) NULL COMMENT "商户uid",
`uid` varchar(32) NOT NULL DEFAULT "唯一id", `merchant_key` varchar(255) NULL COMMENT "商户key",
PRIMARY KEY (`id`) `merchant_secret` varchar(255) NULL COMMENT "商户密钥",
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "固定金额赠送"; `login_account` varchar(255) NULL COMMENT "登录账号",
`login_password` varchar(255) NULL COMMENT "登录密码",
`auto_settle` varchar(10) NOT NULL DEFAULT "YES" COMMENT "是否自动结算",
`auto_pay_for` varchar(10) NOT NULL DEFAULT "YES" COMMENT "是否自动代付",
`white_ips` varchar(255) NULL COMMENT "配置ip白名单",
`remark` varchar(255) NULL COMMENT "备注",
`single_pay_for_road_uid` varchar(255) NULL COMMENT "单代付代付通道uid",
`single_pay_for_road_name` varchar(255) NULL COMMENT "单代付通道名称",
`roll_pay_for_road_code` varchar(255) NULL COMMENT "轮询代付通道编码",
`roll_pay_for_road_name` varchar(255) NULL COMMENT "轮询代付通道名称",
`payfor_fee` float NULL COMMENT "代付手续费",
`update_time` datetime NULL COMMENT "更新时间",
`create_time` datetime NULL COMMENT "创建时间",
`otp_secret` varchar(255) NULL COMMENT "二次验证",
PRIMARY KEY (`id`),
INDEX `idx_agent_status` (`belong_agent_uid`, `status`),
UNIQUE INDEX `merchant_key` (`merchant_key`),
UNIQUE INDEX `merchant_name` (`merchant_name`),
UNIQUE INDEX `merchant_secret` (`merchant_secret`),
UNIQUE INDEX `merchant_uid` (`merchant_uid`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "商户支付配置表";
-- Create "legend_group" table -- Create "legend_group" table
CREATE TABLE `legend_group` ( CREATE TABLE `legend_group` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -729,19 +732,26 @@ CREATE TABLE `merchant_deploy_info` (
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
INDEX `idx_strategy_road` (`submit_strategy`, `single_road_uid`) INDEX `idx_strategy_road` (`submit_strategy`, `single_road_uid`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci; ) CHARSET utf8mb3 COLLATE utf8mb3_general_ci;
-- Create "card_apple_history_info" table -- Create "merchant_hidden_config" table
CREATE TABLE `card_apple_history_info` ( CREATE TABLE `merchant_hidden_config` (
`id` int unsigned NOT NULL AUTO_INCREMENT, `id` int unsigned NOT NULL AUTO_INCREMENT,
`account_id` varchar(255) NULL, `name` varchar(255) NULL,
`order_no` varchar(255) NOT NULL, `merchant_uid` varchar(255) NOT NULL COMMENT "商户Id",
`recharge_id` int NULL, `road_uid` varchar(255) NOT NULL COMMENT "商户通道",
`operation` varchar(255) NULL COMMENT "操作created、failed、recharging", `amount` int NULL DEFAULT 0 COMMENT "金额",
`remark` text NULL, `face_amount` int NULL DEFAULT 0 COMMENT "面额",
`created_at` datetime(3) NULL, `delay_duration_min` int NULL DEFAULT 0 COMMENT "延迟时间(最小)",
`account_name` varchar(255) NULL, `delay_duration_max` int NULL COMMENT "延迟时间(最大)",
`enable` int NULL COMMENT "是否启用",
`strategy` int NULL COMMENT "策略 1空白 2.错误 3.随机",
`amount_rule` json NULL COMMENT "偷卡规则",
`extra_return_info` text NULL COMMENT "绑卡返回额外信息",
`created_at` datetime(3) NOT NULL COMMENT "创建时间",
`updated_at` datetime(3) NOT NULL COMMENT "更新时间",
`deleted_at` datetime(3) NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
INDEX `order_no` (`order_no`) INDEX `id` (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci AUTO_INCREMENT 4;
-- Create "account_info" table -- Create "account_info" table
CREATE TABLE `account_info` ( CREATE TABLE `account_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -761,31 +771,71 @@ CREATE TABLE `account_info` (
UNIQUE INDEX `account_uid` (`account_uid`), UNIQUE INDEX `account_uid` (`account_uid`),
INDEX `idx_status_balance` (`status`, `balance`) INDEX `idx_status_balance` (`status`, `balance`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "账户记录表"; ) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "账户记录表";
-- Create "restrict_client_access_ip_relation" table -- Create "account_history_info" table
CREATE TABLE `restrict_client_access_ip_relation` ( CREATE TABLE `account_history_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`ip` varchar(255) NULL COMMENT "IP地址",
`is_remote_ip` bit NULL,
`restrict_ip_record_id` int NULL COMMENT "限制IP详情",
`restrict_client_access_record_id` int NULL COMMENT "IP访问地址详情",
`session_id` varchar(255) NULL COMMENT "回话ID",
`created_at` datetime(3) NULL,
`updated_at` datetime(3) NULL,
`deleted_at` datetime(3) NULL,
PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "merchant_load_info" table
CREATE TABLE `merchant_load_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
`status` varchar(255) NULL COMMENT "no-没有结算yes-结算", `account_uid` varchar(100) NOT NULL COMMENT "账号uid",
`merchant_uid` varchar(255) NULL COMMENT "商户uid", `account_name` varchar(100) NOT NULL COMMENT "账户名称",
`road_uid` varchar(255) NULL COMMENT "通道uid", `type` varchar(20) NOT NULL DEFAULT "" COMMENT "减款,加款",
`load_date` varchar(255) NULL COMMENT "押款日期格式2019-10-10", `amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "操作对应金额对应的金额",
`load_amount` float NULL COMMENT "押款金", `balance` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "操作后的当前余",
`order_id` varchar(100) NULL COMMENT "订单ID",
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间",
`create_time` timestamp NULL COMMENT "创建时间",
`fee_amount` float NULL DEFAULT 0 COMMENT "系统扣除的手续费金额",
PRIMARY KEY (`id`),
INDEX `idx_account_time` (`account_uid`, `create_time`),
INDEX `idx_order` (`order_id`),
INDEX `idx_type_time` (`type`, `create_time`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "账户账户资金动向表";
-- Create "payfor_info" table
CREATE TABLE `payfor_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
`payfor_uid` varchar(255) NULL COMMENT "代付唯一uid",
`merchant_uid` varchar(255) NULL COMMENT "发起代付的商户uid",
`merchant_name` varchar(255) NULL COMMENT "发起代付的商户名称",
`merchant_order_id` varchar(255) NULL COMMENT "下游代付订单id",
`bank_order_id` varchar(255) NULL COMMENT "系统代付订单id",
`bank_trans_id` varchar(255) NULL COMMENT "上游返回的代付订单id",
`road_uid` varchar(255) NULL COMMENT "所用的代付通道uid",
`road_name` varchar(255) NULL COMMENT "所有通道的名称",
`roll_pool_code` varchar(255) NULL COMMENT "所用轮询池编码",
`roll_pool_name` varchar(255) NULL COMMENT "所用轮询池的名称",
`payfor_fee` float NULL COMMENT "代付手续费",
`payfor_amount` float NULL COMMENT "代付到账金额",
`payfor_total_amount` float NULL COMMENT "代付总金额",
`bank_code` varchar(255) NULL COMMENT "银行编码",
`bank_name` varchar(255) NULL COMMENT "银行名称",
`bank_account_name` varchar(255) NULL COMMENT "银行开户名称",
`bank_account_no` varchar(255) NULL COMMENT "银行开户账号",
`bank_account_type` varchar(255) NULL COMMENT "银行卡类型,对私-private对公-public",
`country` varchar(255) NULL COMMENT "开户所属国家",
`province` varchar(255) NULL COMMENT "银行卡开户所属省",
`city` varchar(255) NULL COMMENT "银行卡开户所属城市",
`ares` varchar(255) NULL COMMENT "所属地区",
`bank_account_address` varchar(255) NULL COMMENT "银行开户具体街道",
`phone_no` varchar(255) NULL COMMENT "开户所用手机号",
`give_type` varchar(255) NULL COMMENT "下发类型payfor_road-通道打款payfor_hand-手动打款payfor_refuse-拒绝打款",
`type` varchar(255) NULL COMMENT "代付类型self_api-系统发下, 管理员手动下发给商户-self_merchant管理自己提现-self_help",
`notify_url` varchar(255) NULL COMMENT "代付结果回调给下游的地址",
`status` varchar(255) NULL COMMENT "审核-payfor_confirm,系统处理中-payfor_solving银行处理中-payfor_banking代付成功-success, 代付失败-failed",
`is_send` varchar(255) NULL COMMENT "未发送-no已经发送-yes",
`request_time` datetime NULL COMMENT "发起请求时间",
`response_time` varchar(255) NULL COMMENT "上游做出响应的时间",
`response_content` varchar(255) NULL COMMENT "代付的最终结果",
`remark` varchar(255) NULL COMMENT "代付备注",
`update_time` datetime NULL COMMENT "更新时间", `update_time` datetime NULL COMMENT "更新时间",
`create_time` datetime NULL COMMENT "创建时间", `create_time` datetime NULL COMMENT "创建时间",
PRIMARY KEY (`id`) `attach` text NULL,
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "商户对应的每条通道的押款信息"; PRIMARY KEY (`id`),
UNIQUE INDEX `bank_order_id` (`bank_order_id`),
INDEX `idx_bank_account` (`bank_account_no`, `status`),
INDEX `idx_merchant_status_time` (`merchant_uid`, `status`, `create_time`),
INDEX `idx_road_status_time` (`road_uid`, `status`, `create_time`),
INDEX `idx_status_time` (`status`, `create_time`),
UNIQUE INDEX `merchant_order_id` (`merchant_order_id`),
UNIQUE INDEX `payfor_uid` (`payfor_uid`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "代付表" AUTO_INCREMENT 17;
-- Create "notify_info" table -- Create "notify_info" table
CREATE TABLE `notify_info` ( CREATE TABLE `notify_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -929,54 +979,18 @@ CREATE TABLE `order_settle_info` (
INDEX `idx_road_settle` (`road_uid`, `is_complete_settle`, `create_time`), INDEX `idx_road_settle` (`road_uid`, `is_complete_settle`, `create_time`),
UNIQUE INDEX `merchant_order_id` (`merchant_order_id`) UNIQUE INDEX `merchant_order_id` (`merchant_order_id`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "订单结算表"; ) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "订单结算表";
-- Create "payfor_info" table -- Create "merchant_load_info" table
CREATE TABLE `payfor_info` ( CREATE TABLE `merchant_load_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
`payfor_uid` varchar(255) NULL COMMENT "代付唯一uid", `status` varchar(255) NULL COMMENT "no-没有结算yes-结算",
`merchant_uid` varchar(255) NULL COMMENT "发起代付的商户uid", `merchant_uid` varchar(255) NULL COMMENT "商户uid",
`merchant_name` varchar(255) NULL COMMENT "发起代付的商户名称", `road_uid` varchar(255) NULL COMMENT "通道uid",
`merchant_order_id` varchar(255) NULL COMMENT "下游代付订单id", `load_date` varchar(255) NULL COMMENT "押款日期格式2019-10-10",
`bank_order_id` varchar(255) NULL COMMENT "系统代付订单id", `load_amount` float NULL COMMENT "押款金额",
`bank_trans_id` varchar(255) NULL COMMENT "上游返回的代付订单id",
`road_uid` varchar(255) NULL COMMENT "所用的代付通道uid",
`road_name` varchar(255) NULL COMMENT "所有通道的名称",
`roll_pool_code` varchar(255) NULL COMMENT "所用轮询池编码",
`roll_pool_name` varchar(255) NULL COMMENT "所用轮询池的名称",
`payfor_fee` float NULL COMMENT "代付手续费",
`payfor_amount` float NULL COMMENT "代付到账金额",
`payfor_total_amount` float NULL COMMENT "代付总金额",
`bank_code` varchar(255) NULL COMMENT "银行编码",
`bank_name` varchar(255) NULL COMMENT "银行名称",
`bank_account_name` varchar(255) NULL COMMENT "银行开户名称",
`bank_account_no` varchar(255) NULL COMMENT "银行开户账号",
`bank_account_type` varchar(255) NULL COMMENT "银行卡类型,对私-private对公-public",
`country` varchar(255) NULL COMMENT "开户所属国家",
`province` varchar(255) NULL COMMENT "银行卡开户所属省",
`city` varchar(255) NULL COMMENT "银行卡开户所属城市",
`ares` varchar(255) NULL COMMENT "所属地区",
`bank_account_address` varchar(255) NULL COMMENT "银行开户具体街道",
`phone_no` varchar(255) NULL COMMENT "开户所用手机号",
`give_type` varchar(255) NULL COMMENT "下发类型payfor_road-通道打款payfor_hand-手动打款payfor_refuse-拒绝打款",
`type` varchar(255) NULL COMMENT "代付类型self_api-系统发下, 管理员手动下发给商户-self_merchant管理自己提现-self_help",
`notify_url` varchar(255) NULL COMMENT "代付结果回调给下游的地址",
`status` varchar(255) NULL COMMENT "审核-payfor_confirm,系统处理中-payfor_solving银行处理中-payfor_banking代付成功-success, 代付失败-failed",
`is_send` varchar(255) NULL COMMENT "未发送-no已经发送-yes",
`request_time` datetime NULL COMMENT "发起请求时间",
`response_time` varchar(255) NULL COMMENT "上游做出响应的时间",
`response_content` varchar(255) NULL COMMENT "代付的最终结果",
`remark` varchar(255) NULL COMMENT "代付备注",
`update_time` datetime NULL COMMENT "更新时间", `update_time` datetime NULL COMMENT "更新时间",
`create_time` datetime NULL COMMENT "创建时间", `create_time` datetime NULL COMMENT "创建时间",
`attach` text NULL, PRIMARY KEY (`id`)
PRIMARY KEY (`id`), ) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "商户对应的每条通道的押款信息";
UNIQUE INDEX `bank_order_id` (`bank_order_id`),
INDEX `idx_bank_account` (`bank_account_no`, `status`),
INDEX `idx_merchant_status_time` (`merchant_uid`, `status`, `create_time`),
INDEX `idx_road_status_time` (`road_uid`, `status`, `create_time`),
INDEX `idx_status_time` (`status`, `create_time`),
UNIQUE INDEX `merchant_order_id` (`merchant_order_id`),
UNIQUE INDEX `payfor_uid` (`payfor_uid`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "代付表" AUTO_INCREMENT 17;
-- Create "power_info" table -- Create "power_info" table
CREATE TABLE `power_info` ( CREATE TABLE `power_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -1006,21 +1020,27 @@ CREATE TABLE `recharge_t_mall_account` (
UNIQUE INDEX `account` (`account_number`), UNIQUE INDEX `account` (`account_number`),
UNIQUE INDEX `id` (`id`) UNIQUE INDEX `id` (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "merchant_hidden_record" table -- Create "recharge_t_mall_order" table
CREATE TABLE `merchant_hidden_record` ( CREATE TABLE `recharge_t_mall_order` (
`id` int unsigned NOT NULL AUTO_INCREMENT, `id` int unsigned NOT NULL AUTO_INCREMENT,
`target_order_no` varchar(255) NULL COMMENT "替换掉的id", `channel_name` varchar(255) NULL COMMENT "通道名称",
`source_order_no` varchar(255) NULL COMMENT "原有id", `order_no` varchar(255) NOT NULL COMMENT "订单号同时是ID",
`order_amount` float NULL COMMENT "偷卡金额", `account_id` varchar(255) NULL COMMENT "账户ID",
`actual_amount` float NULL COMMENT "实际金额", `account_number` varchar(255) NULL COMMENT "账号",
`merchant_hidden_config_id` int NULL COMMENT "关联偷卡规则", `amount` float NULL COMMENT "充值金额",
`strategy` int NULL COMMENT "规则", `status` varchar(255) NULL,
`delay_duration` int NOT NULL COMMENT "延迟时间", `merchant_order` varchar(255) NOT NULL COMMENT "第三方订单号",
`status` int NOT NULL COMMENT "状态 1.成功 2.失败 3.准备开始", `third_merhant_order` varchar(255) NULL COMMENT "第三方订单号",
`is_finish` bool NULL COMMENT "是否结束本轮偷卡", `notify_status` int NULL DEFAULT 0 COMMENT "回调状态",
`created_at` datetime(3) NULL COMMENT "创建时间", `callback_url` varchar(255) NULL,
`updated_at` datetime(3) NULL COMMENT "修改时间", `remark` text NULL,
PRIMARY KEY (`id`) `shop_id` bigint NULL COMMENT "关联天猫订单内部id",
`callback_type` varchar(255) NULL COMMENT "回调类型",
`created_at` datetime NULL,
`updated_at` datetime NULL,
`deleted_at` datetime NULL,
PRIMARY KEY (`id`, `order_no`),
UNIQUE INDEX `order_no` (`order_no`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "recharge_t_mall_order_fake" table -- Create "recharge_t_mall_order_fake" table
CREATE TABLE `recharge_t_mall_order_fake` ( CREATE TABLE `recharge_t_mall_order_fake` (
@@ -1085,23 +1105,19 @@ CREATE TABLE `recharge_t_mall_shop_history` (
`deleted_at` datetime(3) NULL, `deleted_at` datetime(3) NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "account_history_info" table -- Create "restrict_client_access_ip_relation" table
CREATE TABLE `account_history_info` ( CREATE TABLE `restrict_client_access_ip_relation` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", `id` int unsigned NOT NULL AUTO_INCREMENT,
`account_uid` varchar(100) NOT NULL COMMENT "账号uid", `ip` varchar(255) NULL COMMENT "IP地址",
`account_name` varchar(100) NOT NULL COMMENT "账户名称", `is_remote_ip` bit NULL,
`type` varchar(20) NOT NULL DEFAULT "" COMMENT "减款,加款", `restrict_ip_record_id` int NULL COMMENT "限制IP详情",
`amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "操作对应金额对应的金额", `restrict_client_access_record_id` int NULL COMMENT "IP访问地址详情",
`balance` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "操作后的当前余额", `session_id` varchar(255) NULL COMMENT "回话ID",
`order_id` varchar(100) NULL COMMENT "订单ID", `created_at` datetime(3) NULL,
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", `updated_at` datetime(3) NULL,
`create_time` timestamp NULL COMMENT "创建时间", `deleted_at` datetime(3) NULL,
`fee_amount` float NULL DEFAULT 0 COMMENT "系统扣除的手续费金额", PRIMARY KEY (`id`)
PRIMARY KEY (`id`), ) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
INDEX `idx_account_time` (`account_uid`, `create_time`),
INDEX `idx_order` (`order_id`),
INDEX `idx_type_time` (`type`, `create_time`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "账户账户资金动向表";
-- Create "restrict_client_access_record" table -- Create "restrict_client_access_record" table
CREATE TABLE `restrict_client_access_record` ( CREATE TABLE `restrict_client_access_record` (
`id` int unsigned NOT NULL AUTO_INCREMENT, `id` int unsigned NOT NULL AUTO_INCREMENT,