package main import ( "net/http" "sparrow/pkg/models" "sparrow/pkg/rpcs" "sparrow/pkg/server" "strconv" "github.com/martini-contrib/render" ) // SaveProduct 添加或修改产品 func SaveProduct(user *UserToken, product models.Product, r render.Render) { product.VendorID = int32(user.VendorID) reply := models.Product{} err := server.RPCCallByName("registry", "Registry.SaveProduct", &product, &reply) if err != nil { r.JSON(http.StatusOK, renderError(ErrSystemFault, err)) return } r.JSON(http.StatusOK, done(reply)) return } // DeleteProduct 删除产品 func DeleteProduct(user *UserToken, product models.Product, r render.Render) { if int32(user.VendorID) != product.VendorID { r.JSON(http.StatusOK, renderError(ErrIllegalityAction, errIllegalityString)) return } r.JSON(http.StatusOK, done("删除成功")) return } // GetProducts 分页 func GetProducts(user *UserToken, req *http.Request, r render.Render) { pi, _ := strconv.Atoi(req.URL.Query().Get("pi")) ps, _ := strconv.Atoi(req.URL.Query().Get("ps")) name := req.URL.Query().Get("name") args := rpcs.ArgsProductList{ ProductName: name, } args.Pi = pi args.Ps = ps args.VendorID = user.VendorID var reply map[string]interface{} err := server.RPCCallByName("registry", "Registry.GetProducts", &args, &reply) if err != nil { r.JSON(http.StatusOK, renderError(ErrSystemFault, err)) return } r.JSON(http.StatusOK, done(reply)) return }