-- ============================================================================ -- SMS发送日志表 (sms_send_log) -- ============================================================================ -- 用途:记录每次短信发送情况,用于资源核算和成本分析 -- 业务场景: -- - 用户注册时的手机号验证 (scene: register) -- - 忘记密码时的手机号验证 (scene: password) -- 相关服务:userService (短信验证码功能) -- 维护注意事项: -- - mobile 字段脱敏存储(前端只显示138****5678格式) -- - 验证码内容不记录,只记录发送状态 -- - 索引:mobile(查询), scene(统计), send_time(报表) -- ============================================================================ -- SMS发送日志表 -- 用于记录每次短信发送情况,便于资源核算和成本分析 CREATE TABLE IF NOT EXISTS sms_send_log ( id BIGSERIAL PRIMARY KEY, mobile VARCHAR(20) NOT NULL, scene VARCHAR(20) NOT NULL DEFAULT 'register', template_code VARCHAR(50) NOT NULL, sign_name VARCHAR(50) NOT NULL, message_id VARCHAR(64) DEFAULT '', response_code VARCHAR(20) DEFAULT '', response_description VARCHAR(255) DEFAULT '', status SMALLINT NOT NULL DEFAULT 1, send_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 索引 CREATE INDEX idx_sms_send_log_mobile ON sms_send_log(mobile); CREATE INDEX idx_sms_send_log_scene ON sms_send_log(scene); CREATE INDEX idx_sms_send_log_send_time ON sms_send_log(send_time);