添加国美api,删除老版本蜂鸟API,添加抖音授权api、
This commit is contained in:
259
platformapi/gome_live_show/store_goods.go
Normal file
259
platformapi/gome_live_show/store_goods.go
Normal file
@@ -0,0 +1,259 @@
|
||||
package gome_live_show
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// 商户商品列表查询
|
||||
func (a *API) GetMerchantStoreGoodsList(req *QueryStoreGoodsListReq) (*QueryStoreGoodsListRes, error) {
|
||||
if req.PageNumber == 0 {
|
||||
req.PageNumber = 1
|
||||
}
|
||||
if req.PageSize == 0 {
|
||||
req.PageSize = 50
|
||||
}
|
||||
byteParam, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, GetMerchantGoodsList, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteParam)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &QueryStoreGoodsListRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 商品详情查询,包含商品基本信息名称、图片、品类,规格
|
||||
func (a *API) QueryMerchantStoreGoodsDetail(spuCode string) (*QueryStoreGoodsDetailsRes, error) {
|
||||
byteSpuCode, err := json.Marshal(map[string]string{"spuCode": spuCode})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, GetMerchantGoodsDetailList, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteSpuCode)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &QueryStoreGoodsDetailsRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 商户创建新的商品
|
||||
func (a *API) CreateMerchantGoodsOnStore(req *CreateGoodsListToStore) (*SystemParameterRes, error) {
|
||||
byteReq, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, CreateMerchantGoodsToStore, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &SystemParameterRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 修改商户商品,商品一旦创建,不可修改商品的品类和类型,只能修改商品的基础信息,如果规格信息有修改,需要同时入参specProperty 和 skuSaleList
|
||||
func (a *API) UpdateMerchantGoodsOnStore(req *CreateGoodsListToStore) (*SystemParameterRes, error) {
|
||||
byteReq, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, UpdateMerchantGoodsToStore, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &SystemParameterRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 不在使用的商户商品可删除
|
||||
func (a *API) DeleteGoodsOnStore(spuCode string) (*SystemParameterRes, error) {
|
||||
param, err := json.Marshal(map[string]string{"spuCode": spuCode})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, DeleteMerchantGoodsToStore, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(param)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &SystemParameterRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 根据店铺编码查询店铺商品列表。
|
||||
func (a *API) QueryGoodsListById(req *QueryGoodsListForStoreReq) (*QueryGoodsListForStoreRes, error) {
|
||||
byteReq, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, QueryGoodsListByStoreId, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &QueryGoodsListForStoreRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 查询单商品接口
|
||||
func (a *API) QueryOneGoodsForStore(storeCode, skuCode string) (*QueryStoreOneGoodsRes, error) {
|
||||
if storeCode == "" || skuCode == "" {
|
||||
return nil, errors.New("参数不能为空")
|
||||
}
|
||||
|
||||
byteReq, err := json.Marshal(map[string]string{"storeCode": storeCode, "skuCode": skuCode})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, QueryOneGoodsByStoreId, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &QueryStoreOneGoodsRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 商品上下架操作 功能描述: 商品上下架,支持单商品或多商品;如果商品在审核中或驳回情况下,
|
||||
//将禁止商户的上架操作,最多支持10 个sku,此接口不会立刻响应成功或失败,需要调用查询接口确定
|
||||
func (a *API) OnOffLineGoodsOnStore(req *ShelfGoodsForStoreReq) (*SystemParameterRes, error) {
|
||||
byteReq, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, GoodsOnOffLineByStore, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &SystemParameterRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 单商品维护售价
|
||||
func (a *API) UpdateOnGoodsPriceForStore(req *StoreGoodsPriceUpdateReq) (*SystemParameterRes, error) {
|
||||
byteReq, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, UpdatePriceToOneGoodsByStore, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &SystemParameterRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 商品库存更新接口
|
||||
func (a *API) UpdateStockForStore(req *StoreGoodsStockUpdateReq) (*SystemParameterRes, error) {
|
||||
byteReq, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, UpdateGoodsStockForStore, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &SystemParameterRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// 新增店铺商品
|
||||
func (a *API) CreateGoodsForStore(req *CreateGoodsForStoreReq) (*SystemParameterRes, error) {
|
||||
byteReq, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
gomeResult, err := a.AccessAPI(gomeUrl, AddGoodsForStore, http.MethodPost, utils.Struct2FlatMap(a.MakeRequestParam(byteReq)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := &SystemParameterRes{}
|
||||
if err := utils.Map2StructByJson(gomeResult, result, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if result.Code != 200 {
|
||||
return nil, errors.New(result.Message)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
Reference in New Issue
Block a user