1. 删除

  1. func Delete(ctx *gin.Context) {
  2. id := ctx.Param("id")
  3. i, err := strconv.ParseInt(id, 10, 32)
  4. if err != nil {
  5. ctx.Status(http.StatusNotFound)
  6. return
  7. }
  8. _, err = global.GoodsSrvClient.DeleteGoods(context.Background(), &proto.DeleteGoodsInfo{Id: int32(i)})
  9. if err != nil {
  10. HandleGrpcErrorToHttp(err, ctx)
  11. return
  12. }
  13. ctx.Status(http.StatusOK)
  14. return
  15. }

2. 更新状态

form

  1. type GoodsStatusForm struct{
  2. IsNew *bool `form:"new" json:"new" binding:"required"`
  3. IsHot *bool `form:"hot" json:"hot" binding:"required"`
  4. OnSale *bool `form:"sale" json:"sale" binding:"required"`
  5. }

handler

  1. func UpdateStatus(ctx *gin.Context) {
  2. goodsStatusForm := forms.GoodsStatusForm{}
  3. if err := ctx.ShouldBindJSON(&goodsStatusForm); err != nil {
  4. HandleValidatorError(ctx, err)
  5. return
  6. }
  7. id := ctx.Param("id")
  8. i, err := strconv.ParseInt(id, 10, 32)
  9. if _, err = global.GoodsSrvClient.UpdateGoods(context.Background(), &proto.CreateGoodsInfo{
  10. Id: int32(i),
  11. IsHot: *goodsStatusForm.IsNew,
  12. IsNew: *goodsStatusForm.IsNew,
  13. OnSale: *goodsStatusForm.OnSale,
  14. });err != nil {
  15. HandleGrpcErrorToHttp(err, ctx)
  16. return
  17. }
  18. ctx.JSON(http.StatusOK, gin.H{
  19. "msg": "修改成功",
  20. })
  21. }

3. 更新商品

  1. func Update(ctx *gin.Context){
  2. goodsForm := forms.GoodsForm{}
  3. if err := ctx.ShouldBindJSON(&goodsForm); err != nil {
  4. HandleValidatorError(ctx, err)
  5. return
  6. }
  7. id := ctx.Param("id")
  8. i, err := strconv.ParseInt(id, 10, 32)
  9. if _, err = global.GoodsSrvClient.UpdateGoods(context.Background(), &proto.CreateGoodsInfo{
  10. Id: int32(i),
  11. Name: goodsForm.Name,
  12. GoodsSn: goodsForm.GoodsSn,
  13. Stocks: goodsForm.Stocks,
  14. MarketPrice: goodsForm.MarketPrice,
  15. ShopPrice: goodsForm.ShopPrice,
  16. GoodsBrief: goodsForm.GoodsBrief,
  17. ShipFree: *goodsForm.ShipFree,
  18. Images: goodsForm.Images,
  19. DescImages: goodsForm.DescImages,
  20. GoodsFrontImage: goodsForm.FrontImage,
  21. CategoryId: goodsForm.CategoryId,
  22. BrandId: goodsForm.Brand,
  23. });err != nil {
  24. HandleGrpcErrorToHttp(err, ctx)
  25. return
  26. }
  27. ctx.JSON(http.StatusOK, gin.H{
  28. "msg": "更新成功",
  29. })
  30. }