69 lines
1.7 KiB
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)
|
|
}
|