package goods // 自营商城商品管理 import ( "applet/app/admin/md" "applet/app/admin/svc/goods" "applet/app/db" "applet/app/db/model" "applet/app/e" "applet/app/svc" "applet/app/utils" "fmt" "github.com/gin-gonic/gin" "github.com/mcuadros/go-defaults" ) func DelMallGoods(c *gin.Context) { var idsMap map[string][]string if err := c.ShouldBindJSON(&idsMap); err != nil { e.OutErr(c, e.ERR_INVALID_ARGS, err) return } goods.DelMallGoods(c, idsMap["ids"]) } // AddMallGoods 添加商品、编辑、复制 func AddMallGoods(c *gin.Context) { var req md.AddGoodsReq // 设置默认值(结构体default标签的值) defaults.SetDefaults(&req) // 初始化翻译器 if err := utils.ValidatorTransInitZh(); err != nil { e.OutErr(c, e.ERR, fmt.Sprintf("init trans failed, err:%v\n", err)) return } err := c.ShouldBindJSON(&req) if err != nil { err = svc.HandleValidateErr(err) err1 := err.(e.E) e.OutErr(c, err1.Code, err1.Error()) return } err = goods.AddMallGoods(c, &req) if err != nil { switch err.(type) { case e.E: err1 := err.(e.E) e.OutErr(c, err1.Code, err1) return default: e.OutErr(c, e.ERR, err) return } } e.OutSuc(c, 1, nil) return } func GetGoodsDetail(c *gin.Context) { id := c.Query("id") if id == "" { id = "0" } resp, err := goods.GetGoodsDetail(c, utils.StrToInt(id)) if err != nil { e.OutErr(c, 400, err) return } e.OutSuc(c, resp, nil) return } func ChangeSaleState(c *gin.Context) { var args struct { GoodsIds []string `json:"goods_ids"` SaleState int `json:"sale_state"` } err := c.ShouldBindJSON(&args) if err != nil { e.OutErr(c, e.ERR_INVALID_ARGS, err.Error()) return } if args.SaleState != 1 && args.SaleState != 2 { e.OutErr(c, e.ERR_INVALID_ARGS, "状态值不正确") return } eg := db.Db _, err = eg.In("goods_id", args.GoodsIds).Update(&model.Goods{SaleState: args.SaleState}) if err != nil { e.OutErr(c, e.ERR_DB_ORM, err) return } e.OutSuc(c, 1, nil) }