This commit is contained in:
2026-05-13 16:14:53 +08:00
commit e90729baae
2084 changed files with 203995 additions and 0 deletions

827
sql/1289/1.sql Normal file
View File

@@ -0,0 +1,827 @@
-- 1) 资金账户表对应“账户余额0元”
CREATE TABLE `hot_fund_account`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`user_id` BIGINT UNSIGNED NULL COMMENT '用户ID',
`account_no` VARCHAR(32) NULL COMMENT '账户编号',
`account_type` TINYINT NULL DEFAULT 1 COMMENT '账户类型1=个人 2=企业',
`balance_amount` DECIMAL(18, 2) NULL DEFAULT 0.00 COMMENT '可用余额',
`status` TINYINT NULL DEFAULT 1 COMMENT '状态1=正常 0=禁用',
`version` INT NULL DEFAULT 0 COMMENT '乐观锁版本号',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_account_no` (`account_no`),
KEY `idx_company_id` (`company_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_company_user_del_status` (`company_id`, `user_id`, `is_deleted`, `status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='资金账户表';
-- 2) 充值订单表(对应:指定充值金额 + 支付方式)
CREATE TABLE `hot_fund_recharge_order`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`account_id` BIGINT UNSIGNED NULL COMMENT '账户ID逻辑外键',
`user_id` BIGINT UNSIGNED NULL COMMENT '用户ID',
`recharge_order_no` VARCHAR(32) NULL COMMENT '充值订单号',
`recharge_amount` DECIMAL(18, 2) NULL COMMENT '充值金额如5.00',
`pay_method` TINYINT NULL COMMENT '支付方式1=微信 2=支付宝 3=银行卡',
`pay_scene` TINYINT NULL DEFAULT 1 COMMENT '支付场景1=H5 2=小程序 3=APP 4=PC',
`pay_status` TINYINT NULL DEFAULT 1 COMMENT '支付状态1=待支付 2=支付中 3=支付成功 4=支付失败 5=已关闭 6=已退款',
`third_trade_no` VARCHAR(64) NULL COMMENT '三方支付流水号',
`paid_time` DATETIME NULL COMMENT '支付成功时间',
`fail_reason` VARCHAR(255) NULL COMMENT '失败原因',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_recharge_order_no` (`recharge_order_no`),
KEY `idx_company_id` (`company_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_pay_status` (`pay_status`),
KEY `idx_paid_time` (`paid_time`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='充值订单表';
-- 3) 订单管理表(对应列表:订单号/用户名/消费型企业/订单类型/产品名称/应付金额/退款金额/实付金额/支付方式/下单时间/支付时间/支付状态)
CREATE TABLE `hot_fund_trade_order`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`account_id` BIGINT UNSIGNED NULL COMMENT '账户ID逻辑外键',
`user_id` BIGINT UNSIGNED NULL COMMENT '用户ID',
`user_name` VARCHAR(64) NULL COMMENT '用户名',
`consumer_company_id` BIGINT UNSIGNED NULL COMMENT '消费型企业ID',
`consumer_company_name` VARCHAR(128) NULL COMMENT '消费型企业名称',
`order_no` VARCHAR(32) NULL COMMENT '订单号',
`order_type` TINYINT NULL COMMENT '订单类型1=拓客订单 2=学习订单 3=短信订单 4=岗前培训订单 5=其他',
`biz_scene` TINYINT NULL COMMENT '业务场景1=学时套餐 2=短信套餐 3=岗前培训套餐 4=岗前活动套餐 5=充值 6=其他',
`product_name` VARCHAR(100) NULL COMMENT '产品名称',
`package_id` BIGINT UNSIGNED NULL COMMENT '学时套餐ID',
`package_name` VARCHAR(100) NULL COMMENT '学时套餐名称(快照)',
`hour_type` TINYINT NULL COMMENT '学时类型1=通用学时 2=其他',
`hour_count` INT NULL COMMENT '学时数量如1/50/100',
`sms_package_id` BIGINT UNSIGNED NULL COMMENT '短信套餐ID',
`sms_package_name` VARCHAR(100) NULL COMMENT '短信套餐名称(快照)',
`sms_count` INT NULL COMMENT '短信条数如1000/3000/5000',
`pre_job_package_id` BIGINT UNSIGNED NULL COMMENT '岗前培训套餐ID',
`pre_job_package_name` VARCHAR(100) NULL COMMENT '岗前培训套餐名称(快照)',
`pre_job_activity_id` BIGINT UNSIGNED NULL COMMENT '岗前活动ID',
`pre_job_activity_name` VARCHAR(100) NULL COMMENT '岗前活动名称(快照)',
`unit_price` DECIMAL(18, 2) NULL COMMENT '单价(元)',
`quantity` INT NULL DEFAULT 1 COMMENT '购买数量',
`payable_amount` DECIMAL(18, 2) NULL COMMENT '应付金额(元)',
`discount_amount` DECIMAL(18, 2) NULL DEFAULT 0.00 COMMENT '优惠金额(元)',
`refund_amount` DECIMAL(18, 2) NULL DEFAULT 0.00 COMMENT '退款金额(元)',
`paid_amount` DECIMAL(18, 2) NULL COMMENT '实付金额(元)',
`pay_method` TINYINT NULL COMMENT '支付方式1=微信 2=支付宝 3=银行卡 4=余额',
`third_trade_no` VARCHAR(64) NULL COMMENT '三方支付流水号',
`order_create_time` DATETIME NULL COMMENT '下单时间',
`pay_time` DATETIME NULL COMMENT '支付时间',
`pay_status` TINYINT NULL DEFAULT 1 COMMENT '支付状态1=待支付 2=已支付 3=已退款 4=已取消 5=已关闭',
`refund_status` TINYINT NULL DEFAULT 0 COMMENT '退款状态0=无退款 1=退款中 2=部分退款 3=全额退款 4=退款失败',
`refund_time` DATETIME NULL COMMENT '退款完成时间',
`cancel_time` DATETIME NULL COMMENT '取消时间',
`close_time` DATETIME NULL COMMENT '关闭时间',
`contract_id` BIGINT UNSIGNED NULL COMMENT '合同ID',
`contract_no` VARCHAR(64) NULL COMMENT '合同编号',
`contract_status` TINYINT NULL COMMENT '合同状态1=草稿 2=已签订 3=已生效 4=已终止 5=已作废',
`contract_sign_time` DATETIME NULL COMMENT '合同签订时间',
`order_source` VARCHAR(64) NULL COMMENT '订单来源(如渠道/来源ID',
`product_snapshot` TEXT NULL COMMENT '产品快照JSON',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_order_no` (`order_no`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_third_trade_no` (`third_trade_no`),
KEY `idx_contract_no` (`contract_no`),
KEY `idx_company_time_status` (`company_id`, `order_create_time`, `pay_status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='订单管理表';
-- 4) 学时套餐表(对应页面:培训学时套餐配置)
CREATE TABLE `hot_hour_package`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`package_code` VARCHAR(32) NULL COMMENT '套餐编码',
`package_name` VARCHAR(100) NULL COMMENT '套餐名称',
`hour_type` TINYINT NULL DEFAULT 1 COMMENT '学时类型1=通用学时 2=其他',
`hour_count` INT NULL COMMENT '学时数如1/50/100',
`origin_price` DECIMAL(18, 2) NULL COMMENT '原价格(元)',
`package_price` DECIMAL(18, 2) NULL COMMENT '套餐价格(元)',
`unit_price` DECIMAL(18, 2) NULL COMMENT '单价(元)',
`valid_start_time` DATETIME NULL COMMENT '活动有效开始时间',
`valid_end_time` DATETIME NULL COMMENT '活动有效结束时间',
`applicable_types` VARCHAR(255) NULL COMMENT '适用类型(多选),逗号拼接',
`package_desc` VARCHAR(500) NULL COMMENT '套餐说明',
`status` TINYINT NULL DEFAULT 1 COMMENT '状态1=启用 0=停用',
`sort_no` INT NULL DEFAULT 0 COMMENT '排序号',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_package_code` (`package_code`),
KEY `idx_company_id` (`company_id`),
KEY `idx_hour_type` (`hour_type`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='学时套餐表';
-- 5) 学时套餐购买记录表(对应页面下单动作)
CREATE TABLE `hot_hour_package_purchase`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`account_id` BIGINT UNSIGNED NULL COMMENT '账户ID逻辑外键',
`user_id` BIGINT UNSIGNED NULL COMMENT '用户ID',
`order_id` BIGINT UNSIGNED NULL COMMENT '订单管理表ID逻辑外键',
`order_no` VARCHAR(32) NULL COMMENT '订单号',
`package_id` BIGINT UNSIGNED NULL COMMENT '学时套餐ID',
`package_name` VARCHAR(100) NULL COMMENT '学时套餐名称(快照)',
`hour_type` TINYINT NULL COMMENT '学时类型1=通用学时 2=其他',
`hour_count` INT NULL COMMENT '学时数',
`origin_price` DECIMAL(18, 2) NULL COMMENT '原价格(元)',
`package_price` DECIMAL(18, 2) NULL COMMENT '套餐价格(元)',
`unit_price` DECIMAL(18, 2) NULL COMMENT '单价(元)',
`quantity` INT NULL DEFAULT 1 COMMENT '购买数量',
`total_hours` INT NULL COMMENT '总课时数',
`total_amount` DECIMAL(18, 2) NULL COMMENT '总金额(元)',
`pay_method` TINYINT NULL COMMENT '支付方式1=微信 2=支付宝 3=银行卡 4=余额',
`wallet_type` TINYINT NULL COMMENT '钱包类型1=个人钱包 2=企业钱包',
`wallet_id` BIGINT UNSIGNED NULL COMMENT '钱包ID',
`wallet_transaction_id` BIGINT UNSIGNED NULL COMMENT '钱包流水ID',
`wallet_transaction_no` VARCHAR(64) NULL COMMENT '钱包流水号',
`pay_status` TINYINT NULL DEFAULT 1 COMMENT '支付状态1=待支付 2=已支付 3=已退款 4=已取消 5=已关闭',
`order_create_time` DATETIME NULL COMMENT '下单时间',
`pay_time` DATETIME NULL COMMENT '支付时间',
`package_snapshot` TEXT NULL COMMENT '套餐快照JSON',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
KEY `idx_company_id` (`company_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_package_id` (`package_id`),
KEY `idx_wallet_id` (`wallet_id`),
KEY `idx_wallet_transaction_id` (`wallet_transaction_id`),
KEY `idx_pay_status` (`pay_status`),
KEY `idx_order_create_time` (`order_create_time`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='学时套餐购买记录表';
-- 6) 短信套餐表(对应页面:短信套餐配置)
CREATE TABLE `hot_sms_package`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`package_code` VARCHAR(32) NULL COMMENT '套餐编码',
`package_name` VARCHAR(100) NULL COMMENT '套餐名称',
`sms_count` INT NULL COMMENT '短信条数如1000/3000/5000',
`package_price` DECIMAL(18, 2) NULL COMMENT '套餐价(元)',
`unit_price` DECIMAL(18, 4) NULL COMMENT '单条单价(元)',
`status` TINYINT NULL DEFAULT 1 COMMENT '状态1=启用 0=停用',
`sort_no` INT NULL DEFAULT 0 COMMENT '排序号',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_package_code` (`package_code`),
KEY `idx_company_id` (`company_id`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='短信套餐表';
-- 7) 短信套餐购买记录表(对应页面下单动作)
CREATE TABLE `hot_sms_package_purchase`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`account_id` BIGINT UNSIGNED NULL COMMENT '账户ID逻辑外键',
`user_id` BIGINT UNSIGNED NULL COMMENT '用户ID',
`consumer_company_id` BIGINT UNSIGNED NULL COMMENT '充值企业ID',
`consumer_company_name` VARCHAR(128) NULL COMMENT '充值企业名称',
`order_id` BIGINT UNSIGNED NULL COMMENT '订单管理表ID逻辑外键',
`order_no` VARCHAR(32) NULL COMMENT '订单号',
`package_id` BIGINT UNSIGNED NULL COMMENT '短信套餐ID',
`package_name` VARCHAR(100) NULL COMMENT '短信套餐名称(快照)',
`sms_count` INT NULL COMMENT '短信条数',
`unit_price` DECIMAL(18, 4) NULL COMMENT '单条单价(元)',
`quantity` INT NULL DEFAULT 1 COMMENT '购买数量',
`total_amount` DECIMAL(18, 2) NULL COMMENT '总金额(元)',
`pay_method` TINYINT NULL COMMENT '支付方式1=微信 2=支付宝 3=银行卡 4=余额',
`pay_status` TINYINT NULL DEFAULT 1 COMMENT '支付状态1=待支付 2=已支付 3=已退款 4=已取消 5=已关闭',
`order_create_time` DATETIME NULL COMMENT '下单时间',
`pay_time` DATETIME NULL COMMENT '支付时间',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
KEY `idx_company_id` (`company_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_consumer_company_id` (`consumer_company_id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_package_id` (`package_id`),
KEY `idx_pay_status` (`pay_status`),
KEY `idx_order_create_time` (`order_create_time`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='短信套餐购买记录表';
-- 8) 岗前培训套餐表(对应页面:岗前培训套餐配置)
CREATE TABLE `hot_pre_job_package`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`package_code` VARCHAR(32) NULL COMMENT '套餐编码',
`package_name` VARCHAR(100) NULL COMMENT '套餐名称',
`package_content` VARCHAR(255) NULL COMMENT '套餐内容',
`package_type` TINYINT NULL DEFAULT 1 COMMENT '套餐类型1=常规套餐 2=活动套餐',
`activity_id` BIGINT UNSIGNED NULL COMMENT '活动ID',
`activity_name` VARCHAR(100) NULL COMMENT '活动名称',
`origin_price` DECIMAL(18, 2) NULL COMMENT '原价(元)',
`activity_price` DECIMAL(18, 2) NULL COMMENT '活动价(元)',
`unit_price` DECIMAL(18, 2) NULL COMMENT '生效单价(元)',
`valid_start_time` DATETIME NULL COMMENT '活动有效开始时间',
`valid_end_time` DATETIME NULL COMMENT '活动有效结束时间',
`status` TINYINT NULL DEFAULT 1 COMMENT '状态1=启用 0=停用',
`sort_no` INT NULL DEFAULT 0 COMMENT '排序号',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_package_code` (`package_code`),
KEY `idx_company_id` (`company_id`),
KEY `idx_package_type` (`package_type`),
KEY `idx_activity_id` (`activity_id`),
KEY `idx_status` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='岗前培训套餐表';
-- 9) 岗前培训套餐购买记录表(对应页面下单动作)
CREATE TABLE `hot_pre_job_package_purchase`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`account_id` BIGINT UNSIGNED NULL COMMENT '账户ID逻辑外键',
`user_id` BIGINT UNSIGNED NULL COMMENT '用户ID',
`consumer_company_id` BIGINT UNSIGNED NULL COMMENT '消费型企业ID',
`consumer_company_name` VARCHAR(128) NULL COMMENT '消费型企业名称',
`order_id` BIGINT UNSIGNED NULL COMMENT '订单管理表ID逻辑外键',
`order_no` VARCHAR(32) NULL COMMENT '订单号',
`package_id` BIGINT UNSIGNED NULL COMMENT '岗前培训套餐ID',
`package_name` VARCHAR(100) NULL COMMENT '岗前培训套餐名称(快照)',
`package_content` VARCHAR(255) NULL COMMENT '套餐内容(快照)',
`package_type` TINYINT NULL COMMENT '套餐类型1=常规套餐 2=活动套餐',
`activity_id` BIGINT UNSIGNED NULL COMMENT '活动ID',
`activity_name` VARCHAR(100) NULL COMMENT '活动名称(快照)',
`origin_price` DECIMAL(18, 2) NULL COMMENT '原价(元)',
`activity_price` DECIMAL(18, 2) NULL COMMENT '活动价(元)',
`unit_price` DECIMAL(18, 2) NULL COMMENT '成交单价(元)',
`quantity` INT NULL DEFAULT 1 COMMENT '购买数量',
`total_amount` DECIMAL(18, 2) NULL COMMENT '总金额(元)',
`pay_method` TINYINT NULL COMMENT '支付方式1=微信 2=支付宝 3=银行卡 4=余额',
`pay_status` TINYINT NULL DEFAULT 1 COMMENT '支付状态1=待支付 2=已支付 3=已退款 4=已取消 5=已关闭',
`order_create_time` DATETIME NULL COMMENT '下单时间',
`pay_time` DATETIME NULL COMMENT '支付时间',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
KEY `idx_company_id` (`company_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_consumer_company_id` (`consumer_company_id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_package_id` (`package_id`),
KEY `idx_activity_id` (`activity_id`),
KEY `idx_pay_status` (`pay_status`),
KEY `idx_order_create_time` (`order_create_time`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='岗前培训套餐购买记录表';
-- 10) 合同管理表(数据来源:支付时签订的协议)
CREATE TABLE `hot_contract_manage`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`contract_no` VARCHAR(64) NULL COMMENT '合同编号',
`contract_name` VARCHAR(128) NULL COMMENT '合同名称',
`contract_amount` DECIMAL(18, 2) NULL COMMENT '合同金额(元)',
`party_a_name` VARCHAR(128) NULL COMMENT '甲方名称',
`party_b_name` VARCHAR(128) NULL COMMENT '乙方名称',
`party_b_owner` VARCHAR(64) NULL COMMENT '乙方责任人',
`contact_phone` VARCHAR(32) NULL COMMENT '联系电话',
`contract_sign_time` DATETIME NULL COMMENT '合同签订时间',
`contract_effective_time` DATETIME NULL COMMENT '合同生效时间',
`contract_expire_time` DATETIME NULL COMMENT '合同到期时间',
`contract_status` TINYINT NULL DEFAULT 2 COMMENT '合同状态1=草稿 2=已签订 3=已生效 4=已终止 5=已作废',
`sign_channel` TINYINT NULL COMMENT '签约渠道1=微信 2=支付宝 3=银行卡 4=余额 5=线下',
`agreement_url` VARCHAR(1024) NULL COMMENT '协议文件URL',
`source_order_id` BIGINT UNSIGNED NULL COMMENT '来源订单ID支付订单',
`source_order_no` VARCHAR(32) NULL COMMENT '来源订单号(支付订单)',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_contract_no` (`contract_no`),
KEY `idx_company_id` (`company_id`),
KEY `idx_party_b_name` (`party_b_name`),
KEY `idx_contract_status` (`contract_status`),
KEY `idx_contract_expire_time` (`contract_expire_time`),
KEY `idx_source_order_id` (`source_order_id`),
KEY `idx_source_order_no` (`source_order_no`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='合同管理表';
-- 11) 培训学时购买明细表(对应页面:套餐名称/适用类型/购买人/购买数量/已使用/剩余)
CREATE TABLE `hot_hour_purchase_detail`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`account_id` BIGINT UNSIGNED NULL COMMENT '账户ID逻辑外键',
`user_id` BIGINT UNSIGNED NULL COMMENT '用户ID',
`buyer_name` VARCHAR(64) NULL COMMENT '购买人',
`buyer_company_id` BIGINT UNSIGNED NULL COMMENT '购买企业ID',
`buyer_company_name` VARCHAR(128) NULL COMMENT '购买企业名称',
`purchase_id` BIGINT UNSIGNED NULL COMMENT '学时套餐购买记录ID',
`order_id` BIGINT UNSIGNED NULL COMMENT '订单管理表ID逻辑外键',
`order_no` VARCHAR(32) NULL COMMENT '订单号',
`package_id` BIGINT UNSIGNED NULL COMMENT '学时套餐ID',
`package_name` VARCHAR(100) NULL COMMENT '套餐名称(快照)',
`applicable_types` VARCHAR(255) NULL COMMENT '适用类型(如日常培训、事故培训等)',
`purchase_count` INT NULL DEFAULT 1 COMMENT '购买数量',
`total_hours` INT NULL COMMENT '总课时数',
`used_hours` INT NULL DEFAULT 0 COMMENT '已使用学时数',
`remaining_hours` INT NULL COMMENT '剩余学时数',
`wallet_type` TINYINT NULL COMMENT '钱包类型1=个人钱包 2=企业钱包',
`wallet_id` BIGINT UNSIGNED NULL COMMENT '钱包ID',
`version` INT NULL DEFAULT 0 COMMENT '乐观锁版本号',
`status` TINYINT NULL DEFAULT 1 COMMENT '状态1=生效 2=已用完 3=已过期 4=已作废',
`last_use_time` DATETIME NULL COMMENT '最近使用时间',
`expire_time` DATETIME NULL COMMENT '到期时间',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
KEY `idx_company_id` (`company_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_order_no` (`order_no`),
KEY `idx_purchase_id` (`purchase_id`),
KEY `idx_package_id` (`package_id`),
KEY `idx_wallet_id` (`wallet_id`),
KEY `idx_status` (`status`),
KEY `idx_expire_time` (`expire_time`),
KEY `idx_remaining_hours` (`remaining_hours`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='培训学时购买明细表';
-- 12) 培训学时使用明细表(对应页面:使用人员/使用类型/套餐名称/使用学时数量/使用日期)
CREATE TABLE `hot_hour_usage_detail`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`purchase_detail_id` BIGINT UNSIGNED NULL COMMENT '购买明细ID逻辑外键',
`account_id` BIGINT UNSIGNED NULL COMMENT '账户ID逻辑外键',
`user_id` BIGINT UNSIGNED NULL COMMENT '使用人员ID',
`user_name` VARCHAR(64) NULL COMMENT '使用人员',
`operator_id` BIGINT UNSIGNED NULL COMMENT '操作人ID',
`operator_name` VARCHAR(64) NULL COMMENT '操作人',
`use_type` VARCHAR(64) NULL COMMENT '使用类型(如日常培训/违章培训)',
`package_id` BIGINT UNSIGNED NULL COMMENT '套餐ID',
`package_name` VARCHAR(100) NULL COMMENT '套餐名称(快照)',
`used_hours` INT NULL COMMENT '使用学时数量(正数存储,展示可加负号)',
`before_remaining_hours` INT NULL COMMENT '扣减前剩余学时',
`after_remaining_hours` INT NULL COMMENT '扣减后剩余学时',
`remaining_hours` INT NULL COMMENT '使用后剩余学时',
`use_date` DATE NULL COMMENT '使用日期',
`biz_order_id` BIGINT UNSIGNED NULL COMMENT '业务单据ID',
`biz_order_no` VARCHAR(32) NULL COMMENT '业务单号',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
KEY `idx_company_id` (`company_id`),
KEY `idx_purchase_detail_id` (`purchase_detail_id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_operator_id` (`operator_id`),
KEY `idx_package_id` (`package_id`),
KEY `idx_use_type` (`use_type`),
KEY `idx_use_date` (`use_date`),
KEY `idx_biz_order_no` (`biz_order_no`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='培训学时使用明细表';
-- 13) 短信企业统计表(对应页面:企业名称/总充值条数/总发送条数/总成功到达量/总计费量/总充值金额/剩余短信)
CREATE TABLE `hot_sms_company_stat`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`enterprise_id` BIGINT UNSIGNED NULL COMMENT '企业ID',
`enterprise_name` VARCHAR(128) NULL COMMENT '企业名称',
`total_recharge_count` INT NULL DEFAULT 0 COMMENT '总充值条数',
`total_send_count` INT NULL DEFAULT 0 COMMENT '总发送条数',
`total_success_count` INT NULL DEFAULT 0 COMMENT '总成功到达量',
`total_billable_count` INT NULL DEFAULT 0 COMMENT '总计费量',
`total_recharge_amount` DECIMAL(18, 2) NULL DEFAULT 0.00 COMMENT '总充值金额(元)',
`remaining_sms_count` INT NULL DEFAULT 0 COMMENT '剩余短信',
`last_stat_time` DATETIME NULL COMMENT '最近统计时间',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_enterprise_id` (`enterprise_id`),
KEY `idx_company_id` (`company_id`),
KEY `idx_enterprise_name` (`enterprise_name`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='短信企业统计表';
-- 14) 短信按日统计表(对应页面:日期/总发送量/成功到达量/计费量)
CREATE TABLE `hot_sms_daily_stat`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`enterprise_id` BIGINT UNSIGNED NULL COMMENT '企业ID',
`enterprise_name` VARCHAR(128) NULL COMMENT '企业名称',
`stat_date` DATE NULL COMMENT '统计日期',
`total_send_count` INT NULL DEFAULT 0 COMMENT '总发送量',
`success_count` INT NULL DEFAULT 0 COMMENT '成功到达量',
`billable_count` INT NULL DEFAULT 0 COMMENT '计费量',
`fail_count` INT NULL DEFAULT 0 COMMENT '失败量',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_enterprise_stat_date` (`enterprise_id`, `stat_date`),
KEY `idx_company_id` (`company_id`),
KEY `idx_stat_date` (`stat_date`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='短信按日统计表';
-- 15) 短信充值记录表(对应页面:充值时间/充值企业/充值金额/充值条数/过期时间/操作人)
CREATE TABLE `hot_sms_recharge_record`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`enterprise_id` BIGINT UNSIGNED NULL COMMENT '充值企业ID',
`enterprise_name` VARCHAR(128) NULL COMMENT '充值企业',
`recharge_order_id` BIGINT UNSIGNED NULL COMMENT '短信购买记录ID逻辑外键',
`recharge_order_no` VARCHAR(32) NULL COMMENT '充值订单号',
`recharge_time` DATETIME NULL COMMENT '充值时间',
`recharge_amount` DECIMAL(18, 2) NULL COMMENT '充值金额(元)',
`recharge_sms_count` INT NULL COMMENT '充值条数',
`expire_time` DATETIME NULL COMMENT '过期时间',
`operator_id` BIGINT UNSIGNED NULL COMMENT '操作人ID',
`operator_name` VARCHAR(64) NULL COMMENT '操作人',
`status` TINYINT NULL DEFAULT 1 COMMENT '状态1=生效 2=已过期 3=已作废',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_recharge_order_no` (`recharge_order_no`),
KEY `idx_company_id` (`company_id`),
KEY `idx_enterprise_id` (`enterprise_id`),
KEY `idx_recharge_time` (`recharge_time`),
KEY `idx_expire_time` (`expire_time`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='短信充值记录表';
-- 16) 短信发送明细表(对应页面:短信类型/姓名/手机号/岗位/是否收到/详情)
CREATE TABLE `hot_sms_send_detail`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`enterprise_id` BIGINT UNSIGNED NULL COMMENT '企业ID',
`enterprise_name` VARCHAR(128) NULL COMMENT '企业名称',
`biz_type` VARCHAR(64) NULL COMMENT '所属类型(如驾驶员管理)',
`sms_type` VARCHAR(64) NULL COMMENT '短信类型',
`receiver_id` BIGINT UNSIGNED NULL COMMENT '接收人ID',
`receiver_name` VARCHAR(64) NULL COMMENT '姓名',
`mobile` VARCHAR(32) NULL COMMENT '手机号',
`receiver_role` VARCHAR(64) NULL COMMENT '岗位/接收人类型',
`notice_content` TEXT NULL COMMENT '通知内容',
`notify_time` DATETIME NULL COMMENT '通知时间',
`notify_status` TINYINT NULL DEFAULT 1 COMMENT '通知状态1=待发送 2=已发送 3=发送失败',
`is_received` TINYINT NULL DEFAULT 0 COMMENT '是否收到0=否 1=是',
`receive_time` DATETIME NULL COMMENT '收到时间',
`send_channel` TINYINT NULL DEFAULT 1 COMMENT '发送渠道1=短信 2=站内信',
`sms_count` INT NULL DEFAULT 1 COMMENT '消耗短信条数',
`billable_count` INT NULL DEFAULT 1 COMMENT '计费条数',
`provider_msg_id` VARCHAR(64) NULL COMMENT '供应商消息ID',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`),
KEY `idx_company_id` (`company_id`),
KEY `idx_enterprise_id` (`enterprise_id`),
KEY `idx_receiver_id` (`receiver_id`),
KEY `idx_mobile` (`mobile`),
KEY `idx_sms_type` (`sms_type`),
KEY `idx_notify_time` (`notify_time`),
KEY `idx_is_received` (`is_received`),
KEY `idx_notify_status` (`notify_status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='短信发送明细表';
-- 17) 发票管理表(对应页面:订单号/购买者/订单类型/订单金额/支付方式/开票状态/开票时间)
CREATE TABLE `hot_invoice_manage`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`order_id` BIGINT UNSIGNED NULL COMMENT '订单ID逻辑外键',
`order_no` VARCHAR(32) NULL COMMENT '订单号',
`buyer_company_id` BIGINT UNSIGNED NULL COMMENT '购买者企业ID',
`buyer_company_name` VARCHAR(128) NULL COMMENT '购买者(企业名称)',
`order_type` TINYINT NULL COMMENT '订单类型1=拓客订单 2=学习订单 3=短信订单 4=岗前培训订单 5=其他',
`order_amount` DECIMAL(18, 2) NULL COMMENT '订单金额(元)',
`pay_method` TINYINT NULL COMMENT '支付方式1=微信 2=支付宝 3=银行卡 4=余额',
`pay_time` DATETIME NULL COMMENT '支付时间',
`invoice_amount` DECIMAL(18, 2) NULL COMMENT '开票金额(元)',
`invoice_type` TINYINT NULL COMMENT '发票类型1=增值税电子普通发票 2=增值税电子专用发票',
`invoice_title` VARCHAR(200) NULL COMMENT '发票抬头',
`tax_no` VARCHAR(64) NULL COMMENT '税号',
`bank_name` VARCHAR(100) NULL COMMENT '开户银行',
`bank_account` VARCHAR(64) NULL COMMENT '银行账号',
`company_address` VARCHAR(255) NULL COMMENT '企业地址',
`company_phone` VARCHAR(32) NULL COMMENT '企业电话',
`invoice_status` TINYINT NULL DEFAULT 1 COMMENT '开票状态1=未开票 2=申请开票 3=已开票 4=驳回 5=已作废',
`apply_time` DATETIME NULL COMMENT '申请时间',
`invoice_time` DATETIME NULL COMMENT '开票时间',
`invoice_code` VARCHAR(32) NULL COMMENT '发票代码',
`invoice_no` VARCHAR(64) NULL COMMENT '发票号码(可按年月+随机号)',
`invoice_url` VARCHAR(1024) NULL COMMENT '电子发票文件URL',
`reject_reason` VARCHAR(255) NULL COMMENT '驳回原因',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='发票管理表';
-- 18) 培训反馈主表(对应页面:反馈列表/我要反馈)
CREATE TABLE `hot_training_feedback`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`feedback_no` VARCHAR(32) NULL COMMENT '反馈单号',
`feedback_user_id` BIGINT UNSIGNED NULL COMMENT '反馈人ID',
`feedback_user_name` VARCHAR(64) NULL COMMENT '反馈人姓名',
`feedback_keyword` VARCHAR(100) NULL COMMENT '反馈关键词',
`feedback_content` TEXT NULL COMMENT '反馈内容',
`attachment_urls` TEXT NULL COMMENT '附件URL列表逗号分隔对应sys_oss',
`feedback_time` DATETIME NULL COMMENT '反馈时间',
`status` TINYINT NULL DEFAULT 1 COMMENT '处理状态1=待处理 2=处理中 3=已回复 4=已关闭',
`reply_time` DATETIME NULL COMMENT '最新回复时间',
`reply_count` INT NULL DEFAULT 0 COMMENT '回复条数',
`last_reply_content` VARCHAR(255) NULL COMMENT '最新回复内容摘要',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='培训反馈主表';
-- 19) 培训反馈回复表(对应页面:反馈详情时间线“我的反馈/回复”)
CREATE TABLE `hot_training_feedback_reply`
(
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` BIGINT UNSIGNED NULL COMMENT '公司ID应用层保证必填',
`feedback_id` BIGINT UNSIGNED NULL COMMENT '反馈主表ID逻辑外键',
`feedback_no` VARCHAR(32) NULL COMMENT '反馈单号',
`reply_role` TINYINT NULL COMMENT '回复角色1=反馈人 2=处理人',
`reply_user_id` BIGINT UNSIGNED NULL COMMENT '回复人ID',
`reply_user_name` VARCHAR(64) NULL COMMENT '回复人姓名',
`reply_content` TEXT NULL COMMENT '回复内容',
`reply_time` DATETIME NULL COMMENT '回复时间',
`status` TINYINT NULL DEFAULT 1 COMMENT '状态1=有效 0=无效',
`remark` VARCHAR(255) NULL COMMENT '备注',
`create_dept` BIGINT NULL COMMENT '创建部门',
`create_by` BIGINT NULL COMMENT '创建者',
`create_by_name` VARCHAR(64) NULL COMMENT '创建者姓名',
`create_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` BIGINT NULL COMMENT '更新者',
`update_by_name` VARCHAR(64) NULL COMMENT '更新者姓名',
`update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` TINYINT NULL DEFAULT 0 COMMENT '0=正常, 1=已删除',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT ='培训反馈回复表';

241
sql/1289/2_pay_module.sql Normal file
View File

@@ -0,0 +1,241 @@
-- 支付模块基础表
CREATE TABLE IF NOT EXISTS `pay_app`
(
`id`
BIGINT
UNSIGNED
NOT
NULL
AUTO_INCREMENT
COMMENT
'应用编号',
`app_key`
VARCHAR
(
64
) NOT NULL COMMENT '应用标识',
`name` VARCHAR
(
100
) NOT NULL COMMENT '应用名称',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`remark` VARCHAR
(
255
) DEFAULT NULL COMMENT '备注',
`order_notify_url` VARCHAR
(
255
) DEFAULT NULL COMMENT '业务回调地址',
`create_by` BIGINT DEFAULT NULL,
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_by` BIGINT DEFAULT NULL,
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
PRIMARY KEY
(
`id`
),
UNIQUE KEY `uk_pay_app_key`
(
`app_key`
)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付应用';
CREATE TABLE IF NOT EXISTS `pay_channel`
(
`id`
BIGINT
UNSIGNED
NOT
NULL
AUTO_INCREMENT
COMMENT
'渠道编号',
`code`
VARCHAR
(
64
) NOT NULL COMMENT '渠道编码',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`remark` VARCHAR
(
255
) DEFAULT NULL COMMENT '备注',
`app_id` BIGINT UNSIGNED NOT NULL COMMENT '应用编号',
`config` LONGTEXT NOT NULL COMMENT '渠道配置(JSON)',
`create_by` BIGINT DEFAULT NULL,
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_by` BIGINT DEFAULT NULL,
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
PRIMARY KEY
(
`id`
),
UNIQUE KEY `uk_pay_channel_app_code`
(
`app_id`,
`code`
)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付渠道';
CREATE TABLE IF NOT EXISTS `pay_order`
(
`id`
BIGINT
UNSIGNED
NOT
NULL
AUTO_INCREMENT
COMMENT
'支付订单编号',
`app_id`
BIGINT
UNSIGNED
NOT
NULL
COMMENT
'应用编号',
`merchant_order_no`
VARCHAR
(
64
) DEFAULT NULL COMMENT '业务订单号',
`biz_order_type` VARCHAR
(
64
) DEFAULT NULL COMMENT '业务类型',
`biz_order_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '业务主键',
`subject` VARCHAR
(
128
) DEFAULT NULL COMMENT '订单标题',
`body` VARCHAR
(
255
) DEFAULT NULL COMMENT '订单描述',
`channel_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '渠道编号',
`channel_code` VARCHAR
(
64
) DEFAULT NULL COMMENT '渠道编码',
`notify_url` VARCHAR
(
255
) DEFAULT NULL COMMENT '异步回调地址',
`return_url` VARCHAR
(
255
) DEFAULT NULL COMMENT '同步跳转地址',
`price` DECIMAL
(
18,
2
) NOT NULL COMMENT '支付金额(元)',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态1待支付 2支付中 3成功 4失败 5关闭',
`user_ip` VARCHAR
(
64
) DEFAULT NULL COMMENT '用户IP',
`expire_time` DATETIME DEFAULT NULL COMMENT '失效时间',
`success_time` DATETIME DEFAULT NULL COMMENT '支付成功时间',
`extension_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '支付成功拓展单编号',
`no` VARCHAR
(
64
) DEFAULT NULL COMMENT '平台支付订单号',
`channel_user_id` VARCHAR
(
64
) DEFAULT NULL COMMENT '渠道用户编号',
`channel_order_no` VARCHAR
(
64
) DEFAULT NULL COMMENT '渠道订单号',
`create_by` BIGINT DEFAULT NULL,
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_by` BIGINT DEFAULT NULL,
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
PRIMARY KEY
(
`id`
),
UNIQUE KEY `uk_pay_order_no`
(
`no`
),
KEY `idx_pay_order_biz`
(
`biz_order_type`,
`biz_order_id`
)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付订单';
CREATE TABLE IF NOT EXISTS `pay_order_extension`
(
`id`
BIGINT
UNSIGNED
NOT
NULL
AUTO_INCREMENT
COMMENT
'拓展单编号',
`no`
VARCHAR
(
64
) NOT NULL COMMENT '三方侧商户单号',
`order_id` BIGINT UNSIGNED NOT NULL COMMENT '支付订单编号',
`channel_id` BIGINT UNSIGNED NOT NULL COMMENT '渠道编号',
`channel_code` VARCHAR
(
64
) NOT NULL COMMENT '渠道编码',
`user_ip` VARCHAR
(
64
) DEFAULT NULL COMMENT '用户IP',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态1待支付 2支付中 3成功 4失败 5关闭',
`channel_extras` LONGTEXT DEFAULT NULL COMMENT '渠道扩展信息',
`channel_error_code` VARCHAR
(
64
) DEFAULT NULL COMMENT '渠道错误码',
`channel_error_msg` VARCHAR
(
255
) DEFAULT NULL COMMENT '渠道错误信息',
`channel_notify_data` LONGTEXT DEFAULT NULL COMMENT '渠道回调原文',
`create_by` BIGINT DEFAULT NULL,
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_by` BIGINT DEFAULT NULL,
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1删除',
PRIMARY KEY
(
`id`
),
UNIQUE KEY `uk_pay_order_extension_no`
(
`no`
),
KEY `idx_pay_order_extension_order`
(
`order_id`
)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='支付订单拓展单';
ALTER TABLE `hot_fund_recharge_order`
MODIFY COLUMN `recharge_amount` DECIMAL (18, 2) NULL COMMENT '充值金额(元)',
MODIFY COLUMN `pay_status` TINYINT NULL DEFAULT 1 COMMENT '支付状态1待支付 2支付中 3支付成功 4支付失败 5已关闭 6已退款';
-- 初始化建议
-- INSERT INTO pay_app(app_key, name, status, remark) VALUES ('wallet-recharge', '钱包充值', 1, '钱包充值支付应用');
-- 渠道编码建议:
-- WECHAT_QR / WECHAT_H5 / WECHAT_APP / ALIPAY_QR / ALIPAY_H5 / ALIPAY_APP
-- 支付渠道 config 示例:
-- 支付宝:{"appId":"xxx","privateKey":"-----BEGIN PRIVATE KEY-----...","alipayPublicKey":"-----BEGIN PUBLIC KEY-----...","gateway":"https://openapi.alipay.com/gateway.do"}
-- 微信:{"appId":"wxxxx","merchantId":"1xxxx","merchantSerialNo":"xxxx","privateKey":"-----BEGIN PRIVATE KEY-----...","apiV3Key":"32位密钥","platformPublicKey":"-----BEGIN PUBLIC KEY-----...","gateway":"https://api.mch.weixin.qq.com"}