diff --git a/atlas.hcl b/atlas.hcl index 71ee94b..20905f2 100644 --- a/atlas.hcl +++ b/atlas.hcl @@ -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 { + // 留空或只包含已知属性 + } +} \ No newline at end of file diff --git a/migrations/20251214114930.sql b/migrations/20251214114930.sql new file mode 100644 index 0000000..8acaf16 --- /dev/null +++ b/migrations/20251214114930.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS `alembic_version`; \ No newline at end of file diff --git a/migrations/20251214115931.sql b/migrations/20251214115931.sql new file mode 100644 index 0000000..8acaf16 --- /dev/null +++ b/migrations/20251214115931.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS `alembic_version`; \ No newline at end of file diff --git a/migrations/atlas.sum b/migrations/atlas.sum index 148556d..db0ac79 100644 --- a/migrations/atlas.sum +++ b/migrations/atlas.sum @@ -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= diff --git a/schema.sql b/schema.sql index 1c239fc..df82695 100644 --- a/schema.sql +++ b/schema.sql @@ -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",