客服系统中的快捷回复功能是一项允许客服代表快速回答常见问题的功能。
表结构设计
在我们的系统中,快捷回复功能使用了两个表:reply_group和reply_item。
reply_group表存储快捷回复分组,包括组名、客服账户、企业ID以及是否为团队。
reply_item表存储快捷回复内容,包括内容、分组ID、客服账户、快捷回复标题、企业ID以及是否为团队。
DROP TABLE IF EXISTS `reply_group`; CREATE TABLE `reply_group` ( `id` int(11) NOT NULL AUTO_INCREMENT, `group_name` varchar(255) NOT NULL DEFAULT '' COMMENT '组名', `user_id` varchar(255) NOT NULL DEFAULT '' COMMENT '客服账户', `ent_id` varchar(255) NOT NULL DEFAULT '' COMMENT '客服企业ID', `is_team` tinyint NOT NULL DEFAULT '1' COMMENT '1个人,2团队', PRIMARY KEY (`id`) COMMENT '自增主键索引', KEY `user_id` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '快捷回复分组表'; DROP TABLE IF EXISTS `reply_item`; CREATE TABLE `reply_item` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content` varchar(1024) NOT NULL DEFAULT '' COMMENT '快捷回复内容', `group_id` int(11) NOT NULL DEFAULT '0' COMMENT '快捷回复分组ID', `user_id` varchar(255) NOT NULL DEFAULT '' COMMENT '客服账户', `item_name` varchar(255) NOT NULL DEFAULT '' COMMENT '快捷回复标题', `ent_id` varchar(255) NOT NULL DEFAULT '' COMMENT '客服企业ID', `is_team` tinyint NOT NULL DEFAULT '1' COMMENT '1个人,2团队', PRIMARY KEY (`id`) COMMENT '自增主键索引', KEY `user_id` (`user_id`) COMMENT '客服账户索引', KEY `group_id` (`group_id`) COMMENT '快捷回复分组ID索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '快捷回复表';
要使用快捷回复功能,客服代表可以选择一个快捷回复分组,然后在该组中选择一个快捷回复项,将相应的内容插入到聊天窗口中。
这个功能可以大大提高客服的效率,减轻客服代表的工作负担。
查询快捷列表的SQL
因为分开成了两个接口,所有查询语句是下面这样的
私有话术分组
SELECT * FROM reply_group WHERE (user_id = 'xxxx' and is_team=1)
团队话术分组
SELECT * FROM reply_group WHERE (user_id = 'xxxx' and is_team=2)
所有话术列表
SELECT * FROM `reply_item` WHERE (ent_id = '5')
然后在代码中,对数据进行组合处理,这样查询可以极大的简化sql查询的次数