ai_scheduler/internal/services/advice/customer_new.go

69 lines
1.7 KiB
Go

package advice
import (
"ai_scheduler/internal/biz"
"ai_scheduler/internal/entitys"
"ai_scheduler/internal/pkg"
"github.com/gofiber/fiber/v2"
)
// CustomerService 微信好友数据服务
type CustomerService struct {
customerBiz *biz.AdviceCustomerBiz
}
func NewCustomerService(customerBiz *biz.AdviceCustomerBiz) *CustomerService {
return &CustomerService{customerBiz: customerBiz}
}
// Add 新增单条好友
func (s *CustomerService) Add(c *fiber.Ctx) error {
req := &entitys.AdvicerCustomerAddReq{}
if err := c.BodyParser(req); err != nil {
return err
}
err := s.customerBiz.Add(c.UserContext(), req)
return pkg.HandleResponse(c, nil, err)
}
// List 好友列表查询
func (s *CustomerService) List(c *fiber.Ctx) error {
req := &entitys.AdvicerCustomerListReq{}
if err := c.BodyParser(req); err != nil {
return err
}
list, err := s.customerBiz.List(c.UserContext(), req)
return pkg.HandleResponse(c, list, err)
}
// Del 删除好友
func (s *CustomerService) Del(c *fiber.Ctx) error {
req := &entitys.AdvicerCustomerDelReq{}
if err := c.BodyParser(req); err != nil {
return err
}
err := s.customerBiz.Del(c.UserContext(), req)
return pkg.HandleResponse(c, nil, err)
}
// Diff 好友差集查询
func (s *CustomerService) Diff(c *fiber.Ctx) error {
req := &entitys.AdvicerCustomerDiffReq{}
if err := c.BodyParser(req); err != nil {
return err
}
diff, err := s.customerBiz.Diff(c.UserContext(), req)
return pkg.HandleResponse(c, diff, err)
}
// BatchAdd 批量新增好友
func (s *CustomerService) BatchAdd(c *fiber.Ctx) error {
req := &entitys.AdvicerCustomerBatchAddReq{}
if err := c.BodyParser(req); err != nil {
return err
}
err := s.customerBiz.BatchAdd(c.UserContext(), req)
return pkg.HandleResponse(c, nil, err)
}