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 Account = new(account)
type account struct{}
// Add 添加客服账号
// 参数: req - 添加客服账号请求,包含客服账号名称、平台等信息
// 返回: res - 添加成功后的客服账号ID等信息
// 功能: 创建新的客服账号记录
func (c *account) Add(ctx context.Context, req *dto.AddAccountReq) (res *dto.AddAccountRes, err error) {
res, err = service.AccountService.Add(ctx, req)
return
}
// Update 更新客服账号
// 参数: req - 更新客服账号请求包含客服账号ID和待更新字段
// 返回: res - 空响应成功则err为nil
// 功能: 更新客服账号信息
func (c *account) Update(ctx context.Context, req *dto.UpdateAccountReq) (res *beans.ResponseEmpty, err error) {
err = service.AccountService.Update(ctx, req)
return
}
// Delete 删除客服账号
// 参数: req - 删除客服账号请求包含客服账号ID
// 返回: res - 空响应成功则err为nil
// 功能: 逻辑删除客服账号记录
func (c *account) Delete(ctx context.Context, req *dto.DeleteAccountReq) (res *beans.ResponseEmpty, err error) {
err = service.AccountService.Delete(ctx, req)
return
}
// Get 获取单个客服账号
// 参数: req - 获取客服账号请求包含客服账号ID
// 返回: res - 客服账号信息
// 功能: 根据ID获取单个客服账号详情
func (c *account) Get(ctx context.Context, req *dto.GetAccountReq) (res *dto.AccountVO, err error) {
res, err = service.AccountService.Get(ctx, req)
return
}
// List 获取客服账号列表
// 参数: req - 列表查询请求,支持分页、账号名称、状态、平台筛选
// 返回: res - 客服账号列表及分页信息
// 功能: 分页查询客服账号记录
func (c *account) List(ctx context.Context, req *dto.ListAccountReq) (res *dto.ListAccountRes, err error) {
if !g.IsEmpty(req.Page) {
req.Page = &beans.Page{PageNum: 1, PageSize: 20}
}
res, err = service.AccountService.List(ctx, req)
return
}