qnc-server-old/api/product.go

55 lines
1.3 KiB
Go
Raw Normal View History

2024-09-14 10:48:09 +08:00
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)
}