From 0287e64200c8b31221f23e1e0239d30468910315 Mon Sep 17 00:00:00 2001 From: danial Date: Sun, 14 Dec 2025 14:43:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(migration):=20=E6=94=B9=E7=94=A8=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8C=96=E8=BF=81=E7=A7=BB=E7=AE=A1=E7=90=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将声明式 schema.sql 改为期望状态定义 - 新增 migrations/ 目录存放版本化迁移文件 - 更新 atlas.hcl 配置支持版本化迁移路径 - 修改生成迁移脚本 generate-migration.sh 实现差异迁移文件生成 - Dockerfile 支持拷贝 migrations 目录 - docker-compose.yml 调整命令,使用迁移文件夹路径 - 优化 README 文档描述版本化迁移及使用步骤 - 移除无用测试数据库docker-compose.test.yml文件 - 添加初始的 baseline 迁移 SQL 文件,包含完整表结构创建语句 --- .dockerignore | 7 +- Dockerfile | 1 + README.md | 30 +- atlas.hcl | 13 +- docker-compose.test.yml | 58 - docker-compose.yml | 9 +- generate-migration.sh | 10 +- migrations/.gitkeep | 0 migrations/20251213191759_baseline.sql | 1545 ++++++++++++++++++++++++ migrations/atlas.sum | 2 + 10 files changed, 1585 insertions(+), 90 deletions(-) create mode 100644 migrations/.gitkeep create mode 100644 migrations/20251213191759_baseline.sql create mode 100644 migrations/atlas.sum diff --git a/.dockerignore b/.dockerignore index 69fc8c7..e615f38 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,8 +1,7 @@ *.sh -!migrate.sh .git .gitignore .env.local -docker-compose.yml -test-local.sh -generate-migration.sh +docker-compose*.yml +CLAUDE.md +.github diff --git a/Dockerfile b/Dockerfile index d1a9090..5934d95 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ WORKDIR /app COPY atlas.hcl . COPY schema.sql . +COPY migrations/ ./migrations/ # 设置 ENTRYPOINT,使得容器启动时默认运行 Atlas ENTRYPOINT ["/atlas"] diff --git a/README.md b/README.md index c05c306..e9868d2 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,29 @@ -# Atlas 数据库迁移(声明式) +# Atlas 数据库迁移(版本化) ## 文件说明 - `atlas.hcl` - Atlas 配置文件 -- `schema.sql` - 数据库 schema 定义(声明式) +- `schema.sql` - 数据库 schema 定义(期望状态) +- `migrations/` - 版本化迁移文件目录 - `.env.local` - 本地环境配置 - `.env.example` - 生产环境配置示例 -- `generate-migration.sh` - 从本地数据库导出 schema.sql -- `migrate.sh` - 生产环境迁移脚本 -- `test-local.sh` - 本地测试脚本 +- `generate-migration.sh` - 生成新的迁移文件 - `Dockerfile` - Docker 镜像配置 - `docker-compose.yml` - Docker Compose 配置 ## 使用步骤 -### 1. 导出当前数据库 schema +### 1. 修改 schema.sql 定义期望状态 + +直接编辑 `schema.sql` 文件,定义期望的数据库结构。 + +### 2. 生成迁移文件 ```bash ./generate-migration.sh ``` -### 2. 本地测试 - -```bash -./test-local.sh -``` +此命令会对比当前数据库和 schema.sql,生成新的迁移文件到 `migrations/` 目录。 ### 3. 生产环境部署 @@ -51,12 +50,11 @@ docker-compose up db-migrate docker build -t db-migrate:latest . docker run --rm \ -e DB_URL="mysql://user:password@host:3306/database" \ - db-migrate:latest + db-migrate:latest migrate apply --url $DB_URL --dir file://migrations ``` ## 注意事项 -1. 本地测试需修改 `.env.local` 中的 `MYSQL_CONTAINER` 为实际容器名称 -2. 生产环境需配置 `.env` 文件或设置环境变量 -3. 使用声明式迁移,schema.sql 是数据库最终状态 -4. Atlas 自动计算并执行差异变更 +1. 使用版本化迁移,每次修改 schema.sql 后需运行 `generate-migration.sh` 生成迁移文件 +2. 迁移文件会按顺序执行,确保数据库状态可追溯 +3. 生产环境需配置 `.env` 文件或设置环境变量 diff --git a/atlas.hcl b/atlas.hcl index 465a654..71ee94b 100644 --- a/atlas.hcl +++ b/atlas.hcl @@ -1,11 +1,22 @@ env "local" { src = "file://schema.sql" url = "mysql://root:mysql123@localhost:3306/kami" - dev = "mysql://root:mysql123@localhost:3306/atlas_dev" + dev = "mysql://root:mysql123@localhost:3306/kami_dev" + migration { + dir = "file://migrations" + } } // 生产环境配置 env "prod" { url = getenv("DB_URL") src = "file://schema.sql" + migration { + dir = "file://migrations" + } + + // 禁用schema scoping限制 + schema { + mode = "database" + } } diff --git a/docker-compose.test.yml b/docker-compose.test.yml index fb649cd..e69de29 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -1,58 +0,0 @@ -version: "3.8" - -services: - # 测试数据库 - test-mysql: - image: mysql:8.0 - environment: - MYSQL_ROOT_PASSWORD: testpass - MYSQL_DATABASE: testdb - ports: - - "13306:3306" - healthcheck: - test: - [ - "CMD", - "mysqladmin", - "ping", - "-h", - "localhost", - "-u", - "root", - "-ptestpass", - ] - interval: 10s - timeout: 5s - retries: 5 - start_period: 30s - - # 创建 testdb_dev 数据库 - create-dev-db: - image: mysql:8.0 - command: - [ - "sh", - "-c", - "sleep 10 && mysql -h test-mysql -u root -ptestpass -e 'CREATE DATABASE IF NOT EXISTS testdb_dev;'", - ] - depends_on: - test-mysql: - condition: service_healthy - - # 数据库迁移服务 - db-migrate: - build: . - command: - - "schema" - - "apply" - - "--url" - - "mysql://root:testpass@test-mysql:3306/testdb" - - "--to" - - "file://schema.sql" - - "--dev-url" - - "mysql://root:testpass@test-mysql:3306/testdb_dev" - - "--auto-approve" - depends_on: - create-dev-db: - condition: service_completed_successfully - restart: "no" diff --git a/docker-compose.yml b/docker-compose.yml index 420007b..2e52246 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,12 +5,9 @@ services: build: . restart: "no" command: - - "schema" + - "migrate" - "apply" - "--url" - "mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}" - - "--to" - - "file://schema.sql" - - "--dev-url" - - "mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}" - - "--auto-approve" + - "--dir" + - "file://migrations" diff --git a/generate-migration.sh b/generate-migration.sh index a5c5e50..c5e7012 100755 --- a/generate-migration.sh +++ b/generate-migration.sh @@ -2,11 +2,11 @@ set -e -echo "从本地数据库导出 schema.sql..." +echo "生成新的迁移文件..." -atlas schema inspect \ +atlas migrate diff \ --env local \ - --format '{{ sql . }}' > schema.sql + -echo "schema.sql 生成完成!" -wc -l schema.sql +echo "迁移文件生成完成!" +ls -lh migrations/ diff --git a/migrations/.gitkeep b/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/migrations/20251213191759_baseline.sql b/migrations/20251213191759_baseline.sql new file mode 100644 index 0000000..3ea73fb --- /dev/null +++ b/migrations/20251213191759_baseline.sql @@ -0,0 +1,1545 @@ +-- Create "merchant_info" table +CREATE TABLE `merchant_info` ( + `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, + `channel_name` varchar(255) NULL COMMENT "通道名称", + `order_no` varchar(255) NOT NULL COMMENT "订单号,同时是ID", + `account_id` varchar(255) NULL COMMENT "账户ID", + `account_number` varchar(255) NULL COMMENT "账号", + `amount` float NULL COMMENT "充值金额", + `status` varchar(255) NULL, + `merchant_order` varchar(255) NOT NULL COMMENT "第三方订单号", + `third_merhant_order` varchar(255) NULL COMMENT "第三方订单号", + `notify_status` int NULL DEFAULT 0 COMMENT "回调状态", + `callback_url` varchar(255) NULL, + `remark` text NULL, + `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; +-- Create "agent_info" table +CREATE TABLE `agent_info` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `status` varchar(255) NULL COMMENT "代理状态状态", + `agent_name` varchar(255) NULL COMMENT "代理名称", + `agent_password` varchar(255) NULL COMMENT "代理登录密码", + `pay_password` varchar(255) NULL COMMENT "支付密码", + `agent_uid` varchar(255) NULL COMMENT "代理编号", + `agent_phone` varchar(255) NULL COMMENT "代理手机号", + `agent_remark` varchar(255) NULL COMMENT "备注", + `update_time` datetime NULL COMMENT "更新时间", + `create_time` datetime NULL COMMENT "创建时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `agent_name` (`agent_name`), + UNIQUE INDEX `agent_uid` (`agent_uid`), + INDEX `idx_status_phone` (`status`, `agent_phone`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "代理"; +-- Create "bank_card_info" table +CREATE TABLE `bank_card_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `uid` varchar(100) NOT NULL COMMENT "唯一标识", + `user_name` varchar(100) NOT NULL COMMENT "用户名称", + `bank_name` varchar(100) NOT NULL COMMENT "银行名称", + `bank_code` varchar(30) NOT NULL COMMENT "银行编码", + `bank_account_type` varchar(20) NOT NULL COMMENT "银行账号类型", + `account_name` varchar(50) NOT NULL COMMENT "银行账户名称", + `bank_no` varchar(50) NOT NULL COMMENT "银行账号", + `identify_card` varchar(100) NOT NULL COMMENT "证件类型", + `certificate_no` varchar(100) NOT NULL COMMENT "证件号码", + `phone_no` varchar(50) NOT NULL COMMENT "手机号码", + `bank_address` varchar(200) NOT NULL COMMENT "银行地址", + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "最近更新时间", + PRIMARY KEY (`id`), + INDEX `idx_account_name` (`account_name`), + INDEX `idx_bank_no` (`bank_no`), + INDEX `idx_phone` (`phone_no`), + INDEX `idx_user_name` (`user_name`), + UNIQUE INDEX `uid` (`uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "银行卡表" AUTO_INCREMENT 5; +-- Create "camel_oil_account" table +CREATE TABLE `camel_oil_account` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `account_name` varchar(128) NULL COMMENT "账号名称(备注)", + `phone` varchar(20) NULL COMMENT "手机号(登录后记录,不可重复)", + `token` text NULL COMMENT "登录Token", + `status` tinyint NOT NULL DEFAULT 1 COMMENT "状态:1待登录 2在线 3暂停 4已失效 5登录失败", + `token_expire_at` datetime NULL COMMENT "Token过期时间", + `last_login_at` datetime NULL COMMENT "最后登录时间", + `last_used_at` datetime NULL COMMENT "最后使用时间", + `daily_order_count` int NOT NULL DEFAULT 0 COMMENT "当日已下单数量", + `daily_order_date` date NULL COMMENT "当日订单日期", + `total_order_count` int NOT NULL DEFAULT 0 COMMENT "累计下单数量", + `failure_reason` text NULL COMMENT "失败原因", + `remark` text NULL COMMENT "备注信息", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + PRIMARY KEY (`id`), + INDEX `idx_daily_order` (`daily_order_date`, `daily_order_count`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_last_used` (`last_used_at`), + INDEX `idx_status` (`status`), + INDEX `idx_token_expire` (`token_expire_at`), + UNIQUE INDEX `uk_phone` (`phone`) +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油账号表"; +-- Create "camel_oil_prefetch_order" table +CREATE TABLE `camel_oil_prefetch_order` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `account_id` bigint NOT NULL COMMENT "拉取时使用的账号ID", + `account_name` varchar(128) NULL COMMENT "账号名称", + `amount` decimal(10,2) NOT NULL COMMENT "预拉取订单金额", + `platform_order_no` varchar(128) NULL COMMENT "骆驼平台订单号", + `alipay_url` text NULL COMMENT "支付宝支付链接", + `status` tinyint NOT NULL DEFAULT 1 COMMENT "预拉取订单状态:1待匹配 2已匹配 3已过期 4已失效", + `order_no` varchar(64) NULL COMMENT "匹配后的订单号(关联camel_oil_order表的order_no字段)", + `matched_at` datetime NULL COMMENT "匹配时间", + `expire_at` datetime NULL COMMENT "预拉取订单过期时间(通常为24小时后)", + `failure_reason` text NULL COMMENT "失败原因", + `remark` text NULL COMMENT "备注信息", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + PRIMARY KEY (`id`), + INDEX `idx_account_id` (`account_id`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_order_id` (`order_no`), + INDEX `idx_platform_order_no` (`platform_order_no`), + INDEX `idx_status` (`status`), + INDEX `idx_status_expire` (`status`, `expire_at`) +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油预拉取订单表"; +-- Create "camel_oil_prefetch_order_history" table +CREATE TABLE `camel_oil_prefetch_order_history` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `prefetch_id` bigint NOT NULL COMMENT "预拉取订单ID", + `change_type` varchar(32) NOT NULL COMMENT "变更类型:create/fetch/match/expire/invalidate", + `account_id` bigint NULL COMMENT "关联账号ID", + `account_name` varchar(128) NULL COMMENT "账号名称", + `raw_data` text NULL COMMENT "原始响应数据", + `remark` text NULL COMMENT "备注", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + PRIMARY KEY (`id`), + INDEX `idx_account_id` (`account_id`), + INDEX `idx_change_type` (`change_type`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_prefetch_id` (`prefetch_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油预拉取订单历史表"; +-- Create "card_apple_account_info" table +CREATE TABLE `card_apple_account_info` ( + `id` varchar(255) NOT NULL COMMENT "主键", + `account` varchar(255) NULL COMMENT "账户", + `password` varchar(255) NULL COMMENT "密码", + `balance` float unsigned NOT NULL DEFAULT 0 COMMENT "余额", + `balance_itunes` float NOT NULL DEFAULT 0 COMMENT "itunes充值后余额", + `status` int NOT NULL DEFAULT 1 COMMENT "状态 0.停用 1.正常使用(待充值) 2.正在充值 3.已达到单日充值限制", + `today_recharge_amount` float unsigned NOT NULL DEFAULT 0 COMMENT "今日充值金额,临时字段,方便查询", + `today_recharge_count` int unsigned NOT NULL DEFAULT 0 COMMENT "今日充值笔数,临时字段,方便查询", + `today_recharge_datetime` datetime NULL COMMENT "今日日期,临时字段,方便查询", + `created_user_id` varchar(255) NULL, + `created_user_role` varchar(255) NULL, + `max_amount_limit` int NOT NULL DEFAULT 0 COMMENT "最大充值限制金额", + `max_count_limit` int NOT NULL DEFAULT 0 COMMENT "最大充值限制次数", + `remark` text NULL COMMENT "备注", + `created_at` datetime(3) NULL COMMENT "创建日期", + `updated_at` datetime(3) NULL COMMENT "更新日期", + `deleted_at` datetime(3) NULL COMMENT "删除日期", + PRIMARY KEY (`id` DESC), + UNIQUE INDEX `id` (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_apple_account_info_history" table +CREATE TABLE `card_apple_account_info_history` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `account_id` varchar(255) NOT NULL COMMENT "账号ID", + `account_name` varchar(255) NULL COMMENT "账号", + `order_no` varchar(255) NULL COMMENT "订单号", + `balance_before_itunes` float NOT NULL DEFAULT 0 COMMENT "itunes充值当前金额", + `balance_before_auto_increment` float NOT NULL DEFAULT 0 COMMENT "钱包自然计算当前金额", + `balance_after_itunes` float NOT NULL DEFAULT 0 COMMENT "itunes充值返回金额", + `balance_after_auto_increment` float NOT NULL DEFAULT 0 COMMENT "订单计算金额", + `amount` float NOT NULL DEFAULT 0 COMMENT "充值金额", + `transaction_type` enum('PLUS','SUB') NULL COMMENT "充值类型", + `description` varchar(255) NULL COMMENT "描述", + `created_user_id` varchar(255) NULL, + `created_at` datetime(3) NOT NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + INDEX `account_id` (`account_id`), + INDEX `account_id,account_name` (`account_id`, `account_name`), + INDEX `account_name` (`account_name`), + INDEX `order_no` (`order_no`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "user_info" table +CREATE TABLE `user_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `user_id` varchar(40) NOT NULL COMMENT "用户登录号", + `passwd` varchar(40) NOT NULL COMMENT "用户登录密码", + `nick` varchar(30) NOT NULL DEFAULT "kity" COMMENT "用户昵称", + `remark` varchar(200) NULL COMMENT "备注", + `ip` varchar(30) NOT NULL DEFAULT "127.0.0.1" COMMENT "用户当前ip", + `status` varchar(10) NOT NULL DEFAULT "active" COMMENT "该用户的状态 active、unactive、delete", + `role` varchar(100) NOT NULL DEFAULT "nothing" COMMENT "管理者分配的角色", + `role_name` varchar(200) NOT NULL DEFAULT "普通操作员" COMMENT "操作员分配的角色名称", + `otp_secret` varchar(255) NULL, + `otp_key` varchar(255) NULL, + `create_time` timestamp NULL COMMENT "创建时间", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "最后一次修改时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `u_user_id` (`user_id`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "管理员表" AUTO_INCREMENT 2; +-- Create "card_apple_hidden_settings" table +CREATE TABLE `card_apple_hidden_settings` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NULL COMMENT "规则名称", + `status` int NULL COMMENT "规则状态", + `target_user_id` varchar(255) NULL COMMENT "待偷取用户ID", + `storage_user_id` varchar(255) NULL COMMENT "待存储用户ID", + `amount` int NULL COMMENT "间隔金额", + `target_amount` int NULL COMMENT "偷取金额", + `steal_total_amount` int NULL COMMENT "偷卡总额", + `interval_time` int unsigned NOT NULL COMMENT "间隔时间", + `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 "card_apple_hidden_settings_recharge_info" table +CREATE TABLE `card_apple_hidden_settings_recharge_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `order_no` varchar(255) NOT NULL COMMENT "旧的订单号", + `target_user_id` varchar(255) NULL COMMENT "待替换的商户", + `storage_user_id` varchar(255) NULL COMMENT "被替换的商户", + `new_order_no` varchar(255) NULL COMMENT "生成的新的订单ID", + `hidden_setting_id` int NULL COMMENT "关联规则", + `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_hidden_config" table +CREATE TABLE `merchant_hidden_config` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NULL, + `merchant_uid` varchar(255) NOT NULL COMMENT "商户Id", + `road_uid` varchar(255) NOT NULL COMMENT "商户通道", + `amount` int NULL DEFAULT 0 COMMENT "金额", + `face_amount` int NULL DEFAULT 0 COMMENT "面额", + `delay_duration_min` int NULL DEFAULT 0 COMMENT "延迟时间(最小)", + `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`), + INDEX `id` (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci AUTO_INCREMENT 4; +-- Create "card_apple_recharge_info" table +CREATE TABLE `card_apple_recharge_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `order_no` varchar(255) NOT NULL COMMENT "订单号", + `account_id` varchar(255) NULL, + `account_name` varchar(255) NULL, + `card_no` varchar(255) NULL COMMENT "卡号", + `card_pass` varchar(255) NULL COMMENT "卡密", + `merchant_id` varchar(255) NULL COMMENT "商户ID", + `balance` float NOT NULL DEFAULT 0 COMMENT "余额", + `card_amount` float NOT NULL DEFAULT 0 COMMENT "卡面充值金额", + `notify_status` int NULL DEFAULT 0, + `status` int NOT NULL COMMENT "状态 0.创建 1.交易成功 2.交易中 3.交易失败", + `actual_amount` float NULL COMMENT "实际充值金额", + `callback_url` varchar(255) NULL, + `callback_count` int NOT NULL DEFAULT 0 COMMENT "itunes回调次数", + `distribution_count` int NOT NULL DEFAULT 0, + `created_user_id` varchar(255) NULL COMMENT "创建者ID", + `attach` text NULL, + `remark` text NULL, + `created_at` datetime(3) NULL COMMENT "创建日期", + `updated_at` datetime(3) NULL COMMENT "更新日期", + `deleted_at` datetime(3) NULL COMMENT "删除日期", + PRIMARY KEY (`id`), + UNIQUE INDEX `card_no` (`order_no`), + UNIQUE INDEX `id` (`id`), + UNIQUE INDEX `order_no` (`order_no`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_redeem_account_deduction" table +CREATE TABLE `card_redeem_account_deduction` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `order_no` varchar(255) NULL COMMENT "订单金额", + `account_id` varchar(255) NULL COMMENT "订单ID", + `operation_status` varchar(255) NULL COMMENT "操作记录", + `balance` float NULL COMMENT "金额", + `created_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + INDEX `idx_account_id` (`account_id`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deduction_account_id` (`account_id`), + INDEX `idx_deduction_created_at` (`created_at`), + INDEX `idx_deduction_operation_status` (`operation_status`), + INDEX `idx_deduction_order_no` (`order_no`), + INDEX `idx_operation_status` (`operation_status`), + INDEX `idx_order_no` (`order_no`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_redeem_account_group" table +CREATE TABLE `card_redeem_account_group` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) NULL COMMENT "分组名称", + `notes` text NULL COMMENT "备注", + `category` varchar(255) NULL COMMENT "分组类别", + `created_user_id` varchar(255) NULL, + `created_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + PRIMARY KEY (`id`), + INDEX `idx_category` (`category`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_created_user_id` (`created_user_id`), + INDEX `idx_group_created_user_id` (`created_user_id`), + INDEX `idx_group_id` (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_redeem_account_history" table +CREATE TABLE `card_redeem_account_history` ( + `id` int NOT NULL AUTO_INCREMENT, + `account_id` varchar(255) NULL COMMENT "账号", + `account_name` varchar(255) NULL, + `cookie` text NULL, + `order_no` varchar(255) NULL COMMENT "订单号", + `amount` float NULL DEFAULT 0 COMMENT "金额变化", + `effective_balance` float NULL DEFAULT 0 COMMENT "余额(自身充值变化)", + `balance` float NULL DEFAULT 0 COMMENT "余额(所有余额)", + `remark` text NULL, + `operation_status` varchar(255) NULL COMMENT "操作状态", + `created_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + INDEX `idx_account_id` (`account_id`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_operation_status` (`operation_status`), + INDEX `idx_order_no` (`order_no`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_redeem_account_info" table +CREATE TABLE `card_redeem_account_info` ( + `id` varchar(255) NOT NULL, + `group_id` int NULL, + `name` varchar(255) NULL, + `cookie` text NULL COMMENT "cookie", + `nickname` varchar(255) NULL COMMENT "用户昵称", + `username` varchar(255) NULL COMMENT "京东用户ID", + `create_user_id` varchar(255) NULL COMMENT "创建人", + `category` varchar(100) NULL COMMENT "账户类型", + `amount_total_sum` float NULL DEFAULT 0 COMMENT "账单所有统计金额", + `amount_today_sum` float NULL DEFAULT 0 COMMENT "账单今日统计金额", + `balance` float NULL COMMENT "余额", + `effective_balance` float NULL DEFAULT 0 COMMENT "有效充值余额", + `status` int NULL COMMENT "状态 1.正常 0.禁用", + `max_count_limit` int NULL COMMENT "账号最大充值次数", + `max_amount_limit` int NULL DEFAULT 0 COMMENT "最大充值限制", + `amount_total_count` int NULL DEFAULT 0, + `amount_today_count` int NULL DEFAULT 0, + `account_status` bit NULL COMMENT "账号是否可用", + `remark` text NULL, + `created_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + INDEX `idx_account_group_id` (`group_id`), + INDEX `idx_account_id` (`id`), + INDEX `idx_account_id_category` (`id`, `category`), + INDEX `idx_account_info_created_at` (`created_at`), + INDEX `idx_account_info_status` (`status`), + INDEX `idx_category` (`category`), + INDEX `idx_create_user_id` (`create_user_id`), + INDEX `idx_group_id` (`group_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_redeem_account_summary" table +CREATE TABLE `card_redeem_account_summary` ( + `id` int NOT NULL AUTO_INCREMENT, + `account_id` varchar(255) NOT NULL, + `amount_total_sum` float NOT NULL DEFAULT 0, + `amount_today_sum` float NOT NULL DEFAULT 0, + `amount_total_count` int NOT NULL DEFAULT 0, + `amount_today_count` int NOT NULL DEFAULT 0, + `date` date NULL, + `category` varchar(255) NULL, + `created_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + INDEX `account` (`account_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_redeem_order_history" table +CREATE TABLE `card_redeem_order_history` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `order_no` varchar(255) NOT NULL, + `account_id` varchar(255) NULL, + `operation_status` int NULL, + `response_raw_data` text NULL, + `amount` float NULL, + `remark` text NULL, + `created_at` datetime(3) NOT NULL, + `updated_at` datetime(3) NOT NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + INDEX `idx_order_history_order_no` (`order_no`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "card_redeem_order_info" table +CREATE TABLE `card_redeem_order_info` ( + `order_no` varchar(255) NOT NULL, + `card_no` varchar(255) NULL COMMENT "卡号", + `merchant_id` varchar(255) NULL, + `attach` varchar(255) NULL, + `created_user_id` varchar(255) NULL COMMENT "创建用户", + `account_id` varchar(255) NULL, + `account_name` varchar(255) NULL COMMENT "账号名称", + `gift_card_pwd` varchar(255) NULL COMMENT "卡密", + `card_type_name` varchar(255) NULL COMMENT "卡种", + `notify_url` varchar(255) NULL COMMENT "回调", + `remark` text NULL COMMENT "备注", + `order_amount` float NULL DEFAULT 0 COMMENT "订单金额", + `actual_amount` float NULL DEFAULT 0 COMMENT "实际金额", + `category` varchar(100) NULL COMMENT "账户类型", + `callback_count` int NULL DEFAULT 0 COMMENT "回调次数", + `notify_status` int NULL DEFAULT 0 COMMENT "回调状态 0没有回调 1.回调成功 2.回调失败", + `status` int NULL COMMENT "1.兑换成功 0.失败", + `order_status` int NULL COMMENT "订单状态 订单原本状态\r\n", + `created_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`order_no`), + INDEX `idx_card_redeem_order_account_id` (`account_id`), + INDEX `idx_card_redeem_order_category_status` (`category`, `order_status`), + INDEX `idx_card_redeem_order_created_at` (`created_at`), + INDEX `idx_order_account_id` (`account_id`), + INDEX `idx_order_category_status` (`category`, `order_status`), + INDEX `idx_order_created_at` (`created_at`), + INDEX `idx_order_info_account_id` (`account_id`), + INDEX `idx_order_info_category` (`category`), + INDEX `idx_order_info_created_at` (`created_at`), + INDEX `idx_order_info_order_no` (`order_no`), + INDEX `idx_order_info_status` (`status`), + INDEX `idx_order_status_category_deleted` (`status`, `category`, `deleted_at`), + INDEX `idx_order_status_orderstatus_createdat` (`status`, `order_status`, `created_at`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "jd_cookie_account" table +CREATE TABLE `jd_cookie_account` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `cookie_id` varchar(64) NOT NULL COMMENT "Cookie唯一标识", + `cookie_value` text NOT NULL COMMENT "Cookie内容", + `account_name` varchar(100) NULL COMMENT "账户名称", + `status` tinyint NOT NULL DEFAULT 1 COMMENT "状态:1正常 2暂停 3失效", + `failure_count` int NULL DEFAULT 0 COMMENT "连续失败次数", + `last_used_at` datetime NULL COMMENT "最后使用时间", + `suspend_until` datetime NULL COMMENT "暂停解除时间", + `remark` varchar(500) NULL COMMENT "备注信息", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间", + PRIMARY KEY (`id`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_last_used` (`last_used_at`), + INDEX `idx_status` (`status`), + INDEX `idx_suspend_until` (`suspend_until`), + UNIQUE INDEX `uk_cookie_id` (`cookie_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "京东Cookie账户表"; +-- Create "jd_cookie_change_history" table +CREATE TABLE `jd_cookie_change_history` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `history_uuid` varchar(36) NOT NULL COMMENT "历史记录唯一标识", + `cookie_id` varchar(64) NOT NULL COMMENT "Cookie ID", + `change_type` varchar(20) NOT NULL COMMENT "变更类型:create,suspend,resume,fail,use,refresh_fail,replaced", + `status_before` tinyint NULL COMMENT "变更前状态", + `status_after` tinyint NULL COMMENT "变更后状态", + `order_id` varchar(64) NULL COMMENT "关联的订单号", + `user_order_id` varchar(64) NULL COMMENT "用户订单号", + `failure_count` int NULL COMMENT "失败次数", + `remark` text NULL COMMENT "备注信息,存储额外的信息", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间", + PRIMARY KEY (`id`), + INDEX `idx_change_type` (`change_type`), + INDEX `idx_cookie_id` (`cookie_id`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_user_order_id` (`user_order_id`), + UNIQUE INDEX `uk_history_uuid` (`history_uuid`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "Cookie变更历史表"; +-- Create "jd_cookie_jd_order" table +CREATE TABLE `jd_cookie_jd_order` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `jd_order_id` varchar(64) NOT NULL COMMENT "京东订单号", + `real_jd_order_id` varchar(128) NULL COMMENT "京东客户端返回的真实订单ID", + `pay_id` varchar(64) NOT NULL COMMENT "支付ID", + `amount` decimal(10,2) NOT NULL COMMENT "订单金额", + `category` varchar(50) NOT NULL COMMENT "商品品类", + `cookie_id` varchar(64) NOT NULL COMMENT "使用的Cookie ID", + `status` tinyint NOT NULL DEFAULT 1 COMMENT "状态:1待支付 2已支付 3已过期 4已取消", + `wx_pay_url` text NULL COMMENT "微信支付链接", + `wx_pay_expire_at` datetime NULL COMMENT "微信支付链接过期时间", + `order_expire_at` datetime NOT NULL COMMENT "订单过期时间(默认24小时)", + `order_id` varchar(64) NULL COMMENT "关联的用户订单号", + `paid_at` datetime NULL COMMENT "支付完成时间", + `card_no` varchar(100) NULL COMMENT "卡号", + `card_password` varchar(100) NULL COMMENT "卡密", + `card_extracted_at` datetime NULL COMMENT "卡密提取时间", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间", + PRIMARY KEY (`id`), + INDEX `idx_cookie_id` (`cookie_id`), + INDEX `idx_current_order` (`order_id`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_order_expire` (`order_expire_at`), + INDEX `idx_status` (`status`), + INDEX `uk_jd_order_id` (`jd_order_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "京东订单表"; +-- Create "jd_cookie_jd_order_change_history" table +CREATE TABLE `jd_cookie_jd_order_change_history` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `history_uuid` varchar(36) NOT NULL COMMENT "历史记录唯一标识", + `jd_order_id` varchar(64) NOT NULL COMMENT "京东订单号", + `change_type` varchar(20) NOT NULL COMMENT "变更类型:create,bind,unbind,pay,expire,invalid,replace", + `order_id` varchar(64) NULL COMMENT "关联的订单号", + `wx_pay_url` text NULL COMMENT "微信支付链接", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间", + `remark` text NULL COMMENT "备注信息", + PRIMARY KEY (`id`), + INDEX `idx_change_type` (`change_type`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_jd_order_id` (`jd_order_id`), + UNIQUE INDEX `uk_history_uuid` (`history_uuid`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "京东订单变更历史表"; +-- Create "jd_cookie_order" table +CREATE TABLE `jd_cookie_order` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `order_id` varchar(64) NOT NULL COMMENT "订单号", + `user_order_id` varchar(64) NULL COMMENT "用户订单号", + `amount` decimal(10,2) NOT NULL COMMENT "订单金额", + `category` varchar(50) NOT NULL COMMENT "商品品类", + `jd_order_id` varchar(64) NULL COMMENT "关联的京东订单号", + `status` tinyint NOT NULL DEFAULT 1 COMMENT "状态:1待支付 2已支付 3已过期 4已取消", + `last_request_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "最后请求时间", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间", + PRIMARY KEY (`id`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_jd_order_id` (`jd_order_id`), + INDEX `idx_last_request` (`last_request_at`), + INDEX `idx_status` (`status`), + INDEX `idx_user_order_id` (`user_order_id`), + UNIQUE INDEX `uk_order_id` (`order_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "订单表"; +-- Create "jd_cookie_order_change_history" table +CREATE TABLE `jd_cookie_order_change_history` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `history_uuid` varchar(36) NOT NULL COMMENT "历史记录唯一标识", + `order_id` varchar(64) NOT NULL COMMENT "订单号", + `change_type` varchar(20) NOT NULL COMMENT "变更类型:create,bind,pay,expire,rebind", + `jd_order_id` varchar(64) NULL COMMENT "关联的京东订单号", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间", + `remark` text NULL COMMENT "备注信息", + PRIMARY KEY (`id`), + INDEX `idx_change_type` (`change_type`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_order_id` (`order_id`), + UNIQUE INDEX `uk_history_uuid` (`history_uuid`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "订单变更历史表"; +-- Create "legend_any_money" table +CREATE TABLE `legend_any_money` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `template_name` varchar(50) NOT NULL DEFAULT "OK" COMMENT "模板名称", + `game_money_name` varchar(30) NULL COMMENT "游戏币名称,默认是元宝,也可以是钻石、点券", + `game_money_scale` int NOT NULL DEFAULT 100 COMMENT "游戏币比例,默认是1:100", + `limit_low` double NOT NULL DEFAULT 10 COMMENT "最低值金额,默认是10元", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "充值任意金额类型" AUTO_INCREMENT 13; +-- Create "legend_area" table +CREATE TABLE `legend_area` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `area_name` varchar(150) NOT NULL DEFAULT "OK" COMMENT "分区名称", + `uid` varchar(50) NOT NULL COMMENT "分区id", + `group_name` varchar(150) NOT NULL COMMENT "分组id", + `notify_url` varchar(1024) NULL COMMENT "通知地址", + `attach_params` varchar(1024) NULL COMMENT "通知参数", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + `template_name` varchar(120) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE INDEX `area_name` (`area_name`), + UNIQUE INDEX `uid` (`uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "分区列表"; +-- Create "legend_fix_money" table +CREATE TABLE `legend_fix_money` ( + `uid` varchar(32) NOT NULL COMMENT "唯一id", + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `template_name` varchar(50) NOT NULL DEFAULT "OK" COMMENT "模板名称", + `price` double NOT NULL DEFAULT 0 COMMENT "售价,默认是0", + `goods_name` varchar(120) NULL COMMENT "商品名称", + `goods_no` varchar(60) NULL COMMENT "商品编号", + `buy_times` int NOT NULL DEFAULT 1 COMMENT "该商品可够次数,默认为1", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "充值固定金额类型"; +-- 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 "legend_group" table +CREATE TABLE `legend_group` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `group_name` varchar(50) NOT NULL DEFAULT "OK" COMMENT "分组名称", + `uid` varchar(50) NOT NULL COMMENT "分组id", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `group_name` (`group_name`), + UNIQUE INDEX `group_uid` (`uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "分组列表"; +-- Create "legend_scale_present" table +CREATE TABLE `legend_scale_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_scale` decimal(20,3) 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 "legend_scale_template" table +CREATE TABLE `legend_scale_template` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `merchant_uid` varchar(32) NOT NULL DEFAULT "" COMMENT "商户uid", + `template_name` varchar(50) NOT NULL DEFAULT "OK" COMMENT "模板名称", + `user_uid` varchar(50) NOT NULL DEFAULT "role" COMMENT "用户标识", + `user_warn` varchar(240) NULL COMMENT "用户标识提醒", + `money_type` varchar(32) NOT NULL DEFAULT "any" COMMENT "金额类型,any-任意金额,fix-固定金额", + `present_type` varchar(32) NOT NULL DEFAULT "close" COMMENT "赠送方式,close-关闭,fix-固定金额的赠送,scale-按按百分比赠送", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `templete_name` (`template_name`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "传奇比例模板" AUTO_INCREMENT 53; +-- Create "menu_info" table +CREATE TABLE `menu_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `menu_order` int unsigned NOT NULL DEFAULT 0 COMMENT "一级菜单的排名顺序", + `menu_uid` varchar(40) NOT NULL COMMENT "一级菜单的唯一标识", + `first_menu` varchar(50) NOT NULL COMMENT "一级菜单名称,字符不能超过50", + `second_menu` text NULL COMMENT "二级菜单名称,每个之间用|隔开", + `creater` varchar(20) NOT NULL COMMENT "创建者的id", + `status` varchar(10) NOT NULL DEFAULT "active" COMMENT "菜单的状态情况,默认是active", + `create_time` timestamp NULL COMMENT "创建时间", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "最近更新时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `u_first_menu` (`first_menu`), + UNIQUE INDEX `u_menu_uid` (`menu_uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "存放左侧栏的菜单"; +-- Create "merchant_deploy_info" table +CREATE TABLE `merchant_deploy_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `status` varchar(20) NOT NULL DEFAULT "active" COMMENT "商户状态状态", + `merchant_uid` varchar(100) NOT NULL COMMENT "商户uid", + `pay_type` varchar(50) NULL COMMENT "支付配置", + `single_road_uid` varchar(100) NULL COMMENT "单通道uid", + `single_road_name` varchar(200) NULL COMMENT "单通道名称", + `single_road_platform_rate` json NOT NULL COMMENT "单通到平台净利率(关系映射)", + `single_road_agent_rate` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "单通到代理净利率", + `roll_road_code` varchar(100) NULL COMMENT "轮询通道编码", + `roll_road_name` varchar(200) NULL COMMENT "轮询通道名称", + `roll_road_platform_rate` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "轮询通道平台净利率", + `roll_road_agent_rate` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "轮询通道代理净利率", + `restrict_area` json NULL COMMENT "限制地区", + `is_loan` varchar(10) NOT NULL DEFAULT "NO" COMMENT "是否押款", + `loan_rate` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "押款比例,默认是0", + `loan_days` int NOT NULL DEFAULT 0 COMMENT "押款的天数,默认0天", + `unfreeze_hour` int NOT NULL DEFAULT 0 COMMENT "每天解款的时间点,默认是凌晨", + `wait_unfreeze_amount` decimal(20,3) NULL COMMENT "等待解款的金额", + `loan_amount` decimal(20,3) NULL COMMENT "押款中的金额", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + `auto_settle` varchar(255) NULL, + `auto_payfor` varchar(255) NULL, + `is_restrict_agent` bit NULL COMMENT "是否检测代理", + `is_restrict_card_pass` bit NULL COMMENT "是否限制卡密", + `is_restrict_device` bit NULL COMMENT "是否限制设备", + `is_restrict_ip` bit NULL COMMENT "是否限制IP", + `is_restrict_internal_ip` bit NULL COMMENT "是否限制局域网IP", + `submit_strategy` enum('DIRECT','POOL') NULL DEFAULT "DIRECT" COMMENT "订单提交策略:DIRECT-直接提交,POOL-缓存在订单池中二次提交", + PRIMARY KEY (`id`), + INDEX `idx_strategy_road` (`submit_strategy`, `single_road_uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci; +-- Create "card_apple_history_info" table +CREATE TABLE `card_apple_history_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `account_id` varchar(255) NULL, + `order_no` varchar(255) NOT NULL, + `recharge_id` int NULL, + `operation` varchar(255) NULL COMMENT "操作:created、failed、recharging", + `remark` text NULL, + `created_at` datetime(3) NULL, + `account_name` varchar(255) NULL, + PRIMARY KEY (`id`), + INDEX `order_no` (`order_no`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "account_info" table +CREATE TABLE `account_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `status` varchar(20) NOT NULL DEFAULT "active" COMMENT "状态", + `account_uid` varchar(100) NOT NULL COMMENT "账户uid,对应为merchant_uid或者agent_uid", + `account_name` varchar(100) NOT NULL COMMENT "账户名称,对应的是merchant_name或者agent_name", + `balance` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "账户余额", + `settle_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "已经结算了的金额", + `loan_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "押款金额", + `wait_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "待结算资金", + `freeze_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "账户冻结金额", + `payfor_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "账户代付中金额", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `account_name` (`account_name`), + UNIQUE INDEX `account_uid` (`account_uid`), + INDEX `idx_status_balance` (`status`, `balance`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "账户记录表"; +-- Create "restrict_client_access_ip_relation" table +CREATE TABLE `restrict_client_access_ip_relation` ( + `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 "主键,自增", + `status` varchar(255) NULL COMMENT "no-没有结算,yes-结算", + `merchant_uid` varchar(255) NULL COMMENT "商户uid", + `road_uid` varchar(255) NULL COMMENT "通道uid", + `load_date` varchar(255) NULL COMMENT "押款日期,格式2019-10-10", + `load_amount` float NULL COMMENT "押款金额", + `update_time` datetime NULL COMMENT "更新时间", + `create_time` datetime NULL COMMENT "创建时间", + PRIMARY KEY (`id`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "商户对应的每条通道的押款信息"; +-- Create "notify_info" table +CREATE TABLE `notify_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `type` varchar(10) NOT NULL COMMENT "支付订单-order, 代付订单-payfor", + `bank_order_id` varchar(50) NOT NULL COMMENT "系统订单id", + `merchant_order_id` varchar(50) NOT NULL COMMENT "下游商户订单id", + `status` varchar(20) NOT NULL DEFAULT "wait" COMMENT "状态字段", + `times` int NOT NULL DEFAULT 0 COMMENT "回调次数", + `url` text NULL COMMENT "回调的url", + `response` text NULL COMMENT "回调返回的结果", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`), + INDEX `idx_bank_order` (`bank_order_id`, `status`), + INDEX `idx_merchant_order` (`merchant_order_id`, `status`), + INDEX `idx_status_time` (`status`, `create_time`), + INDEX `idx_type_status` (`type`, `status`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "支付回调"; +-- Create "order_info" table +CREATE TABLE `order_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `merchant_order_id` varchar(64) NULL COMMENT "商户订单ID", + `shop_name` varchar(255) NULL COMMENT "商品名称", + `order_period` varchar(50) NULL COMMENT "订单有效时间", + `bank_order_id` varchar(64) NULL COMMENT "系统订单ID", + `bank_trans_id` varchar(64) NULL COMMENT "上游流水ID", + `order_amount` decimal(20,2) NULL COMMENT "订单提交金额", + `show_amount` decimal(20,2) NULL COMMENT "待支付金额", + `fact_amount` decimal(20,2) NULL COMMENT "实际支付金额", + `roll_pool_code` varchar(32) NULL COMMENT "轮询池编码", + `roll_pool_name` varchar(64) NULL COMMENT "轮询池名称", + `road_uid` varchar(32) NULL COMMENT "支付通道ID", + `road_name` varchar(64) NULL COMMENT "支付通道名称", + `pay_product_code` varchar(32) NULL COMMENT "上游支付公司编码", + `pay_product_name` varchar(64) NULL COMMENT "上游支付公司名称", + `pay_type_code` varchar(32) NULL COMMENT "支付产品编码", + `pay_type_name` varchar(64) NULL COMMENT "支付产品名称", + `os_type` varchar(32) NULL COMMENT "操作系统类型", + `status` varchar(32) NULL COMMENT "订单支付状态", + `refund` varchar(32) NULL COMMENT "退款状态", + `refund_time` varchar(32) NULL COMMENT "退款操作时间", + `freeze` varchar(32) NULL COMMENT "冻结状态", + `freeze_time` varchar(32) NULL COMMENT "冻结时间", + `unfreeze` varchar(32) NULL COMMENT "是否已解冻", + `unfreeze_time` varchar(32) NULL COMMENT "解冻时间", + `notify_url` varchar(255) NULL COMMENT "回调通知地址", + `merchant_uid` varchar(32) NULL COMMENT "商户ID", + `merchant_name` varchar(64) NULL COMMENT "商户名称", + `agent_uid` varchar(32) NULL COMMENT "代理ID", + `agent_name` varchar(64) NULL COMMENT "代理名称", + `response` text NULL COMMENT "上游返回的结果", + `update_time` datetime(3) NULL COMMENT "更新时间", + `create_time` datetime(3) NULL COMMENT "创建时间", + `ex_value` text NULL COMMENT "扩展字段", + `card_data` text NULL, + `operator` varchar(255) NULL, + `card_return_data` text NULL, + `card_return_time` datetime(3) NULL COMMENT "上游返回数据时间", + `pay_time` datetime NULL, + `ip` varchar(250) NULL COMMENT "ip地址", + `is_ip_restricted` int NULL COMMENT "ip是否被限制", + `transaction_type` varchar(255) NULL, + `is_block` int NULL COMMENT "是否在黑名单中", + `pay_url` text NULL COMMENT "支付链接", + `is_replace` tinyint NULL COMMENT "是否是偷卡的链接", + `is_succeed_by_replace` tinyint NULL DEFAULT 0 COMMENT "0", + `send_count` int NULL DEFAULT 0 COMMENT "核销次数", + `is_amount_different` int NULL DEFAULT 0, + `send_record` text NULL COMMENT "历史记录", + `pool_order_id` varchar(60) NULL, + PRIMARY KEY (`id`), + UNIQUE INDEX `bank_order_id` (`bank_order_id`), + INDEX `idx_merchant_order_id` (`merchant_order_id`), + INDEX `idx_merchant_order_status` (`merchant_uid`, `status`, `create_time`), + FULLTEXT INDEX `idx_order_info_ex_value_fulltext` (`ex_value`), + INDEX `idx_order_info_road_ex_value_text` (`road_uid`, `ex_value` (255)), + INDEX `idx_order_time` (`create_time`), + INDEX `idx_pay_type` (`pay_type_code`, `status`), + INDEX `idx_road` (`road_uid`, `status`, `create_time`), + INDEX `idx_status_time` (`status`, `create_time`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "订单信息表"; +-- Create "order_profit_info" table +CREATE TABLE `order_profit_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `merchant_name` varchar(100) NOT NULL COMMENT "商户名称", + `merchant_uid` varchar(50) NOT NULL COMMENT "商户uid", + `agent_uid` varchar(100) NULL COMMENT "代理uid,表示该商户是谁的代理", + `agent_name` varchar(200) NULL COMMENT "代理名称", + `pay_product_code` varchar(100) NOT NULL COMMENT "支付产品编码", + `pay_product_name` varchar(200) NOT NULL COMMENT "支付产品名称", + `pay_type_code` varchar(50) NOT NULL COMMENT "支付类型编码", + `pay_type_name` varchar(100) NOT NULL COMMENT "支付类型名称", + `status` varchar(20) NOT NULL DEFAULT "wait" COMMENT "等待支付-wait,支付成功-success, 支付失败-failed", + `merchant_order_id` varchar(50) NOT NULL COMMENT "下游商户提交过来的订单id", + `bank_order_id` varchar(50) NOT NULL COMMENT "平台自身的订单id", + `bank_trans_id` varchar(50) NOT NULL COMMENT "上游返回的订单id", + `order_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "订单提交金额", + `show_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "展示在用户面前待支付的金额", + `fact_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "实际支付金额", + `user_in_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "商户入账金额", + `all_profit` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "总的利润,包括上游,平台,代理", + `supplier_rate` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "上游的汇率", + `platform_rate` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "平台自己的手续费率", + `agent_rate` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "代理的手续费率", + `supplier_profit` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "上游的利润", + `platform_profit` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "平台利润", + `agent_profit` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "代理利润", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + `platform_fee` decimal(20,3) NOT NULL DEFAULT 0.000, + PRIMARY KEY (`id`), + UNIQUE INDEX `bank_order_id` (`bank_order_id`), + INDEX `idx_agent_status_time` (`agent_uid`, `status`, `create_time`), + INDEX `idx_merchant_status_time` (`merchant_uid`, `status`, `create_time`), + INDEX `idx_order_profit_bank_order_id` (`bank_order_id`), + INDEX `idx_order_profit_bank_update` (`bank_order_id`, `update_time`), + INDEX `idx_order_profit_update_time` (`update_time`), + INDEX `idx_product_status` (`pay_product_code`, `status`, `create_time`), + UNIQUE INDEX `merchant_order_id` (`merchant_order_id`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "订单利润表"; +-- Create "order_settle_info" table +CREATE TABLE `order_settle_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `pay_product_code` varchar(100) NOT NULL COMMENT "支付产品编码", + `pay_product_name` varchar(200) NOT NULL COMMENT "支付产品名称", + `pay_type_code` varchar(50) NOT NULL COMMENT "支付类型编码", + `pay_type_name` varchar(100) NOT NULL COMMENT "支付类型名称", + `merchant_uid` varchar(100) NOT NULL COMMENT "商户uid,表示订单是哪个商户的", + `road_uid` varchar(50) NOT NULL COMMENT "通道uid", + `merchant_name` varchar(200) NOT NULL COMMENT "商户名称", + `merchant_order_id` varchar(50) NOT NULL COMMENT "下游商户提交过来的订单id", + `bank_order_id` varchar(50) NOT NULL COMMENT "平台自身的订单id", + `settle_amount` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "结算金额", + `is_allow_settle` varchar(10) NOT NULL DEFAULT "yes" COMMENT "是否允许结算,允许-yes,不允许-no", + `is_complete_settle` varchar(10) NOT NULL DEFAULT "no" COMMENT "该笔订单是否结算完毕,没有结算-no,结算完毕-yes", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `bank_order_id` (`bank_order_id`), + INDEX `idx_merchant_settle` (`merchant_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`) +) 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 "更新时间", + `create_time` datetime NULL COMMENT "创建时间", + `attach` text NULL, + 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 "power_info" table +CREATE TABLE `power_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `first_menu_uid` varchar(40) NOT NULL COMMENT "一级菜单的唯一标识", + `second_menu_uid` varchar(40) NOT NULL COMMENT "二级菜单的唯一标识", + `second_menu` varchar(50) NOT NULL COMMENT "二级菜单的名称", + `power_item` varchar(50) NOT NULL COMMENT "权限项的名称", + `power_id` varchar(200) NOT NULL COMMENT "权限的ID", + `creater` varchar(20) NOT NULL COMMENT "创建者的id", + `status` varchar(10) NOT NULL DEFAULT "active" COMMENT "菜单的状态情况,默认是active", + `create_time` timestamp NULL COMMENT "创建时间", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "最近更新时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `u_power_id` (`power_id`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "存放控制页面的一些功能操作"; +-- Create "recharge_t_mall_account" table +CREATE TABLE `recharge_t_mall_account` ( + `id` varchar(255) NOT NULL, + `account_number` varchar(255) NOT NULL COMMENT "账户", + `balance` float NOT NULL DEFAULT 0 COMMENT "余额", + `recharge_times` int NOT NULL DEFAULT 0 COMMENT "充值次数", + `status` enum('enable','disable') NOT NULL COMMENT "状态", + `created_at` datetime NULL COMMENT "创建时间", + `updated_at` datetime NULL COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `account` (`account_number`), + UNIQUE INDEX `id` (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "merchant_hidden_record" table +CREATE TABLE `merchant_hidden_record` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `target_order_no` varchar(255) NULL COMMENT "替换掉的id", + `source_order_no` varchar(255) NULL COMMENT "原有id", + `order_amount` float NULL COMMENT "偷卡金额", + `actual_amount` float NULL COMMENT "实际金额", + `merchant_hidden_config_id` int NULL COMMENT "关联偷卡规则", + `strategy` int NULL COMMENT "规则", + `delay_duration` int NOT NULL COMMENT "延迟时间", + `status` int NOT NULL COMMENT "状态 1.成功 2.失败 3.准备开始", + `is_finish` bool NULL COMMENT "是否结束本轮偷卡", + `created_at` datetime(3) NULL COMMENT "创建时间", + `updated_at` datetime(3) NULL COMMENT "修改时间", + PRIMARY KEY (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "recharge_t_mall_order_fake" table +CREATE TABLE `recharge_t_mall_order_fake` ( + `id` varchar(255) NOT NULL, + `source_of_shop` varchar(255) NULL COMMENT "店铺", + `order_no` varchar(255) NULL COMMENT "订单号", + `category` varchar(255) NULL COMMENT "品类", + `account` varchar(255) NULL COMMENT "充值账号", + `amount` float NULL COMMENT "充值金额", + `top_up_time` datetime(3) NULL COMMENT "充值时间", + `status` int NULL COMMENT "充值状态 0.失败 1.成功", + `created_at` datetime(3) NULL COMMENT "充值时间", + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "recharge_t_mall_order_history" table +CREATE TABLE `recharge_t_mall_order_history` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `order_no` varchar(255) NULL COMMENT "淘宝订单号", + `original_data` text NULL, + `remark` varchar(255) NULL, + `status` varchar(255) NULL, + `source_type` varchar(255) NULL COMMENT "来源,选择淘宝或者阿奇索", + `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 "recharge_t_mall_shop" table +CREATE TABLE `recharge_t_mall_shop` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `order_no` varchar(255) NULL COMMENT "订单号", + `account` varchar(255) NULL COMMENT "充值账号", + `t_mall_order_no` varchar(255) NULL COMMENT "淘宝订单号", + `buyer_nick` varchar(255) NULL COMMENT "买家昵称", + `buyer_rate` bool NULL COMMENT "买家是否评价", + `status` varchar(255) NULL COMMENT "交易状态", + `payment` varchar(255) NULL COMMENT "实付金额", + `total_fee` varchar(255) NULL COMMENT "商品金额", + `pay_time` datetime(3) NULL COMMENT "付款时间", + `trade_status` varchar(255) NULL COMMENT "天猫返回状态", + `buyer_memo` varchar(255) NULL COMMENT "买家备注", + `alipay_no` varchar(255) NULL COMMENT "支付宝交易号", + `buyer_message` varchar(255) NULL COMMENT "买家留言", + `create_time` datetime(3) NULL COMMENT "交易创建时间", + `end_time` datetime(3) NULL COMMENT "交易结束时间", + `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 "recharge_t_mall_shop_history" table +CREATE TABLE `recharge_t_mall_shop_history` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `shop_id` int NULL COMMENT "关联订单", + `raw_data` text NULL COMMENT "原始记录", + `remark` text NULL COMMENT "备注", + `status` varchar(255) NULL COMMENT "操作状态", + `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 "account_history_info" table +CREATE TABLE `account_history_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `account_uid` varchar(100) NOT NULL COMMENT "账号uid", + `account_name` varchar(100) NOT NULL COMMENT "账户名称", + `type` varchar(20) NOT NULL DEFAULT "" COMMENT "减款,加款", + `amount` decimal(20,3) NOT NULL DEFAULT 0.000 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 "restrict_client_access_record" table +CREATE TABLE `restrict_client_access_record` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `visitor_id` varchar(255) NULL COMMENT "访问ID", + `device_model` varchar(255) NULL COMMENT "设备型号", + `user_agent` varchar(255) NULL COMMENT "用户浏览器代理", + `is_use_proxy` bit NULL COMMENT "是否使用代理", + `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 AUTO_INCREMENT 9; +-- Create "restrict_ip_order_access" table +CREATE TABLE `restrict_ip_order_access` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `restrict_ip_id` int NULL COMMENT "关联的IP地址", + `order_no` varchar(255) NULL COMMENT "订单号", + `card_pass` varchar(255) NULL COMMENT "卡密", + `ip` varchar(255) NULL COMMENT "ip地址", + `status` int NULL COMMENT "状态", + `restrict_strategy` json NULL COMMENT "限制策略", + `device_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 "restrict_ip_record" table +CREATE TABLE `restrict_ip_record` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `ip` varchar(255) NULL COMMENT "ip地址", + `ip_province` varchar(255) NULL COMMENT "ip地址所在省份或地区", + `is_public` bit NULL COMMENT "是否是公共地址", + `raw_data` json NULL, + `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 "road_info" table +CREATE TABLE `road_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `status` varchar(20) NOT NULL DEFAULT "active通道状态", + `road_name` varchar(100) NOT NULL COMMENT "通道名称", + `road_uid` varchar(100) NOT NULL COMMENT "通道唯一id", + `remark` varchar(100) NULL COMMENT "备注", + `product_name` varchar(100) NOT NULL COMMENT "上游产品名称", + `product_uid` varchar(100) NOT NULL COMMENT "上游产品编号", + `pay_type` varchar(50) NOT NULL COMMENT "支付类型", + `basic_fee` double NOT NULL COMMENT "基本汇率/成本汇率", + `settle_fee` double NOT NULL COMMENT "代付手续费", + `total_limit` double NOT NULL COMMENT "通道总额度", + `today_limit` double NOT NULL COMMENT "每日最多额度", + `single_min_limit` double NOT NULL COMMENT "单笔最小金额", + `single_max_limit` double NOT NULL COMMENT "单笔最大金额", + `star_hour` int NOT NULL COMMENT "通道开始时间", + `end_hour` int NOT NULL COMMENT "通道结束时间", + `params` text NULL COMMENT "参数json格式", + `today_income` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "当天的收入", + `total_income` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "通道总收入", + `today_profit` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "当天的收益", + `total_profit` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "通道总收益", + `balance` decimal(20,3) NOT NULL DEFAULT 0.000 COMMENT "通道的余额", + `request_all` int NULL DEFAULT 0 COMMENT "请求总次数", + `request_success` int NULL DEFAULT 0 COMMENT "请求成功次数", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL ON UPDATE CURRENT_TIMESTAMP COMMENT "创建时间", + `today_request_all` int NULL, + `today_request_success` int NULL, + `product_code` varchar(255) NULL COMMENT "产品编码", + `payment_html` varchar(255) NULL COMMENT "支付页面模板,需要与前段对齐)", + `transaction_type` varchar(255) NULL, + `is_allow_different_resend` int NULL DEFAULT 0, + `is_repeat_submit` tinyint NULL DEFAULT 1 COMMENT "是否允许重复提交", + PRIMARY KEY (`id`), + INDEX `idx_product` (`product_uid`, `status`), + INDEX `idx_product_code` (`product_code`, `status`), + INDEX `idx_status_type` (`status`, `pay_type`), + INDEX `idx_time_limit` (`star_hour`, `end_hour`), + UNIQUE INDEX `road_name` (`road_name`), + UNIQUE INDEX `road_uid` (`road_uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "通道数据表" AUTO_INCREMENT 43; +-- Create "road_pool_info" table +CREATE TABLE `road_pool_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `status` varchar(20) NOT NULL DEFAULT "active" COMMENT "通道池状态", + `road_pool_name` varchar(100) NOT NULL COMMENT "通道池名称", + `road_pool_code` varchar(100) NOT NULL COMMENT "通道池编号", + `road_uid_pool` text NULL COMMENT "通道池里面的通道uid", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `create_time` timestamp NULL COMMENT "创建时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `road_pool_code` (`road_pool_code`), + UNIQUE INDEX `road_pool_name` (`road_pool_name`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "通道池" AUTO_INCREMENT 2; +-- Create "role_info" table +CREATE TABLE `role_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `role_name` varchar(100) NOT NULL COMMENT "角色名称", + `role_uid` varchar(200) NOT NULL COMMENT "角色唯一标识号", + `show_first_menu` text NOT NULL COMMENT "可以展示的一级菜单名", + `show_first_uid` text NOT NULL COMMENT "可以展示的一级菜单uid", + `show_second_menu` text NOT NULL COMMENT "可以展示的二级菜单名", + `show_second_uid` text NOT NULL COMMENT "可以展示的二级菜单uid", + `show_power` text NOT NULL COMMENT "可以展示的权限项名称", + `show_power_uid` text NOT NULL COMMENT "可以展示的权限项uid", + `remark` text NOT NULL COMMENT "角色描述", + `creater` varchar(20) NOT NULL COMMENT "创建者的id", + `status` varchar(10) NOT NULL DEFAULT "active" COMMENT "菜单的状态情况,默认是active", + `create_time` timestamp NULL COMMENT "创建时间", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "最近更新时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `u_power_name` (`role_name`), + UNIQUE INDEX `u_role_uid` (`role_uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "角色表"; +-- Create "second_menu_info" table +CREATE TABLE `second_menu_info` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增", + `first_menu_order` int unsigned NOT NULL DEFAULT 0 COMMENT "一级菜单对应的顺序", + `menu_order` int unsigned NOT NULL DEFAULT 0 COMMENT "二级菜单的排名顺序", + `first_menu_uid` varchar(40) NOT NULL COMMENT "二级菜单的唯一标识", + `first_menu` varchar(50) NOT NULL COMMENT "一级菜单名称,字符不能超过50", + `second_menu_uid` varchar(40) NOT NULL COMMENT "二级菜单唯一标识", + `second_menu` varchar(225) NOT NULL COMMENT "二级菜单名称", + `second_router` varchar(200) NOT NULL COMMENT "二级菜单路由", + `creater` varchar(20) NOT NULL COMMENT "创建者的id", + `status` varchar(10) NOT NULL DEFAULT "active" COMMENT "菜单的状态情况,默认是active", + `create_time` timestamp NULL COMMENT "创建时间", + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "最近更新时间", + PRIMARY KEY (`id`), + UNIQUE INDEX `u_second_menu` (`second_menu`), + UNIQUE INDEX `u_second_menu_uid` (`second_menu_uid`) +) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "存放左侧栏的二级菜单"; +-- Create "sys_auth_rule" table +CREATE TABLE `sys_auth_rule` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `pid` int unsigned NOT NULL DEFAULT 0 COMMENT "父ID", + `name` varchar(100) NOT NULL DEFAULT "" COMMENT "规则名称", + `title` varchar(50) NOT NULL DEFAULT "" COMMENT "规则名称", + `icon` varchar(300) NOT NULL DEFAULT "" COMMENT "图标", + `condition` varchar(255) NOT NULL DEFAULT "" COMMENT "条件", + `remark` varchar(255) NOT NULL DEFAULT "" COMMENT "备注", + `menu_type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "类型 0目录 1菜单 2按钮", + `weigh` int NOT NULL DEFAULT 0 COMMENT "权重", + `is_hide` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "显示状态", + `path` varchar(100) NOT NULL DEFAULT "" COMMENT "路由地址", + `component` varchar(100) NOT NULL DEFAULT "" COMMENT "组件路径", + `is_link` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "是否外链 1是 0否", + `module_type` varchar(30) NOT NULL DEFAULT "" COMMENT "所属模块", + `model_id` int unsigned NOT NULL DEFAULT 0 COMMENT "模型ID", + `is_iframe` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "是否内嵌iframe", + `is_cached` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "是否缓存", + `redirect` varchar(255) NOT NULL DEFAULT "" COMMENT "路由重定向地址", + `is_affix` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "是否固定", + `link_url` varchar(500) NOT NULL DEFAULT "" COMMENT "链接地址", + `created_at` datetime NULL COMMENT "创建日期", + `updated_at` datetime NULL COMMENT "修改日期", + PRIMARY KEY (`id`), + UNIQUE INDEX `name` (`name`), + INDEX `pid` (`pid`), + INDEX `weigh` (`weigh`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "菜单节点表"; +-- Create "sys_casbin_rule" table +CREATE TABLE `sys_casbin_rule` ( + `ptype` varchar(10) NULL, + `v0` varchar(256) NULL, + `v1` varchar(256) NULL, + `v2` varchar(256) NULL, + `v3` varchar(256) NULL, + `v4` varchar(256) NULL, + `v5` varchar(256) NULL +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci; +-- Create "sys_config_dict" table +CREATE TABLE `sys_config_dict` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NULL, + `key` varchar(255) NOT NULL, + `value` varchar(255) NULL, + `created_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + UNIQUE INDEX `key` (`key`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "sys_role" table +CREATE TABLE `sys_role` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `status` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "状态;0:禁用;1:正常", + `list_order` int unsigned NOT NULL DEFAULT 0 COMMENT "排序", + `name` varchar(20) NOT NULL DEFAULT "" COMMENT "角色名称" COLLATE utf8mb4_unicode_ci, + `remark` varchar(255) NOT NULL DEFAULT "" COMMENT "备注", + `data_scope` tinyint unsigned NOT NULL DEFAULT 3 COMMENT "数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)", + `created_at` datetime NULL COMMENT "创建时间", + `updated_at` datetime NULL COMMENT "更新时间", + PRIMARY KEY (`id`), + INDEX `status` (`status`) +) CHARSET utf8mb4 COLLATE utf8mb4_general_ci COMMENT "角色表"; +-- Create "sys_user" table +CREATE TABLE `sys_user` ( + `id` varchar(255) NOT NULL COMMENT "ID", + `username` varchar(255) NOT NULL COMMENT "账号", + `nick_name` varchar(255) NULL COMMENT "昵称", + `user_password` varchar(255) NOT NULL COMMENT "密码", + `is_admin` int NULL COMMENT "是否是管理员", + `user_salt` varchar(250) NULL, + `user_status` int NULL COMMENT "用户状态", + `otp_key` varchar(255) NULL, + `otp_secret` varchar(255) NULL, + `created_at` datetime NOT NULL, + `updated_at` datetime NULL, + `deleted_at` datetime NULL, + PRIMARY KEY (`id`), + INDEX `idx_user_id` (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "sys_user_config_channel" table +CREATE TABLE `sys_user_config_channel` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `sys_user_id` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL COMMENT "充值通道", + `num` int NULL COMMENT "充值轮询ck个数", + `created_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`), + UNIQUE INDEX `user_info` (`sys_user_id`, `name`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "sys_user_deductions" table +CREATE TABLE `sys_user_deductions` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(255) NULL COMMENT "用户ID", + `order_no` varchar(255) NULL COMMENT "订单编号", + `order_category` varchar(255) NULL COMMENT "订单分类", + `operation_status` varchar(255) NULL COMMENT "操作状态", + `user_payment_id` int NULL COMMENT "用户钱包ID", + `user_payment_record_id` int NULL COMMENT "用户钱包流水记录ID", + `balance` float NULL COMMENT "价格", + `note` text NULL, + `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 "sys_user_login_log" table +CREATE TABLE `sys_user_login_log` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(255) NULL, + `login_name` varchar(255) NULL COMMENT "登录名\n", + `ip_addr` varchar(255) NULL COMMENT "登录IP", + `login_location` varchar(255) NULL COMMENT "登录地点", + `user_agent` varchar(255) NULL, + `browser` varchar(255) NULL, + `os` varchar(255) NULL, + `created_at` datetime NULL COMMENT "登录时间", + `status` int NULL COMMENT "登录状态 1登录成功2登录失败", + `message` varchar(255) NULL, + `login_time` datetime(3) NULL COMMENT "登录时长", + `module` varchar(250) NULL, + PRIMARY KEY (`id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "sys_user_payment" table +CREATE TABLE `sys_user_payment` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `user_id` varchar(255) NOT NULL, + `balance` decimal(20,2) NOT NULL DEFAULT 0.00 COMMENT "余额", + `total_deposits` decimal(20,2) NOT NULL DEFAULT 0.00 COMMENT "总充值金额", + `total_consumption` decimal(20,2) NOT NULL DEFAULT 0.00 COMMENT "总消耗金额", + `last_deposit_time` datetime(3) NULL, + `last_consumption_time` datetime(3) NULL COMMENT "上次消耗时间", + `total_deposit_count` int NOT NULL DEFAULT 0 COMMENT "总充值次数", + `total_consumption_count` int NOT NULL DEFAULT 0 COMMENT "总消耗次数", + `status` enum('Active','Suspended','Closed') NULL COMMENT "0.禁用 1.正常 3.关闭", + `notes` text NULL COMMENT "备注", + `created_at` datetime(3) NOT NULL, + `updated_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + PRIMARY KEY (`id`, `user_id`), + UNIQUE INDEX `id` (`id`), + UNIQUE INDEX `user_id` (`user_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "sys_user_payment_records" table +CREATE TABLE `sys_user_payment_records` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键", + `transaction_id` varchar(255) NOT NULL COMMENT "交易唯一ID", + `payment_id` int NOT NULL COMMENT "钱包ID", + `deduction_id` varchar(255) NULL COMMENT "预扣款ID", + `user_id` varchar(255) NOT NULL, + `amount` decimal(10,2) NOT NULL COMMENT "操作金额", + `transaction_type` enum('deposit','consumption','Manual Adjustment','deduction_return') NOT NULL COMMENT "交易类型 1deposit 2.withdrawal", + `order_no` varchar(255) NULL COMMENT "订单号", + `status` enum('success','fail') NOT NULL COMMENT "交易状态:0.失败 1.成功", + `category` varchar(255) NULL, + `notes` text NULL COMMENT "备注", + `created_at` datetime(3) NULL, + `deleted_at` datetime(3) NULL, + `updated_at` datetime(3) NULL, + PRIMARY KEY (`id`, `transaction_id`), + INDEX `payment_id` (`payment_id`), + UNIQUE INDEX `trans_id` (`id`, `transaction_id`), + INDEX `user_id` (`user_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "task_order_fake" table +CREATE TABLE `task_order_fake` ( + `id` int NOT NULL AUTO_INCREMENT, + `road_uid` varchar(60) NULL, + `bank_order_id` varchar(60) NULL, + `order_amount` float NULL DEFAULT 0 COMMENT "订单金额", + `create_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + PRIMARY KEY (`id`), + INDEX `idx_create_time` (`create_time`), + INDEX `idx_create_time_new` (`create_time`), + INDEX `idx_road_bank` (`road_uid`, `bank_order_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- Create "camel_oil_account_history" table +CREATE TABLE `camel_oil_account_history` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `account_id` bigint NOT NULL COMMENT "账号ID", + `change_type` varchar(32) NOT NULL COMMENT "变更类型:create/login/offline/login_fail/pause/resume/invalidate/order_bind/order_complete/update/delete", + `status_before` tinyint NULL COMMENT "变更前状态", + `status_after` tinyint NULL COMMENT "变更后状态", + `failure_count` int NULL COMMENT "失败次数", + `remark` text NULL COMMENT "备注", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + PRIMARY KEY (`id`), + INDEX `idx_account_id` (`account_id`), + INDEX `idx_change_type` (`change_type`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + CONSTRAINT `fk_camel_oil_account_history_account_id` FOREIGN KEY (`account_id`) REFERENCES `camel_oil_account` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油账号历史表"; +-- Create "camel_oil_order" table +CREATE TABLE `camel_oil_order` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `order_no` varchar(64) NOT NULL COMMENT "系统订单号", + `merchant_order_id` varchar(128) NULL COMMENT "商户订单号", + `account_id` bigint NOT NULL COMMENT "使用的账号ID", + `account_name` varchar(128) NULL COMMENT "账号名称", + `platform_order_no` varchar(128) NULL COMMENT "骆驼平台订单号", + `amount` decimal(10,2) NOT NULL COMMENT "订单金额", + `alipay_url` text NULL COMMENT "支付宝支付链接", + `card_password` varchar(256) NULL COMMENT "卡密", + `card_number` varchar(256) NULL COMMENT "卡号", + `status` tinyint NOT NULL DEFAULT 1 COMMENT "状态:1待支付 2已支付 3支付超时 4下单失败", + `pay_status` tinyint NOT NULL DEFAULT 0 COMMENT "支付状态:0未支付 1已支付 2超时", + `notify_status` tinyint NOT NULL DEFAULT 0 COMMENT "回调状态:0未回调 1已回调 2回调失败", + `notify_count` int NOT NULL DEFAULT 0 COMMENT "回调次数", + `last_check_at` datetime NULL COMMENT "最后检测支付时间", + `paid_at` datetime NULL COMMENT "支付完成时间", + `attach` text NULL COMMENT "附加信息", + `failure_reason` text NULL COMMENT "失败原因", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + PRIMARY KEY (`id`), + INDEX `idx_account_id` (`account_id`), + INDEX `idx_account_status` (`account_id`, `status`), + INDEX `idx_card_number` (`card_number`), + INDEX `idx_card_password` (`card_password`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_merchant_order_id` (`merchant_order_id`), + INDEX `idx_notify_status` (`notify_status`), + INDEX `idx_pay_status` (`pay_status`), + INDEX `idx_platform_order_no` (`platform_order_no`), + INDEX `idx_status` (`status`), + UNIQUE INDEX `uk_order_no` (`order_no`), + CONSTRAINT `fk_camel_oil_order_account_id` FOREIGN KEY (`account_id`) REFERENCES `camel_oil_account` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油订单表"; +-- Create "camel_oil_token" table +CREATE TABLE `camel_oil_token` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `user_id` varchar(64) NOT NULL DEFAULT "" COMMENT "用户ID,空字符串表示管理员创建", + `name` varchar(128) NOT NULL COMMENT "名称", + `phone` varchar(20) NULL COMMENT "绑定的手机号", + `status` tinyint NULL DEFAULT 0 COMMENT "状态:0待验证码 1可用 2已禁用 3已过期 4登录失败", + `login_token` text NULL COMMENT "登录后获取的token", + `login_token_expires_at` datetime NULL COMMENT "登录token过期时间", + `last_login_at` datetime NULL COMMENT "最后登录时间", + `bind_count` int NOT NULL DEFAULT 0 COMMENT "已绑定卡密数量", + `total_bind_amount` decimal(15,2) NOT NULL DEFAULT 0.00 COMMENT "累计绑定金额", + `last_bind_at` datetime NULL COMMENT "最后绑定时间", + `last_used_at` datetime NULL COMMENT "最后使用时间", + `remark` text NULL COMMENT "备注", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + `recharge_limit_amount` decimal(15,2) NULL DEFAULT 0.00 COMMENT "充值金额限制", + `recharge_limit_count` int NULL DEFAULT 0 COMMENT "充值次数限制", + `total_recharge_amount` decimal(15,2) NULL DEFAULT 0.00 COMMENT "总充值金额", + PRIMARY KEY (`id`), + INDEX `idx_bind_count` (`bind_count`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_last_bind_at` (`last_bind_at`), + INDEX `idx_phone` (`phone`), + INDEX `idx_status` (`status`), + INDEX `idx_token_name` (`name`), + INDEX `idx_total_bind_amount` (`total_bind_amount`), + INDEX `idx_user_id` (`user_id`) +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油Token管理表"; +-- Create "camel_oil_card_binding" table +CREATE TABLE `camel_oil_card_binding` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `token_id` bigint NOT NULL COMMENT "Token ID", + `order_id` bigint NOT NULL COMMENT "订单ID", + `card_number` varchar(256) NULL COMMENT "卡号", + `card_password` varchar(256) NULL COMMENT "卡密", + `amount` decimal(10,2) NOT NULL COMMENT "绑定金额", + `remark` text NULL COMMENT "备注", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + PRIMARY KEY (`id`), + INDEX `idx_amount` (`amount`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_order_id` (`order_id`), + INDEX `idx_token_id` (`token_id`), + CONSTRAINT `fk_camel_oil_card_binding_order_id` FOREIGN KEY (`order_id`) REFERENCES `camel_oil_order` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE, + CONSTRAINT `fk_camel_oil_card_binding_token_id` FOREIGN KEY (`token_id`) REFERENCES `camel_oil_token` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油卡密绑定记录表" AUTO_INCREMENT 2; +-- Create "camel_oil_order_history" table +CREATE TABLE `camel_oil_order_history` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID", + `order_no` varchar(64) NOT NULL COMMENT "订单号", + `change_type` varchar(32) NOT NULL COMMENT "变更类型:create/submit/get_pay_url/check_pay/paid/timeout/fail/callback_success/callback_fail", + `account_id` bigint NULL COMMENT "关联账号ID", + `account_name` varchar(128) NULL COMMENT "账号名称", + `raw_data` text NULL COMMENT "原始响应数据", + `remark` text NULL COMMENT "备注", + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间", + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新时间", + `deleted_at` datetime NULL COMMENT "删除时间(软删除)", + PRIMARY KEY (`id`), + INDEX `fk_camel_oil_order_history_account_id` (`account_id`), + INDEX `idx_change_type` (`change_type`), + INDEX `idx_created_at` (`created_at`), + INDEX `idx_deleted_at` (`deleted_at`), + INDEX `idx_order_no` (`order_no`), + CONSTRAINT `fk_camel_oil_order_history_account_id` FOREIGN KEY (`account_id`) REFERENCES `camel_oil_account` (`id`) ON UPDATE RESTRICT ON DELETE SET NULL +) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油订单历史表"; diff --git a/migrations/atlas.sum b/migrations/atlas.sum new file mode 100644 index 0000000..a9dd8de --- /dev/null +++ b/migrations/atlas.sum @@ -0,0 +1,2 @@ +h1:yKwtSWz2E43wQlAgD9VF1LPD2YUYBNod1107GuaiE2Q= +20251213191759_baseline.sql h1:M2vrp2p6koWVC8Y3jzvTpNxq0S7l8nepYnFuJ2BhQac=