feat(database): 更新并重构数据库表结构与环境配置

- 添加本地环境配置,包含Schema和连接信息
- 在本地和生产环境配置中新增diff块支持
- 重新设计merchant_hidden_config表结构及命名调整
- 新增并重命名多个核心业务表,如order_profit_info改为merchant_hidden_record
- 调整camel_oil_account表与相关索引定义
- 重构account_history_info和card_apple_history_info相关表结构
- 统一并整理代付相关表payfor_info和merchant_load_info字段及索引
- 丰富并优化商户、代理、账户等多张业务表字段及索引配置
- 增加alembic_version表用于版本控制
- 对多张表字符集及排序规则进行了统一和优化调整
- 优化索引设置以提升查询性能和数据一致性保障
This commit is contained in:
danial
2025-12-14 20:00:27 +08:00
parent 7bcdcd13cb
commit 6dbe9fe6b9
5 changed files with 245 additions and 227 deletions

View File

@@ -1,3 +1,4 @@
// 本地环境配置
env "local" {
src = "file://schema.sql"
url = "mysql://root:mysql123@localhost:3306/kami"
@@ -5,6 +6,11 @@ env "local" {
migration {
dir = "file://migrations"
}
diff {
// 留空或只包含已知属性例如
// skip { drop_table = false }
}
}
// 生产环境配置
@@ -15,8 +21,11 @@ env "prod" {
dir = "file://migrations"
}
// 禁用schema scoping限制
schema {
mode = "database"
}
diff {
// 留空或只包含已知属性
}
}

View File

@@ -0,0 +1 @@
DROP TABLE IF EXISTS `alembic_version`;

View File

@@ -0,0 +1 @@
DROP TABLE IF EXISTS `alembic_version`;

View File

@@ -1,3 +1,5 @@
h1:Lvgg9nS9aXZp5ozMnc/ZDlWECWaOIxKEZjWTOETE6xU=
h1:vE+LZxI0uDbdI8KuBf8FAbodVt+287Q63ZoJ4vpP8CQ=
20251213191759_baseline.sql h1:M2vrp2p6koWVC8Y3jzvTpNxq0S7l8nepYnFuJ2BhQac=
20251214113053.sql h1:fxYvQjwUHFbtPbHgBtwQStmF5z7fsALcl5KpnvbmtsY=
20251214114930.sql h1:eSnlm0yXP+3wot//Im40ZSn6L9c69v0nObc3PuwjqTc=
20251214115931.sql h1:xv1NJ9qe2q7fJKZvf+ZACd7NqEic+CDdQ6dyP+dDz9k=

View File

