Files
customer-server/model/dto/data_dto.go

75 lines
5.5 KiB
Go
Raw Normal View History

2026-03-14 10:02:49 +08:00
package dto
import (
"customer-server/model/entity"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
// AddDataReq 添加数据
type AddDataReq struct {
g.Meta `path:"/add" method:"post" tags:"数据管理" summary:"添加数据" dc:"记录客服与客户的交互数据"` // 路由: POST /data/add
CustomerId string `json:"customerId" v:"required"` // 客户ID
AccountName string `json:"accountName" v:"required"` // 客服账号名称
CustomerServicePlatform string `json:"customerServicePlatform" v:"required"` // 客服平台
CustomerServiceName string `json:"customerServiceName" v:"required"` // 客服名称
IsInbound bool `json:"isInbound"` // 是否进线
IsActive bool `json:"isActive"` // 是否活跃
IsServed bool `json:"isServed"` // 是否接待
HasSentContactCard bool `json:"hasSentContactCard"` // 是否发联系卡
HasSentNameCard bool `json:"hasSentNameCard"` // 是否发名片
HasLeftContactInfo bool `json:"hasLeftContactInfo"` // 是否留资
SessionStartTime int64 `json:"sessionStartTime"` // 会话开始时间
MessageTime int64 `json:"messageTime"` // 消息时间
}
type AddDataRes struct {
Id string `json:"id"`
}
// UpdateDataReq 更新数据
type UpdateDataReq struct {
g.Meta `path:"/update" method:"post" tags:"数据管理" summary:"更新数据" dc:"更新客服交互数据"` // 路由: POST /data/update
Id string `json:"id" v:"required"` // ID
CustomerId string `json:"customerId"`
AccountName string `json:"accountName"`
CustomerServicePlatform string `json:"customerServicePlatform"`
CustomerServiceName string `json:"customerServiceName"`
IsInbound *bool `json:"isInbound"` // 使用指针以区分 false 和未传值
IsActive *bool `json:"isActive"`
IsServed *bool `json:"isServed"`
HasSentContactCard *bool `json:"hasSentContactCard"`
HasSentNameCard *bool `json:"hasSentNameCard"`
HasLeftContactInfo *bool `json:"hasLeftContactInfo"`
SessionStartTime int64 `json:"sessionStartTime"`
MessageTime int64 `json:"messageTime"`
}
// // DeleteDataReq 删除数据
// type DeleteDataReq struct {
// g.Meta `path:"/delete" method:"post" tags:"数据管理" summary:"删除数据" dc:"删除指定数据记录"` // 路由: POST /data/delete
// Id string `json:"id" v:"required"` // ID
// }
// GetDataReq 获取单个数据
type GetDataReq struct {
g.Meta `path:"/one" method:"get" tags:"数据管理" summary:"获取数据详情" dc:"根据ID获取单条数据记录"` // 路由: GET /data/one
Id string `json:"id" v:"required"` // ID
}
// ListDataReq 获取数据列表
type ListDataReq struct {
g.Meta `path:"/list" method:"get" tags:"数据管理" summary:"获取数据列表" dc:"分页查询交互数据,支持按客户、客服、时间筛选"` // 路由: GET /data/list
beans.Page
CustomerId string `json:"customerId" p:"customerId" dc:"筛选客户ID"` // 筛选客户ID
AccountName *string `json:"accountName" dc:"客服账号名称"` // 筛选客服ID
StartDate string `json:"startDate" p:"startDate" dc:"筛选开始日期YYYY-MM-DD"` // 筛选:开始日期
EndDate string `json:"endDate" p:"endDate" dc:"筛选结束日期YYYY-MM-DD"` // 筛选:结束日期
}
type ListDataRes struct {
List []*entity.Data `json:"list"`
Total int `json:"total"`
}