This commit is contained in:
2026-01-09 15:58:09 +08:00
parent bd76520d22
commit ead5f17b7c
18 changed files with 1175 additions and 121 deletions

View File

@@ -0,0 +1,52 @@
package routes
import (
"tyapi-server/internal/infrastructure/http/handlers"
sharedhttp "tyapi-server/internal/shared/http"
"tyapi-server/internal/shared/middleware"
)
// SubCategoryRoutes 二级分类路由
type SubCategoryRoutes struct {
handler *handlers.SubCategoryHandler
auth *middleware.JWTAuthMiddleware
admin *middleware.AdminAuthMiddleware
}
// NewSubCategoryRoutes 创建二级分类路由
func NewSubCategoryRoutes(
handler *handlers.SubCategoryHandler,
auth *middleware.JWTAuthMiddleware,
admin *middleware.AdminAuthMiddleware,
) *SubCategoryRoutes {
return &SubCategoryRoutes{
handler: handler,
auth: auth,
admin: admin,
}
}
// Register 注册路由
func (r *SubCategoryRoutes) Register(router *sharedhttp.GinRouter) {
engine := router.GetEngine()
adminGroup := engine.Group("/api/v1/admin")
adminGroup.Use(r.auth.Handle())
adminGroup.Use(r.admin.Handle())
{
// 二级分类管理
subCategories := adminGroup.Group("/sub-categories")
{
subCategories.POST("", r.handler.CreateSubCategory) // 创建二级分类
subCategories.PUT("/:id", r.handler.UpdateSubCategory) // 更新二级分类
subCategories.DELETE("/:id", r.handler.DeleteSubCategory) // 删除二级分类
subCategories.GET("/:id", r.handler.GetSubCategory) // 获取二级分类详情
subCategories.GET("", r.handler.ListSubCategories) // 获取二级分类列表
}
// 一级分类下的二级分类路由(级联选择)
categoryAdmin := adminGroup.Group("/product-categories")
{
categoryAdmin.GET("/:id/sub-categories", r.handler.ListSubCategoriesByCategory) // 根据一级分类获取二级分类列表
}
}
}