新功能(#79): 实现促销管理接口并支持数量配价

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-05-27 00:54:32 -07:00
parent 5ebfe0a981
commit e27b2320b4
28 changed files with 1462 additions and 1 deletions
+33
View File
@@ -17,6 +17,7 @@ import (
adminMarketing "github.com/perfect-panel/server/internal/handler/admin/marketing"
adminOrder "github.com/perfect-panel/server/internal/handler/admin/order"
adminPayment "github.com/perfect-panel/server/internal/handler/admin/payment"
adminPromo "github.com/perfect-panel/server/internal/handler/admin/promo"
adminRedemption "github.com/perfect-panel/server/internal/handler/admin/redemption"
adminServer "github.com/perfect-panel/server/internal/handler/admin/server"
adminSubscribe "github.com/perfect-panel/server/internal/handler/admin/subscribe"
@@ -374,6 +375,38 @@ func RegisterHandlers(router *gin.Engine, serverCtx *svc.ServiceContext) {
adminPaymentGroupRouter.GET("/platform", adminPayment.GetPaymentPlatformHandler(serverCtx))
}
adminPromoGroupRouter := router.Group("/v1/admin/promo")
adminPromoGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create promo rule
adminPromoGroupRouter.POST("/rule", adminPromo.CreateRuleHandler(serverCtx))
// Get promo rule list
adminPromoGroupRouter.GET("/rule/list", adminPromo.GetRuleListHandler(serverCtx))
// Get promo rule detail
adminPromoGroupRouter.GET("/rule/:id", adminPromo.GetRuleDetailHandler(serverCtx))
// Update promo rule
adminPromoGroupRouter.PUT("/rule/:id", adminPromo.UpdateRuleHandler(serverCtx))
// Delete promo rule
adminPromoGroupRouter.DELETE("/rule/:id", adminPromo.DeleteRuleHandler(serverCtx))
// Set promo prices
adminPromoGroupRouter.POST("/price", adminPromo.SetPriceHandler(serverCtx))
// Get promo price list
adminPromoGroupRouter.GET("/price/list", adminPromo.GetPriceListHandler(serverCtx))
// Delete promo price
adminPromoGroupRouter.DELETE("/price/:id", adminPromo.DeletePriceHandler(serverCtx))
// Get promo usage list
adminPromoGroupRouter.GET("/usage/list", adminPromo.GetUsageListHandler(serverCtx))
}
adminRedemptionGroupRouter := router.Group("/v1/admin/redemption")
adminRedemptionGroupRouter.Use(middleware.AuthMiddleware(serverCtx))