ai_scheduler/internal/services/advice/advicer.go

147 lines
4.0 KiB
Go

package advice
import (
"ai_scheduler/internal/biz"
"ai_scheduler/internal/config"
errorcode "ai_scheduler/internal/data/error"
"ai_scheduler/internal/entitys"
"ai_scheduler/internal/pkg"
"github.com/gofiber/fiber/v2"
)
// AdvicerService 数据处理
type AdvicerService struct {
adviceBiz *biz.AdviceAdvicerBiz
cfg *config.Config
}
// NewDataService
func NewAdvicerService(
adviceBiz *biz.AdviceAdvicerBiz,
cfg *config.Config,
) *AdvicerService {
return &AdvicerService{
adviceBiz: adviceBiz,
cfg: cfg,
}
}
func (d *AdvicerService) AdvicerUpdate(c *fiber.Ctx) error {
req := &entitys.AdvicerInitReq{}
if err := c.BodyParser(req); err != nil {
return err
}
id, err := d.adviceBiz.Update(c.UserContext(), req)
return pkg.HandleResponse(c, int(id), err)
}
func (d *AdvicerService) AdvicerList(c *fiber.Ctx) error {
req := &entitys.AdvicerListReq{}
if err := c.BodyParser(req); err != nil {
return err
}
list, err := d.adviceBiz.List(c.UserContext(), req)
return pkg.HandleResponse(c, list, err)
}
// AdvicerInfo 获取单个销售详情
func (d *AdvicerService) AdvicerInfo(c *fiber.Ctx) error {
req := &entitys.AdvicerInfoReq{}
if err := c.BodyParser(req); err != nil {
return err
}
if req.AdvicerID == 0 {
return errorcode.ParamErr("销售ID不能为空")
}
info, err := d.adviceBiz.Info(c.UserContext(), req)
return pkg.HandleResponse(c, info, err)
}
// AdvicerWxDeviceIdUpdate 更新销售的微信设备 ID
func (d *AdvicerService) AdvicerWxDeviceIdUpdate(c *fiber.Ctx) error {
req := &entitys.AdvicerWxDeviceIdUpdateReq{}
if err := c.BodyParser(req); err != nil {
return err
}
if req.AdvicerId == 0 {
return errorcode.ParamErr("销售ID不能为空")
}
err := d.adviceBiz.UpdateWxDeviceId(c.UserContext(), req.AdvicerId, req.WxDeviceId)
return pkg.HandleResponse(c, nil, err)
}
// AdvicerWxIdUpdate 更新销售的登录微信 wxid
func (d *AdvicerService) AdvicerWxIdUpdate(c *fiber.Ctx) error {
req := &entitys.AdvicerWxIdUpdateReq{}
if err := c.BodyParser(req); err != nil {
return err
}
if req.AdvicerId == 0 {
return errorcode.ParamErr("销售ID不能为空")
}
err := d.adviceBiz.UpdateWxId(c.UserContext(), req.AdvicerId, req.WxId)
return pkg.HandleResponse(c, nil, err)
}
// HostingUpdate 更新销售的托管配置
func (d *AdvicerService) HostingUpdate(c *fiber.Ctx) error {
req := &entitys.AdvicerHostingUpdateReq{}
if err := c.BodyParser(req); err != nil {
return err
}
if req.AdvicerId == 0 {
return errorcode.ParamErr("销售ID不能为空")
}
err := d.adviceBiz.HostingUpdate(c.UserContext(), req)
return pkg.HandleResponse(c, nil, err)
}
func (d *AdvicerService) AdvicerVersionAdd(c *fiber.Ctx) error {
req := &entitys.AdvicerVersionAddReq{}
if err := c.BodyParser(req); err != nil {
return err
}
id, err := d.adviceBiz.VersionAdd(c.UserContext(), req)
return pkg.HandleResponse(c, id, err)
}
func (d *AdvicerService) AdvicerVersionUpdate(c *fiber.Ctx) error {
req := &entitys.AdvicerVersionUpdateReq{}
if err := c.BodyParser(req); err != nil {
return err
}
return d.adviceBiz.VersionUpdate(c.UserContext(), req)
}
func (d *AdvicerService) AdvicerVersionList(c *fiber.Ctx) error {
req := &entitys.AdvicerVersionListReq{}
if err := c.BodyParser(req); err != nil {
return err
}
list, err := d.adviceBiz.VersionList(c.UserContext(), req)
return pkg.HandleResponse(c, list, err)
}
func (d *AdvicerService) AdvicerVersionDel(c *fiber.Ctx) error {
req := &entitys.AdvicerVersionDelReq{}
if err := c.BodyParser(req); err != nil {
return err
}
return d.adviceBiz.VersionDel(c.UserContext(), req)
}
// VersionStyleGenerate AI 生成销售风格维度
func (d *AdvicerService) VersionStyleGenerate(c *fiber.Ctx) error {
req := &entitys.AdvicerVersionStyleGenerateReq{}
if err := c.BodyParser(req); err != nil {
return err
}
if req.AdvicerId == 0 {
return errorcode.ParamErr("advicerId is empty")
}
data, err := d.adviceBiz.VersionStyleGenerate(c.UserContext(), req)
return pkg.HandleResponse(c, data, err)
}