package promo import ( "net/http" "strconv" "github.com/gin-gonic/gin" "github.com/perfect-panel/server/internal/logic/admin/promo" "github.com/perfect-panel/server/internal/svc" "github.com/perfect-panel/server/internal/types" "github.com/perfect-panel/server/pkg/result" ) // Get promo rule detail func GetPromoRuleDetailHandler(svcCtx *svc.ServiceContext) func(c *gin.Context) { return func(c *gin.Context) { var req types.GetPromoRuleDetailRequest id, err := strconv.ParseInt(c.Param("id"), 10, 64) if err != nil { c.String(http.StatusBadRequest, "Invalid Params") c.Abort() return } req.Id = id _ = c.ShouldBind(&req) if err := svcCtx.Validate(&req); err != nil { result.ParamErrorResult(c, err) return } l := promo.NewGetPromoRuleDetailLogic(c.Request.Context(), svcCtx) resp, err := l.GetPromoRuleDetail(&req) result.HttpResult(c, resp, err) } }