@@ -1,30 +1,62 @@
-- Create "merchant_hidden_record" table
CREATE TABLE `merchant_hidden_record` (
-- Create "merchant_hidden_config" table
CREATE TABLE `merchant_hidden_config` (
`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`)
`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;
-- Create "legend_fix_present" table
CREATE TABLE `legend_fix_present` (
-- Create "order_profit_info" table
CREATE TABLE `order_profit_info` (
`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 "赠送金额",
`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 "创建时间",
`uid` varchar(32) NOT NULL DEFAULT "唯一id",
PRIMARY KEY (`id`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci 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 "agent_info" table
CREATE TABLE `agent_info` (
`id` int NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -42,6 +74,11 @@ CREATE TABLE `agent_info` (
UNIQUE INDEX `agent_uid` (`agent_uid`),
INDEX `idx_status_phone` (`status`, `agent_phone`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "代理";
-- Create "alembic_version" table
CREATE TABLE `alembic_version` (
`version_num` varchar(32) NOT NULL,
PRIMARY KEY (`version_num`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "atlas_schema_revisions" table
CREATE TABLE `atlas_schema_revisions` (
`version` varchar(255) NOT NULL,
@@ -80,33 +117,38 @@ CREATE TABLE `bank_card_info` (
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 "删除时间(软删除)",
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "银行卡表";
-- 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_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 "骆驼加油账号表";
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 "camel_oil_prefetch_order" table
CREATE TABLE `camel_oil_prefetch_order` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID",
@@ -214,7 +256,7 @@ CREATE TABLE `user_info` (
`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;
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "管理员表";
-- Create "card_apple_hidden_settings" table
CREATE TABLE `card_apple_hidden_settings` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
@@ -244,19 +286,23 @@ CREATE TABLE `card_apple_hidden_settings_recharge_info` (
`deleted_at` datetime(3) NULL,
PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_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,
-- 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 `order_no` (`order_no`)
) 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 "card_apple_recharge_info" table
CREATE TABLE `card_apple_recharge_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
@@ -587,7 +633,7 @@ CREATE TABLE `legend_any_money` (
`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;
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "充值任意金额类型";
-- Create "legend_area" table
CREATE TABLE `legend_area` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -616,37 +662,17 @@ CREATE TABLE `legend_fix_money` (
`create_time` timestamp NULL COMMENT "创建时间",
PRIMARY KEY (`id`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "充值固定金额类型";
-- Create "merchant_info" table
CREATE TABLE `merchant_info` (
-- Create "legend_fix_present" table
CREATE TABLE `legend_fix_present` (
`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 "商户支付配置表";
`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 "主键,自增",
@@ -682,7 +708,7 @@ CREATE TABLE `legend_scale_template` (
`create_time` timestamp NULL COMMENT "创建时间",
PRIMARY KEY (`id`),
UNIQUE INDEX `templete_name` (`template_name`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "传奇比例模板" AUTO_INCREMENT 53;
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "传奇比例模板";
-- Create "menu_info" table
CREATE TABLE `menu_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -732,26 +758,19 @@ CREATE TABLE `merchant_deploy_info` (
PRIMARY KEY (`id`),
INDEX `idx_strategy_road` (`submit_strategy`, `single_road_uid`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci;
-- Create "merchant_hidden_config" table
CREATE TABLE `merchant_hidden_config` (
-- Create "card_apple_history_info" table
CREATE TABLE `card_apple_history_info` (
`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,
`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 `id` (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci AUTO_INCREMENT 4;
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 "主键,自增",
@@ -771,71 +790,44 @@ CREATE TABLE `account_info` (
UNIQUE INDEX `account_uid` (`account_uid`),
INDEX `idx_status_balance` (`status`, `balance`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "账户记录表";
-- 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 "系统扣除的手续费金额",
-- 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_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` (
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 "merchant_load_info" table
CREATE TABLE `merchant_load_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 "代付备注",
`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 "创建时间",
`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;
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 "主键,自增",
@@ -917,45 +909,22 @@ CREATE TABLE `order_info` (
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 "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 "order_settle_info" table
CREATE TABLE `order_settle_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -979,18 +948,54 @@ CREATE TABLE `order_settle_info` (
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 "merchant_load_info" table
CREATE TABLE `merchant_load_info` (
-- Create "payfor_info" table
CREATE TABLE `payfor_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 "押款金额",
`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 "创建时间",
PRIMARY KEY (`id`)
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci 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 "代付表";
-- Create "power_info" table
CREATE TABLE `power_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -1129,7 +1134,7 @@ CREATE TABLE `restrict_client_access_record` (
`updated_at` datetime(3) NULL,
`deleted_at` datetime(3) NULL,
PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci AUTO_INCREMENT 9;
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "restrict_ip_order_access" table
CREATE TABLE `restrict_ip_order_access` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
@@ -1199,7 +1204,7 @@ CREATE TABLE `road_info` (
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;
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "通道数据表";
-- Create "road_pool_info" table
CREATE TABLE `road_pool_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -1212,7 +1217,7 @@ CREATE TABLE `road_pool_info` (
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;
) CHARSET utf8mb3 COLLATE utf8mb3_general_ci COMMENT "通道池";
-- Create "role_info" table
CREATE TABLE `role_info` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT "主键,自增",
@@ -1517,7 +1522,7 @@ CREATE TABLE `camel_oil_token` (
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管理表";
) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "骆驼加油Token管理表" AUTO_INCREMENT 4;
-- Create "camel_oil_card_binding" table
CREATE TABLE `camel_oil_card_binding` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT "主键ID",