feat: 添加客服账号管理及WebSocket功能

This commit is contained in:
2026-04-03 17:52:09 +08:00
parent b7cce0befa
commit 7416bf8d96
20 changed files with 1065 additions and 74 deletions

View File

@@ -0,0 +1,64 @@
// Package controller - 预制话术控制器
// 功能:预制话术的增删改查
package controller
import (
"context"
"customer-server/model/dto"
"customer-server/service"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
var ScriptedSpeech = new(scriptedSpeech)
type scriptedSpeech struct{}
// Add 添加预制话术
// 参数: req - 添加预制话术请求包含账号ID、数据集ID、问题、回答等信息
// 返回: res - 添加成功后的预制话术ID等信息
// 功能: 创建新的预制话术记录
func (c *scriptedSpeech) Add(ctx context.Context, req *dto.AddScriptedSpeechReq) (res *dto.AddScriptedSpeechRes, err error) {
res, err = service.ScriptedSpeech.Add(ctx, req)
return
}
// Update 更新预制话术
// 参数: req - 更新预制话术请求包含预制话术ID和待更新字段
// 返回: res - 空响应成功则err为nil
// 功能: 更新预制话术信息
func (c *scriptedSpeech) Update(ctx context.Context, req *dto.UpdateScriptedSpeechReq) (res *beans.ResponseEmpty, err error) {
err = service.ScriptedSpeech.Update(ctx, req)
return
}
// Delete 删除预制话术
// 参数: req - 删除预制话术请求包含预制话术ID
// 返回: res - 空响应成功则err为nil
// 功能: 逻辑删除预制话术记录
func (c *scriptedSpeech) Delete(ctx context.Context, req *dto.DeleteScriptedSpeechReq) (res *beans.ResponseEmpty, err error) {
err = service.ScriptedSpeech.Delete(ctx, req)
return
}
// Get 获取单个预制话术
// 参数: req - 获取预制话术请求包含预制话术ID
// 返回: res - 预制话术信息
// 功能: 根据ID获取单个预制话术详情
func (c *scriptedSpeech) Get(ctx context.Context, req *dto.GetScriptedSpeechReq) (res *dto.ScriptedSpeechVO, err error) {
res, err = service.ScriptedSpeech.Get(ctx, req)
return
}
// List 获取预制话术列表
// 参数: req - 列表查询请求支持分页、账号ID、数据集ID筛选
// 返回: res - 预制话术列表及分页信息
// 功能: 分页查询预制话术记录
func (c *scriptedSpeech) List(ctx context.Context, req *dto.ListScriptedSpeechReq) (res *dto.ListScriptedSpeechRes, err error) {
if g.IsEmpty(req.Page) {
req.Page = &beans.Page{PageNum: 1, PageSize: 20}
}
res, err = service.ScriptedSpeech.List(ctx, req)
return
}