Files
customer-server/controller/speechcraft_controller.go
2026-03-14 10:02:49 +08:00

70 lines
2.6 KiB
Go
Raw Permalink 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.
// Package controller - 话术控制器
// 功能:话术的增删改查、绑定/解绑客服账号
package controller
import (
"context"
"customer-server/model/dto"
"customer-server/service"
"gitea.com/red-future/common/beans"
)
var Speechcraft = new(speechcraft)
type speechcraft struct{}
// Add 添加话术
// 参数: req - 添加话术请求,包含话术标题、内容等信息
// 返回: res - 添加成功后的话术ID等信息
// 功能: 创建新的话术记录并同步到RAGFlow知识库
func (c *speechcraft) Add(ctx context.Context, req *dto.AddSpeechcraftReq) (res *dto.AddSpeechcraftRes, err error) {
res, err = service.Speechcraft.Add(ctx, req)
return
}
// Update 更新话术
// 参数: req - 更新话术请求包含话术ID和待更新字段
// 返回: res - 空响应成功则err为nil
// 功能: 更新话术内容并同步到RAGFlow
func (c *speechcraft) Update(ctx context.Context, req *dto.UpdateSpeechcraftReq) (res *beans.ResponseEmpty, err error) {
err = service.Speechcraft.Update(ctx, req)
return
}
// Delete 删除话术
// 参数: req - 删除话术请求包含话术ID
// 返回: res - 空响应成功则err为nil
// 功能: 逻辑删除话术记录并从RAGFlow移除
func (c *speechcraft) Delete(ctx context.Context, req *dto.DeleteSpeechcraftReq) (res *beans.ResponseEmpty, err error) {
err = service.Speechcraft.Delete(ctx, req)
return
}
// List 获取话术列表
// 参数: req - 列表查询请求,支持分页、关键词搜索
// 返回: res - 话术列表及分页信息
// 功能: 分页查询话术记录,支持按标题、内容搜索
func (c *speechcraft) List(ctx context.Context, req *dto.ListSpeechcraftReq) (res *dto.ListSpeechcraftRes, err error) {
res, err = service.Speechcraft.List(ctx, req)
return
}
// Bind 绑定话术到客服账号
// 参数: req - 绑定请求包含话术ID和客服账号列表
// 返回: res - 绑定结果,包含成功和失败的账号信息
// 功能: 将话术绑定到指定客服账号更新账号的RAGFlow配置
func (c *speechcraft) Bind(ctx context.Context, req *dto.BindSpeechcraftReq) (res *dto.BindSpeechcraftRes, err error) {
res, err = service.Speechcraft.BindToCustomerServices(ctx, req)
return
}
// Unbind 解绑话术
// 参数: req - 解绑请求包含话术ID和客服账号
// 返回: res - 解绑结果信息
// 功能: 从客服账号解绑指定话术更新RAGFlow配置
func (c *speechcraft) Unbind(ctx context.Context, req *dto.UnbindSpeechcraftReq) (res *dto.UnbindSpeechcraftRes, err error) {
res, err = service.Speechcraft.UnbindFromCustomerService(ctx, req)
return
}