package otosaas import "git.oa00.com/go/otosaas/request" type sku struct { } const ( skuPoll = "/mall/v1/commodity/list" // 商品池 skuDetail = "/mall/v1/commodity/detail" // 商品详情 skuImage = "/mall/v1/commodity/image" // 商品图片 skuStatus = "/mall/v1/commodity/status" // 商品状态 skuStock = "/mall/v1/commodity/stock" // 商品库存 ) type poolItem struct { TotalCount int `json:"totalCount"` SkuCodes []string `json:"list"` } // Pool @Title 商品池 最大100条 func (s *sku) Pool(page, pageSize uint) (result poolItem, err error) { err = request.Exec(skuPoll, map[string]interface{}{ "page": page, "pageSize": pageSize, }, &result) return } type SkuDetail struct { ShopCode string `json:"shopCode"` CommodityDetailVos []struct { WordDescription string `json:"wordDescription"` // html详情 ImgDescription string `json:"imgDescription"` // 图片详情 CommodityDetailType int `json:"commodityDetailType"` // 详情类别 0=文字描述 1=图片描述 Id int `json:"id"` CommoditySerial int `json:"commoditySerial"` // 排序 } `json:"commodityDetailVos"` // 商品详情 CommodityPic string `json:"commodityPic"` // 商品主图 CommodityDescription string `json:"commodityDescription"` // 商品描述 CommodityCategoryName string `json:"commodityCategoryName"` // 分类名称 一级-二级-三级 CommodityCategoryC1 string `json:"commodityCategoryC1"` // 一级分类id CommodityCategoryC2 string `json:"commodityCategoryC2"` // 二级分类id CommodityCategoryC3 string `json:"commodityCategoryC3"` // 三级分类id CommoditySpecifications []struct { CommodityPropGroup string `json:"commodityPropGroup"` // 规格类型id CommodityPropName string `json:"commodityPropName"` // 规格名称 SellingPrice float64 `json:"sellingPrice"` // 规格售价 SpecificationPic string `json:"specificationPic"` // 规格图 OriginalPrice float64 `json:"originalPrice"` // 原价 CommodityCode string `json:"commodityCode"` // 商品编号 CommodityProp string `json:"commodityProp"` // 规格值id Id int `json:"id"` CommodityPropGroupName string `json:"commodityPropGroupName"` // 规格类型名称 SpecificationCode string `json:"specificationCode"` // 商品规格编号 Status string `json:"status"` // 商品规格状态 1=上架 2=下架 } `json:"commoditySpecifications"` // 规格参数 CommodityCode string `json:"commodityCode"` // 商品编码 CommodityFreight struct { ShopCode string `json:"shopCode"` ThresholdAmount float64 `json:"thresholdAmount"` // 运费模版 FreightTemplateType int `json:"freightTemplateType"` ProvinceName string `json:"provinceName"` // 不配送省份 Id string `json:"id"` TransportationType int `json:"transportationType"` // 配送方式 1=快递 ProvinceId string `json:"provinceId"` // 不配送省份id ValuationType int `json:"valuationType"` // 计价方式 1=按金额 FreightName string `json:"freightName"` ThresholdFee float64 `json:"thresholdFee"` // 运费模版运费 DefaultType int `json:"defaultType"` } `json:"commodityFreight"` // 运费详情 Id int `json:"id"` CommodityName string `json:"commodityName"` // 商品名称 Status string `json:"status"` // 上下架状态 1=上架 2=下架 } // Detail @Title 商品详情 func (s *sku) Detail(skuCode string) (result SkuDetail, err error) { err = request.Exec(skuDetail, map[string]interface{}{ "commodityCode": skuCode, }, &result) return } type SkuImage struct { CommodityCode string `json:"commodityCode"` CommodityImg []string `json:"commodityImg"` } // Image @Title 商品图册 func (s *sku) Image(skuCode string) (result SkuImage, err error) { err = request.Exec(skuImage, map[string]interface{}{ "commodityCode": skuCode, }, &result) return } type SkuStatus struct { CommoditySpecifications []struct { SpecificationCode string `json:"specificationCode"` // 规格编码 Status string `json:"status"` // 规格状态 1=上架 2=下架 } `json:"commoditySpecifications"` CommodityCode string `json:"commodityCode"` // 商品编码 Status int `json:"status"` // 商品状态 1=上架 2=下架 } // Status @Title 商品状态 func (s *sku) Status(skuCode string) (result SkuStatus, err error) { err = request.Exec(skuStatus, map[string]interface{}{ "commodityCode": skuCode, }, &result) return } type SkuStock struct { CommodityTotalStock int `json:"commodityTotalStock"` // 总库存 CommoditySpecifications []struct { SpecificationCode string `json:"specificationCode"` // 规格编码 Stock int `json:"stock"` // 规格库存 } `json:"commoditySpecifications"` CommodityCode string `json:"commodityCode"` // 商品编码 } // Stock @Title 商品库存 func (s *sku) Stock(skuCode string) (result SkuStock, err error) { err = request.Exec(skuStock, map[string]interface{}{ "commodityCode": skuCode, }, &result) return }