package api import ( "github.com/gin-gonic/gin" "qnc-server/model/request" "qnc-server/model/response" "qnc-server/service" ) type Product struct { } var product service.ProductService // 注册路由 func InitProduct(group *gin.RouterGroup) { var p Product productPrivateGroup := group.Group("product") productPublicGroup := group.Group("product") productPrivateGroup.Use(JWTAuth()) productPrivateGroup.GET("/product_notes", p.GetProductNotes) productPublicGroup.GET("/product_info", p.GetProductInfo) } func (p *Product) GetProductNotes(c *gin.Context) { var req request.GetProductNotesReq if err := c.ShouldBindQuery(&req); err != nil { response.FailWithMessage("Failed to read request query", c) return } product, err := product.GetProduct(req.ProductName) if err != nil { response.FailWithMessage("get product err", c) return } response.OkWithData(product.Notes, c) } func (p *Product) GetProductInfo(c *gin.Context) { var req request.GetProductNotesReq if err := c.ShouldBindQuery(&req); err != nil { response.FailWithMessage("Failed to read request query", c) return } product, err := product.GetProduct(req.ProductName) if err != nil { response.FailWithMessage("get product err", c) return } response.OkWithData(gin.H{ "id": product.ProductEn, "name": product.ProductName, "price": product.SellPrice, }, c) }