dingdanquanliucheng/数据库.sql

379 lines
20 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 订单管理系统数据库建表脚本
-- 说明:以下脚本可直接导入 MySQL / MariaDB建议 MySQL 8.0+)。
-- 字符集utf8mb4
-- 引擎InnoDB
-- 约定:不显式创建外键,避免导入顺序和级联策略带来的阻塞;通过索引和业务校验保证关联一致性。
-- 规范:状态字段均采用需求文档中约定的固定枚举值,避免后续实现口径不一致。
-- 统一字段映射请参见《字段映射检查表.md》。
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `performance_stat_cache`;
DROP TABLE IF EXISTS `ai_recognition_log`;
DROP TABLE IF EXISTS `file_attachment`;
DROP TABLE IF EXISTS `audit_log`;
DROP TABLE IF EXISTS `system_config`;
DROP TABLE IF EXISTS `system_reminder`;
DROP TABLE IF EXISTS `customer_arrears`;
DROP TABLE IF EXISTS `logistics_trace`;
DROP TABLE IF EXISTS `logistics_task`;
DROP TABLE IF EXISTS `sales_order_approve_log`;
DROP TABLE IF EXISTS `sales_order_item`;
DROP TABLE IF EXISTS `sales_order`;
DROP TABLE IF EXISTS `base_supplier`;
DROP TABLE IF EXISTS `product`;
DROP TABLE IF EXISTS `crm_customer`;
DROP TABLE IF EXISTS `sys_menu`;
DROP TABLE IF EXISTS `sys_role_menu`;
DROP TABLE IF EXISTS `sys_role`;
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_role` (
`id` bigint NOT NULL COMMENT '主键',
`role_name` varchar(64) NOT NULL COMMENT '角色名称',
`role_code` varchar(64) NOT NULL COMMENT '角色编码',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_sys_role_code` (`role_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
CREATE TABLE `sys_user` (
`id` bigint NOT NULL COMMENT '主键',
`username` varchar(64) NOT NULL COMMENT '登录账号',
`password_hash` varchar(255) NOT NULL COMMENT '密码哈希',
`real_name` varchar(64) NOT NULL COMMENT '姓名',
`mobile` varchar(20) DEFAULT NULL COMMENT '手机号',
`role_id` bigint NOT NULL COMMENT '角色ID',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_sys_user_username` (`username`),
KEY `idx_sys_user_role_id` (`role_id`),
KEY `idx_sys_user_mobile` (`mobile`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统用户表';
CREATE TABLE `sys_menu` (
`id` bigint NOT NULL COMMENT '主键',
`parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父级菜单ID',
`menu_name` varchar(64) NOT NULL COMMENT '菜单名称',
`menu_path` varchar(255) DEFAULT NULL COMMENT '路由路径',
`menu_type` varchar(32) NOT NULL COMMENT '菜单类型menu/button',
`permission_code` varchar(128) DEFAULT NULL COMMENT '权限标识',
`icon` varchar(64) DEFAULT NULL COMMENT '图标',
`sort_no` int NOT NULL DEFAULT 0 COMMENT '排序号',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
KEY `idx_sys_menu_parent_id` (`parent_id`),
KEY `idx_sys_menu_permission_code` (`permission_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单表';
CREATE TABLE `sys_role_menu` (
`id` bigint NOT NULL COMMENT '主键',
`role_id` bigint NOT NULL COMMENT '角色ID',
`menu_id` bigint NOT NULL COMMENT '菜单ID',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_sys_role_menu_role_menu` (`role_id`,`menu_id`),
KEY `idx_sys_role_menu_role_id` (`role_id`),
KEY `idx_sys_role_menu_menu_id` (`menu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色菜单关联表';
CREATE TABLE `crm_customer` (
`id` bigint NOT NULL COMMENT '主键',
`customer_name` varchar(64) NOT NULL COMMENT '客户姓名',
`mobile` varchar(20) NOT NULL COMMENT '手机号',
`address` varchar(255) DEFAULT NULL COMMENT '地址',
`settlement_type` varchar(32) DEFAULT NULL COMMENT '结算方式',
`settlement_days` int DEFAULT NULL COMMENT '月结天数',
`settlement_start_type` varchar(32) DEFAULT NULL COMMENT '账期起算口径:订单日期/对账日期/发货日期',
`customer_type` varchar(32) DEFAULT NULL COMMENT '客户类型',
`salesman_id` bigint DEFAULT NULL COMMENT '归属业务员ID',
`credit_limit` decimal(18,2) DEFAULT 0.00 COMMENT '信用额度',
`arrears_amount` decimal(18,2) DEFAULT 0.00 COMMENT '欠款金额',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`remark` varchar(500) DEFAULT 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` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_customer_name_mobile` (`customer_name`, `mobile`),
KEY `idx_customer_mobile` (`mobile`),
KEY `idx_customer_salesman_id` (`salesman_id`),
KEY `idx_customer_type` (`customer_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户表';
CREATE TABLE `product` (
`id` bigint NOT NULL COMMENT '主键',
`product_name` varchar(128) NOT NULL COMMENT '产品名称',
`specification` varchar(128) NOT NULL COMMENT '规格',
`unit` varchar(32) NOT NULL COMMENT '单位',
`category` varchar(64) NOT NULL COMMENT '分类',
`cost_price` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '成本价',
`sale_price` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '售价',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`remark` varchar(500) DEFAULT 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` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
KEY `idx_product_name` (`product_name`),
KEY `idx_product_specification` (`specification`),
KEY `idx_product_category` (`category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品表';
CREATE TABLE `base_supplier` (
`id` bigint NOT NULL COMMENT '主键',
`supplier_name` varchar(128) NOT NULL COMMENT '名称',
`supplier_type` varchar(32) NOT NULL COMMENT '类型:工厂/供应商',
`contact_name` varchar(64) DEFAULT NULL COMMENT '联系人',
`contact_mobile` varchar(20) DEFAULT NULL COMMENT '联系电话',
`address` varchar(255) DEFAULT NULL COMMENT '地址',
`template_type` varchar(64) DEFAULT NULL COMMENT '下发文本模板类型',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`remark` varchar(500) DEFAULT 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` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
KEY `idx_supplier_name` (`supplier_name`),
KEY `idx_supplier_type` (`supplier_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工厂/供应商表';
CREATE TABLE `sales_order` (
`id` bigint NOT NULL COMMENT '主键',
`order_no` varchar(64) NOT NULL COMMENT '订单编号',
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`customer_name_snapshot` varchar(64) NOT NULL COMMENT '客户名称快照',
`customer_mobile_snapshot` varchar(20) NOT NULL COMMENT '客户手机号快照',
`salesman_id` bigint NOT NULL COMMENT '业务员ID',
`order_source` varchar(64) DEFAULT NULL COMMENT '订单来源标签',
`order_status` varchar(32) NOT NULL COMMENT '订单状态',
`delivery_type` varchar(32) DEFAULT NULL COMMENT '发货类型',
`factory_id` bigint DEFAULT NULL COMMENT '工厂ID',
`sale_price_total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '销售价总额',
`cost_price_total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '成本价总额',
`rebate_total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '回扣总额',
`freight_total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '运费总额',
`tax_total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '税费总额',
`other_fee_total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '其他费用总额',
`profit_total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '利润',
`profit_rate` decimal(10,4) NOT NULL DEFAULT 0.0000 COMMENT '利润率',
`created_by` bigint NOT NULL COMMENT '创建人',
`submitted_at` datetime DEFAULT NULL COMMENT '提交时间',
`approved_by` bigint DEFAULT NULL COMMENT '审批人',
`approved_at` datetime DEFAULT NULL COMMENT '审批时间',
`canceled_at` datetime DEFAULT NULL COMMENT '取消时间',
`completed_at` datetime DEFAULT NULL COMMENT '完成时间',
`remark` varchar(1000) DEFAULT 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` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_sales_order_no` (`order_no`),
KEY `idx_sales_order_customer_id` (`customer_id`),
KEY `idx_sales_order_salesman_id` (`salesman_id`),
KEY `idx_sales_order_status` (`order_status`),
KEY `idx_sales_order_factory_id` (`factory_id`),
KEY `idx_sales_order_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售订单主表';
CREATE TABLE `sales_order_item` (
`id` bigint NOT NULL COMMENT '主键',
`order_id` bigint NOT NULL COMMENT '订单ID',
`product_id` bigint DEFAULT NULL COMMENT '产品ID',
`product_name_snapshot` varchar(128) NOT NULL COMMENT '产品名称快照',
`specification_snapshot` varchar(128) NOT NULL COMMENT '规格快照',
`unit_snapshot` varchar(32) NOT NULL COMMENT '单位快照',
`quantity` decimal(18,4) NOT NULL DEFAULT 0.0000 COMMENT '数量',
`sale_price` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '销售单价',
`cost_price` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '成本单价',
`rebate_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '回扣金额',
`freight_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '运费分摊',
`tax_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '税费分摊',
`other_fee_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '其他费用分摊',
`line_profit` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '行利润',
`remark` varchar(500) DEFAULT 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` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
KEY `idx_sales_order_item_order_id` (`order_id`),
KEY `idx_sales_order_item_product_id` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售订单明细表';
CREATE TABLE `sales_order_approve_log` (
`id` bigint NOT NULL COMMENT '主键',
`order_id` bigint NOT NULL COMMENT '订单ID',
`approve_type` varchar(32) NOT NULL COMMENT '审批类型:提交审核/最终审批/取消审批',
`approve_result` varchar(32) NOT NULL COMMENT '审批结果:通过/退回/拒绝',
`approve_opinion` varchar(1000) DEFAULT NULL COMMENT '审批意见',
`approver_id` bigint NOT NULL COMMENT '审批人ID',
`approver_name` varchar(64) NOT NULL COMMENT '审批人名称快照',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '审批时间',
PRIMARY KEY (`id`),
KEY `idx_sales_order_approve_log_order_id` (`order_id`),
KEY `idx_sales_order_approve_log_approver_id` (`approver_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售订单审批记录表';
CREATE TABLE `logistics_task` (
`id` bigint NOT NULL COMMENT '主键',
`order_id` bigint NOT NULL COMMENT '订单ID',
`task_no` varchar(64) NOT NULL COMMENT '任务编号',
`driver_id` bigint DEFAULT NULL COMMENT '司机用户ID',
`status` varchar(32) NOT NULL COMMENT '任务状态',
`pickup_address` varchar(255) DEFAULT NULL COMMENT '取货地址',
`delivery_address` varchar(255) DEFAULT NULL COMMENT '送达地址',
`pickup_content` varchar(1000) DEFAULT NULL COMMENT '取件内容',
`quantity` decimal(18,4) DEFAULT 0.0000 COMMENT '数量',
`factory_id` bigint DEFAULT NULL COMMENT '工厂ID',
`accepted_at` datetime DEFAULT NULL COMMENT '接单时间',
`pickup_confirmed_at` datetime DEFAULT NULL COMMENT '揽货时间',
`delivered_at` datetime DEFAULT NULL COMMENT '送达时间',
`remark` varchar(1000) DEFAULT 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` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除0否 1是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_logistics_task_no` (`task_no`),
KEY `idx_logistics_task_order_id` (`order_id`),
KEY `idx_logistics_task_driver_id` (`driver_id`),
KEY `idx_logistics_task_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流任务表';
CREATE TABLE `logistics_trace` (
`id` bigint NOT NULL COMMENT '主键',
`order_id` bigint NOT NULL COMMENT '订单ID',
`task_id` bigint DEFAULT NULL COMMENT '任务ID',
`node_time` datetime NOT NULL COMMENT '节点时间',
`node_desc` varchar(500) NOT NULL COMMENT '节点描述',
`node_type` varchar(64) DEFAULT NULL COMMENT '节点类型',
`source_platform` varchar(64) DEFAULT NULL COMMENT '来源平台',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_logistics_trace_order_id` (`order_id`),
KEY `idx_logistics_trace_task_id` (`task_id`),
KEY `idx_logistics_trace_node_time` (`node_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物流轨迹表';
CREATE TABLE `customer_arrears` (
`id` bigint NOT NULL COMMENT '主键',
`customer_id` bigint NOT NULL COMMENT '客户ID',
`order_id` bigint NOT NULL COMMENT '订单ID',
`arrears_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '欠款金额',
`settlement_start_date` date DEFAULT NULL COMMENT '起算日期',
`due_date` date DEFAULT NULL COMMENT '到期日期',
`status` varchar(32) NOT NULL COMMENT '状态pending/overdue/paid/closed',
`reminded_at` datetime DEFAULT NULL COMMENT '提醒时间',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_customer_arrears_customer_id` (`customer_id`),
KEY `idx_customer_arrears_order_id` (`order_id`),
KEY `idx_customer_arrears_due_date` (`due_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户欠款记录表';
CREATE TABLE `system_reminder` (
`id` bigint NOT NULL COMMENT '主键',
`reminder_type` varchar(64) NOT NULL COMMENT '提醒类型',
`biz_type` varchar(64) NOT NULL COMMENT '业务类型',
`biz_id` bigint NOT NULL COMMENT '业务主键',
`receiver_user_id` bigint NOT NULL COMMENT '接收人ID',
`reminder_title` varchar(255) NOT NULL COMMENT '提醒标题',
`reminder_content` varchar(2000) NOT NULL COMMENT '提醒内容',
`status` varchar(32) NOT NULL COMMENT '状态pending/sent/read/canceled',
`sent_at` datetime DEFAULT NULL COMMENT '发送时间',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_system_reminder_biz_type` (`biz_type`),
KEY `idx_system_reminder_biz_id` (`biz_id`),
KEY `idx_system_reminder_receiver_user_id` (`receiver_user_id`),
KEY `idx_system_reminder_reminder_type` (`reminder_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统提醒记录表';
CREATE TABLE `system_config` (
`id` bigint NOT NULL COMMENT '主键',
`config_key` varchar(128) NOT NULL COMMENT '配置键',
`config_value` varchar(2000) NOT NULL COMMENT '配置值',
`config_name` varchar(255) NOT NULL COMMENT '配置名称',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态1启用 0停用',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_system_config_key` (`config_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表';
CREATE TABLE `file_attachment` (
`id` bigint NOT NULL COMMENT '主键',
`biz_type` varchar(64) NOT NULL COMMENT '业务类型',
`biz_id` bigint NOT NULL COMMENT '业务主键',
`file_name` varchar(255) NOT NULL COMMENT '文件名',
`file_url` varchar(1000) NOT NULL COMMENT '文件地址',
`file_type` varchar(64) DEFAULT NULL COMMENT '文件类型',
`file_size` bigint DEFAULT NULL COMMENT '文件大小',
`created_by` bigint DEFAULT NULL COMMENT '上传人',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_file_attachment_biz_type` (`biz_type`),
KEY `idx_file_attachment_biz_id` (`biz_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件附件表';
CREATE TABLE `ai_recognition_log` (
`id` bigint NOT NULL COMMENT '主键',
`biz_type` varchar(64) NOT NULL COMMENT '业务类型',
`biz_id` bigint NOT NULL COMMENT '业务主键',
`image_url` varchar(1000) NOT NULL COMMENT '图片地址',
`raw_result` longtext COMMENT '原始识别结果',
`confidence` decimal(10,4) DEFAULT NULL COMMENT '置信度',
`corrected_result` longtext COMMENT '人工修正结果',
`created_by` bigint DEFAULT NULL COMMENT '操作人',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_ai_recognition_log_biz_type` (`biz_type`),
KEY `idx_ai_recognition_log_biz_id` (`biz_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI识别结果表';
CREATE TABLE `performance_stat_cache` (
`id` bigint NOT NULL COMMENT '主键',
`stat_type` varchar(32) NOT NULL COMMENT '统计类型:月/季/年',
`stat_period` varchar(32) NOT NULL COMMENT '统计周期',
`industry_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '工业品金额',
`daily_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '日用品金额',
`order_count` int NOT NULL DEFAULT 0 COMMENT '订单数量',
`order_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '订单金额',
`commission_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成核对金额',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_performance_stat_cache_type_period` (`stat_type`, `stat_period`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业绩统计缓存表';
CREATE TABLE `audit_log` (
`id` bigint NOT NULL COMMENT '主键',
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
`operator_name` varchar(64) DEFAULT NULL COMMENT '操作人名称',
`operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
`operate_type` varchar(64) NOT NULL COMMENT '操作类型',
`biz_type` varchar(64) NOT NULL COMMENT '业务类型',
`biz_id` bigint NOT NULL COMMENT '业务主键',
`before_value` longtext COMMENT '操作前值',
`after_value` longtext COMMENT '操作后值',
`result` varchar(32) NOT NULL COMMENT '结果success/fail',
`remark` varchar(1000) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_audit_log_biz_type` (`biz_type`),
KEY `idx_audit_log_biz_id` (`biz_id`),
KEY `idx_audit_log_operator_id` (`operator_id`),
KEY `idx_audit_log_operate_time` (`operate_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计日志表';
SET FOREIGN_KEY_CHECKS = 1;