根据需求设计表结构
1. sl_sms_third_channel短信发送通道表
CREATE TABLE `sl_sms_third_channel` (
`id` bigint NOT NULL COMMENT '主键id',
`sms_type` int NOT NULL COMMENT '短信类型,1:验证类型短信,2:通知类型短信',
`content_type` int NOT NULL COMMENT '内容类型,1:文字短信,2:语音短信',
`sms_code` int NOT NULL COMMENT '短信code,短信微服务发放的code,其他微服务调用时需要传递该参数',
`template_code` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT '第三方平台模板code',
`send_channel` int NOT NULL COMMENT '第三方短信平台码',
`sign_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '签名',
`sms_priority` int NOT NULL COMMENT '数字越大优先级越高',
`account` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '三方平台对应的账户信息,如:accessKeyId、accessKeySecret等,以json格式存储,使用时自行解析',
`status` int NOT NULL COMMENT '通道状态1:使用 中,2:已经停用',
`created` datetime NOT NULL COMMENT '创建时间',
`updated` datetime NOT NULL COMMENT '更新时间',
`is_delete` bit(1) NOT NULL COMMENT '是否删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `created` (`created`) USING BTREE,
KEY `sms_priority` (`sms_priority`),
KEY `index_type` (`sms_type`,`content_type`,`sms_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='短信发送通道';
2. sl_sms_record 短信发送记录
CREATE TABLE `sl_sms_record` (
`id` bigint NOT NULL COMMENT '短信发送记录id',
`send_channel_id` bigint NOT NULL COMMENT '发送通道id,对应sl_sms_third_channel的主键',
`batch_id` bigint NOT NULL COMMENT '发送批次id,用于判断这些数据是同一批次发送的',
`app_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '发起发送请求的微服务名称,如:sl-express-ms-work',
`mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',
`sms_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '短信内容,一般为json格式的参数数据,用于填充短信模板中的占位符参数',
`status` int NOT NULL COMMENT '发送状态,1:成功,2:失败',
`created` datetime NOT NULL COMMENT '创建时间',
`updated` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `created` (`created`) USING BTREE,
KEY `batch_id` (`batch_id`) USING BTREE,
KEY `mobile` (`mobile`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='短信发送记录';