package svc import ( "applet/app/db" "applet/app/e" "applet/app/utils" "encoding/json" "github.com/gin-gonic/gin" ) func Goods(c *gin.Context) { var arg map[string]string if err := c.ShouldBindJSON(&arg); err != nil { e.OutErr(c, e.ERR_INVALID_ARGS, err) return } storeId := c.GetHeader("store_id") arg["store_type"] = "0" if utils.StrToInt(storeId) > 0 { arg["store_id"] = storeId arg["store_type"] = "1" } goods := db.GetGoods(MasterDb(c), arg) goodsList := make([]map[string]interface{}, 0) if goods != nil { scheme, host := ImageBucket(c) for _, v := range *goods { speImageList := make([]string, 0) if v.IsSpeImageOn == 1 { json.Unmarshal([]byte(v.SpeImages), &speImageList) } tmp := map[string]interface{}{ "id": utils.IntToStr(v.Id), "title": v.Title, "img": ImageFormatWithBucket(scheme, host, v.Img), "info": v.Info, "price": v.Price, "stock": utils.IntToStr(v.Stock), "is_single_sku": utils.IntToStr(v.IsSingleSku), "sale_count": utils.IntToStr(v.SaleCount), } goodsList = append(goodsList, tmp) } } e.OutSuc(c, goodsList, nil) return } func GoodsSku(c *gin.Context) { var arg map[string]string if err := c.ShouldBindJSON(&arg); err != nil { e.OutErr(c, e.ERR_INVALID_ARGS, err) return } sku := db.GetGoodsSku(MasterDb(c), arg["goods_id"]) skuList := make([]map[string]string, 0) if sku != nil { for _, v := range *sku { tmp := map[string]string{ "sku_id": utils.Int64ToStr(v.SkuId), "goods_id": utils.IntToStr(v.GoodsId), "price": v.Price, "stock": utils.IntToStr(v.Stock), "indexes": v.Indexes, "sku": v.Sku, } skuList = append(skuList, tmp) } } goods := db.GetGoodsId(MasterDb(c), arg["goods_id"]) res := map[string]interface{}{ "spe": goods.Spe, "sku_list": skuList, } e.OutSuc(c, res, nil) return } func GoodsCoupon(c *gin.Context) { var arg map[string]string if err := c.ShouldBindJSON(&arg); err != nil { e.OutErr(c, e.ERR_INVALID_ARGS, err) return } returnData := CommCoupon(c, arg["amount"]) e.OutSuc(c, returnData, nil) return }