package admin import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/model/dto" myPackageService "github.com/break/junhong_cmp_fiber/internal/service/my_package" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" ) type MyPackageHandler struct { service *myPackageService.Service } func NewMyPackageHandler(service *myPackageService.Service) *MyPackageHandler { return &MyPackageHandler{service: service} } func (h *MyPackageHandler) ListMyPackages(c *fiber.Ctx) error { var req dto.MyPackageListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } packages, total, err := h.service.ListMyPackages(c.UserContext(), &req) if err != nil { return err } return response.SuccessWithPagination(c, packages, total, req.Page, req.PageSize) } func (h *MyPackageHandler) GetMyPackage(c *fiber.Ctx) error { var req dto.IDReq if err := c.ParamsParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "无效的套餐 ID") } pkg, err := h.service.GetMyPackage(c.UserContext(), req.ID) if err != nil { return err } return response.Success(c, pkg) } func (h *MyPackageHandler) ListMySeriesAllocations(c *fiber.Ctx) error { var req dto.MySeriesAllocationListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } allocations, total, err := h.service.ListMySeriesAllocations(c.UserContext(), &req) if err != nil { return err } return response.SuccessWithPagination(c, allocations, total, req.Page, req.PageSize) }