Files
junhong_cmp_fiber/internal/routes/package_series.go
huang 79c061b6fa
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m24s
feat: 实现套餐管理模块,包含套餐系列、双状态管理、废弃模型清理
- 新增套餐系列管理 (CRUD + 状态切换)
- 新增套餐管理 (CRUD + 启用/禁用 + 上架/下架双状态)
- 清理 8 个废弃分佣模型及对应数据库表
- Package 模型新增建议成本价、建议售价、上架状态字段
- 完整的 Store/Service/Handler 三层实现
- 包含单元测试和集成测试
- 归档 add-package-module change
- 新增多个 OpenSpec changes (订单支付、店铺套餐分配、一次性分佣、卡设备系列绑定)
2026-01-27 19:55:47 +08:00

63 lines
1.9 KiB
Go

package routes
import (
"github.com/gofiber/fiber/v2"
"github.com/break/junhong_cmp_fiber/internal/handler/admin"
"github.com/break/junhong_cmp_fiber/internal/model/dto"
"github.com/break/junhong_cmp_fiber/pkg/openapi"
)
func registerPackageSeriesRoutes(router fiber.Router, handler *admin.PackageSeriesHandler, doc *openapi.Generator, basePath string) {
series := router.Group("/package-series")
groupPath := basePath + "/package-series"
Register(series, doc, groupPath, "GET", "", handler.List, RouteSpec{
Summary: "套餐系列列表",
Tags: []string{"套餐系列管理"},
Input: new(dto.PackageSeriesListRequest),
Output: new(dto.PackageSeriesPageResult),
Auth: true,
})
Register(series, doc, groupPath, "POST", "", handler.Create, RouteSpec{
Summary: "创建套餐系列",
Tags: []string{"套餐系列管理"},
Input: new(dto.CreatePackageSeriesRequest),
Output: new(dto.PackageSeriesResponse),
Auth: true,
})
Register(series, doc, groupPath, "GET", "/:id", handler.Get, RouteSpec{
Summary: "获取套餐系列详情",
Tags: []string{"套餐系列管理"},
Input: new(dto.IDReq),
Output: new(dto.PackageSeriesResponse),
Auth: true,
})
Register(series, doc, groupPath, "PUT", "/:id", handler.Update, RouteSpec{
Summary: "更新套餐系列",
Tags: []string{"套餐系列管理"},
Input: new(dto.UpdatePackageSeriesParams),
Output: new(dto.PackageSeriesResponse),
Auth: true,
})
Register(series, doc, groupPath, "DELETE", "/:id", handler.Delete, RouteSpec{
Summary: "删除套餐系列",
Tags: []string{"套餐系列管理"},
Input: new(dto.IDReq),
Output: nil,
Auth: true,
})
Register(series, doc, groupPath, "PATCH", "/:id/status", handler.UpdateStatus, RouteSpec{
Summary: "更新套餐系列状态",
Tags: []string{"套餐系列管理"},
Input: new(dto.UpdatePackageSeriesStatusParams),
Output: nil,
Auth: true,
})
}