-- 消费者扫码访问事件表(不使用 tenant_id) CREATE TABLE IF NOT EXISTS mes_trace_consumer_scan_event ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', trace_code VARCHAR(255) NOT NULL COMMENT '扫码原始内容(必要时截断)', normalized_code VARCHAR(128) DEFAULT NULL COMMENT '解析后的追溯码', source_type VARCHAR(32) DEFAULT NULL COMMENT '入口类型:BAG/PALLET/BATCH', channel VARCHAR(32) DEFAULT NULL COMMENT '扫码入口渠道:微信/支付宝/浏览器', province VARCHAR(64) DEFAULT NULL COMMENT '省份(IP 归属地)', city VARCHAR(64) DEFAULT NULL COMMENT '城市(IP 归属地)', batch_id BIGINT DEFAULT NULL COMMENT '生产批次编号', success TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否查询成功', error_code VARCHAR(64) DEFAULT NULL COMMENT '失败编码', ip_hash CHAR(64) DEFAULT NULL COMMENT '客户端 IP SHA-256 摘要', user_agent_hash CHAR(64) DEFAULT NULL COMMENT 'User-Agent SHA-256 摘要', event_time DATETIME NOT NULL COMMENT '访问时间', create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', creator VARCHAR(64) DEFAULT NULL COMMENT '创建者', updater VARCHAR(64) DEFAULT NULL COMMENT '更新者', deleted BIT(1) NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (id), KEY idx_trace_consumer_event_time (event_time), KEY idx_trace_consumer_batch_id (batch_id), KEY idx_trace_consumer_success (success), KEY idx_trace_consumer_source_type (source_type), KEY idx_trace_consumer_channel (channel), KEY idx_trace_consumer_province (province) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消费者扫码访问事件';