@@ -1,919 +0,0 @@
package controllers
import (
"math"
"time"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model/dao"
"github.com/astaxie/beego"
)
type StoreSkuController struct {
beego . Controller
}
// @Title 得到商家商品信息
// @Description 得到商家商品信息,如下条件之间是与的关系。对于没有认领的商品,按城市限制。但对于已经认领的商品就不限制了,因为已经在平台上可售,可以操作(改价等等)
// @Param token header string true "认证token"
// @Param storeID query int true "门店ID"
// @Param isFocus query bool true "是否已关注(认领)"
// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
// @Param nameID query int false "SkuName ID"
// @Param nameIDs query string false "SkuName ID列表对象"
// @Param skuID query int false "Sku ID"
// @Param skuIDs query string false "Sku ID列表对象"
// @Param name query string false "商品名称(不要求完全一致)"
// @Param prefix query string false "商品前缀(不要求完全一致)"
// @Param categoryID query int false "商品所属类别ID"
// @Param unit query string false "商品单位"
// @Param fromStatus query int false "查询起始状态( 0: 不可售, 1: 可售) "
// @Param toStatus query int false "查询结束状态( 0: 不可售, 1: 可售) "
// @Param stFromTime query string false "统计SKU开始时间"
// @Param stToTime query string false "统计SKU结束时间"
// @Param stFromCount query int false "统计SKU, 结果集起始数量( 包括) "
// @Param stToCount query int false "统计SKU, 结果集结束数量( 包括) "
// @Param isGetOpRequest query bool false "是否返回相应的待审核变动请求, 缺省为false不返回"
// @Param offset query int false "门店列表起始序号( 以0开始, 缺省为0) "
// @Param pageSize query int false "门店列表页大小( 缺省为50, -1表示全部) "
// @Param isBySku query bool false "是否按SKU分拆"
// @Param isAct query bool false "是否活动商品(包括正常活动与补贴)"
// @Param actVendorID query int false "要得到哪个平台的活动信息(缺省不限制,非零最小值)"
// @Param jdSyncStatus query int false "京东同步标识"
// @Param ebaiSyncStatus query int false "饿百同步标识"
// @Param mtwmSyncStatus query int false "美团外卖同步标识"
// @Param lockTime query string false "价格锁定时间"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoreSkus [get]
func ( c * StoreSkuController ) GetStoreSkus ( ) {
c . callGetStoreSkus ( func ( params * tStoreSkuGetStoreSkusParams ) ( retVal interface { } , errCode string , err error ) {
var skuIDs [ ] int
if err = jxutils . Strings2Objs ( params . SkuIDs , & skuIDs ) ; err == nil {
retVal , err = cms . GetStoreSkus ( params . Ctx , params . StoreID , skuIDs , params . IsFocus , params . Keyword , params . IsBySku , params . IsAct , params . MapData , params . Offset , params . PageSize )
}
return retVal , "" , err
} )
}
// @Title 得到商家商品信息
// @Description 得到商家商品信息,如下条件之间是与的关系。对于没有认领的商品,按城市限制。但对于已经认领的商品就不限制了,因为已经在平台上可售,可以操作(改价等等)
// @Param token header string false "认证token"
// @Param storeIDs query string false "门店ID"
// @Param isFocus query bool true "是否已关注(认领)"
// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
// @Param nameIDs query string false "SkuName ID列表对象"
// @Param skuIDs query string false "Sku ID列表对象"
// @Param name query string false "商品名称(不要求完全一致)"
// @Param prefix query string false "商品前缀(不要求完全一致)"
// @Param categoryID query int false "商品所属类别ID"
// @Param unit query string false "商品单位"
// @Param fromStatus query int false "查询起始状态( 0: 不可售, 1: 可售) "
// @Param toStatus query int false "查询结束状态( 0: 不可售, 1: 可售) "
// @Param stFromTime query string false "统计SKU开始时间"
// @Param stToTime query string false "统计SKU结束时间"
// @Param stFromCount query int false "统计SKU, 结果集起始数量( 包括) "
// @Param stToCount query int false "统计SKU, 结果集结束数量( 包括) "
// @Param isGetOpRequest query bool false "是否返回相应的待审核变动请求, 缺省为false不返回"
// @Param offset query int false "门店列表起始序号( 以0开始, 缺省为0) "
// @Param pageSize query int false "门店列表页大小( 缺省为50, -1表示全部) "
// @Param isBySku query bool false "是否按SKU分拆"
// @Param isAct query bool false "是否活动商品(包括正常活动与补贴)"
// @Param actVendorID query int false "要得到哪个平台的活动信息(缺省不限制,非零最小值)"
// @Param jdSyncStatus query int false "京东同步标识"
// @Param ebaiSyncStatus query int false "饿百同步标识"
// @Param mtwmSyncStatus query int false "美团外卖同步标识"
// @Param lockTime query string false "价格锁定时间"
// @Param isHighPrice query bool false "是否查过高价格商品,0是忽略, 1是高价, -1是低价"
// @Param priceType query int false "是否查过高价格商品,0是忽略, 1是高价, -1是低价"
// @Param highestPrice query string false "查询最高价"
// @Param minimumPrice query string false "查询最低价"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoresSkus [get,post]
func ( c * StoreSkuController ) GetStoresSkus ( ) {
c . callGetStoresSkus ( func ( params * tStoreSkuGetStoresSkusParams ) ( retVal interface { } , errCode string , err error ) {
var storeIDs , skuIDs [ ] int
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . SkuIDs , & skuIDs ) ; err == nil {
retVal , err = cms . GetStoresSkus ( params . Ctx , storeIDs , skuIDs , params . IsFocus , params . IsHighPrice , params . PriceType , params . Keyword , params . IsBySku , params . IsAct , params . MapData , params . Offset , params . PageSize )
}
return retVal , "" , err
} )
}
// @Title 得到异常门店商品数量
// @Description 得到异常门店商品数量
// @Param token header string true "认证token"
// @Param storeID query int true "门店ID"
// @Param syncStatus query int true "同步标志掩码"
// @Param isBySku query bool false "是否按SKU分拆"
// @Param fromStatus query int false "查询起始状态( 0: 不可售, 1: 可售) "
// @Param toStatus query int false "查询结束状态( 0: 不可售, 1: 可售) "
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoreAbnormalSkuCount [get]
func ( c * StoreSkuController ) GetStoreAbnormalSkuCount ( ) {
c . callGetStoreAbnormalSkuCount ( func ( params * tStoreSkuGetStoreAbnormalSkuCountParams ) ( retVal interface { } , errCode string , err error ) {
retVal , err = cms . GetStoreAbnormalSkuCount ( params . Ctx , params . StoreID , params . SyncStatus , params . IsBySku , params . MapData )
return retVal , "" , err
} )
}
// @Title 得到门店商品全信息
// @Description 得到异常门店商品数量
// @Param token header string true "认证token"
// @Param storeID query int true "门店ID"
// @Param vendorIDs query string false "厂商ID列表"
// @Param skuIDs query string true "Sku ID列表对象"
// @Param isContinueWhenError query bool false "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetVendorStoreSkusInfo [get]
func ( c * StoreSkuController ) GetVendorStoreSkusInfo ( ) {
c . callGetVendorStoreSkusInfo ( func ( params * tStoreSkuGetVendorStoreSkusInfoParams ) ( retVal interface { } , errCode string , err error ) {
var vendorIDs , skuIDs [ ] int
err = jxutils . Strings2Objs ( params . VendorIDs , & vendorIDs , params . SkuIDs , & skuIDs )
if err == nil {
retVal , err = cms . GetVendorStoreSkusInfo ( params . Ctx , params . StoreID , vendorIDs , skuIDs , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 修改商家商品绑定
// @Description 修改商家商品绑定, 请换用UpdateStoresSkus
// @Param token header string true "认证token"
// @Param storeID formData int true 门店ID"
// @Param payload formData string true "json数据, StoreSkuBindInfo对象"
// @Param causeFlag formData int false "操作类型"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Param isAsync formData bool false "是否异步操作"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStoreSku [put]
func ( c * StoreSkuController ) UpdateStoreSku ( ) {
c . callUpdateStoreSku ( func ( params * tStoreSkuUpdateStoreSkuParams ) ( retVal interface { } , errCode string , err error ) {
var skuBindInfo cms . StoreSkuBindInfo
if err = jxutils . Strings2Objs ( params . Payload , & skuBindInfo ) ; err == nil {
retVal , err = cms . UpdateStoreSku ( params . Ctx , params . CauseFlag , params . StoreID , & skuBindInfo , params . IsAsync , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 批量修改商家商品绑定
// @Description 批量修改商家商品绑定, 请换用UpdateStoresSkus
// @Param token header string true "认证token"
// @Param storeID formData int true "门店ID"
// @Param payload formData string true "json数据, StoreSkuBindInfo对象数组"
// @Param causeFlag formData int false "操作类型"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Param isAsync formData bool false "是否异步操作"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStoreSkus [put]
func ( c * StoreSkuController ) UpdateStoreSkus ( ) {
c . callUpdateStoreSkus ( func ( params * tStoreSkuUpdateStoreSkusParams ) ( retVal interface { } , errCode string , err error ) {
var skuBindInfos [ ] * cms . StoreSkuBindInfo
if err = jxutils . Strings2Objs ( params . Payload , & skuBindInfos ) ; err == nil {
retVal , err = cms . UpdateStoreSkus ( params . Ctx , params . CauseFlag , params . StoreID , skuBindInfos , params . IsAsync , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 同步商家商品信息
// @Description 同步商家商品信息
// @Param token header string true "认证token"
// @Param vendorIDs formData string false "厂商ID列表"
// @Param storeIDs formData string false "门店ID列表"
// @Param skuIDs formData string false "SKU ID列表, 缺省为全部"
// @Param isForce formData bool false "是否强制(设置修改标志)"
// @Param isAsync formData bool true "是否异步操作"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SyncStoresSkus [put]
func ( c * StoreSkuController ) SyncStoresSkus ( ) {
c . callSyncStoresSkus ( func ( params * tStoreSkuSyncStoresSkusParams ) ( retVal interface { } , errCode string , err error ) {
db := dao . GetDB ( )
var storeIDs , skuIDs , vendorIDs [ ] int
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . SkuIDs , & skuIDs , params . VendorIDs , & vendorIDs ) ; err != nil {
return retVal , "" , err
}
retVal , err = cms . CurVendorSync . SyncStoresSkus ( params . Ctx , nil , 0 , db , vendorIDs , storeIDs , skuIDs , params . IsForce , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 批量修改多商家商品绑定
// @Description 批量修改多商家商品绑定
// @Param token header string true "认证token"
// @Param storeIDs formData string true "门店ID列表"
// @Param payload formData string true "json数据, StoreSkuBindInfo对象数组"
// @Param isScale formData bool false "是否按门店结算比例缩放"
// @Param causeFlag formData int false "操作类型"
// @Param isRefreshHigh formData bool false "是否只刷门店价高于给的价"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Param isAsync formData bool false "是否异步操作"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStoresSkus [put]
func ( c * StoreSkuController ) UpdateStoresSkus ( ) {
c . callUpdateStoresSkus ( func ( params * tStoreSkuUpdateStoresSkusParams ) ( retVal interface { } , errCode string , err error ) {
var storeIDs [ ] int
var skuBindInfos [ ] * cms . StoreSkuBindInfo
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . Payload , & skuBindInfos ) ; err != nil {
return retVal , "" , err
}
retVal , err = cms . UpdateStoresSkus ( params . Ctx , params . CauseFlag , storeIDs , skuBindInfos , params . IsScale , params . IsRefreshHigh , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 批量修改多商家商品绑定(不同步)
// @Description 批量修改多商家商品绑定(不同步)
// @Param token header string true "认证token"
// @Param storeIDs formData string false "门店ID列表"
// @Param payload formData string true "json数据, StoreSkuBindInfo对象数组"
// @Param isRefreshHigh formData bool true "是否只刷门店价高于给的价"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStoresSkusWithoutSync [put]
func ( c * StoreSkuController ) UpdateStoresSkusWithoutSync ( ) {
c . callUpdateStoresSkusWithoutSync ( func ( params * tStoreSkuUpdateStoresSkusWithoutSyncParams ) ( retVal interface { } , errCode string , err error ) {
var storeIDs [ ] int
var skuBindInfos [ ] * cms . StoreSkuBindInfo
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . Payload , & skuBindInfos ) ; err != nil {
return retVal , "" , err
}
err = cms . UpdateStoresSkusWithoutSync ( params . Ctx , storeIDs , skuBindInfos , params . IsRefreshHigh )
return retVal , "" , err
} )
}
// @Title 按门店商品维度批量修改多商家商品绑定
// @Description 按门店商品维度批量修改多商家商品绑定
// @Param token header string true "认证token"
// @Param payload formData string true "json数据, StoreSkuBindInfo对象数组"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Param isAsync formData bool false "是否异步操作"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStoresSkusByBind [put]
func ( c * StoreSkuController ) UpdateStoresSkusByBind ( ) {
c . callUpdateStoresSkusByBind ( func ( params * tStoreSkuUpdateStoresSkusByBindParams ) ( retVal interface { } , errCode string , err error ) {
var skuBindInfos [ ] * cms . StoreSkuBindInfo
if err = jxutils . Strings2Objs ( params . Payload , & skuBindInfos ) ; err != nil {
return retVal , "" , err
}
retVal , err = cms . UpdateStoresSkusByBind ( params . Ctx , nil , skuBindInfos , params . IsAsync , params . IsContinueWhenError , false )
return retVal , "" , err
} )
}
// @Title 拷贝门店SKU信息
// @Description 拷贝门店SKU信息( 此函数当前只是本地数据操作, 要同步到远端需要调用SyncStoresSkus)
// @Param token header string true "认证token"
// @Param fromStoreID formData int true "源门店ID"
// @Param toStoreID formData int false "目标门店ID"
// @Param toStoreIDs formData string false "目标门店ID列表"
// @Param copyMode formData string true "拷贝模式, fresh:目标门店数据全部清除后拷贝, update:确保指定的源数据全部拷贝,已有的忽略"
// @Param pricePercentage formData int false "价格调整百分比, 缺省为100%"
// @Param categoryIDs formData string false "json数据, skuName所属的类别, [1,2,3]"
// @Param skuIDs formData string false "json数据, skuID列表, [1,2,3]"
// @Param isScale formData bool false "是否按门店结算比例缩放"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CopyStoreSkus [post]
func ( c * StoreSkuController ) CopyStoreSkus ( ) {
c . callCopyStoreSkus ( func ( params * tStoreSkuCopyStoreSkusParams ) ( retVal interface { } , errCode string , err error ) {
var toStoreIDs [ ] int
if err = jxutils . Strings2Objs ( params . ToStoreIDs , & toStoreIDs ) ; err == nil {
if params . ToStoreID > 0 {
toStoreIDs = append ( toStoreIDs , params . ToStoreID )
}
retVal , err = cms . CopyStoreSkus ( params . Ctx , params . FromStoreID , toStoreIDs , params . CopyMode , params . IsScale , params . MapData , params . Ctx . GetUserName ( ) )
}
return retVal , "" , err
} )
}
// @Title 批量修改多商家商品可售状态
// @Description 批量修改多商家商品可售状态
// @Param token header string true "认证token"
// @Param storeIDs formData string true "门店ID列表"
// @Param payload formData string true "json数据, StoreSkuBindSkuInfo对象数组"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Param autoSaleAt formData string false "临时不可售到期时间"
// @Param ignoreDontSale formData bool false "在临时不可售时,是否忽略当前是不可售的商品"
// @Param isAsync formData bool false "是否异步操作"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStoresSkusSale [put]
func ( c * StoreSkuController ) UpdateStoresSkusSale ( ) {
c . callUpdateStoresSkusSale ( func ( params * tStoreSkuUpdateStoresSkusSaleParams ) ( retVal interface { } , errCode string , err error ) {
var storeIDs [ ] int
var skuBindSkuInfos [ ] * cms . StoreSkuBindSkuInfo
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . Payload , & skuBindSkuInfos ) ; err != nil {
return retVal , "" , err
}
timeList , err := jxutils . BatchStr2Time ( params . AutoSaleAt )
if err != nil {
return retVal , "" , err
}
retVal , err = cms . UpdateStoresSkusSale ( params . Ctx , storeIDs , skuBindSkuInfos , timeList [ 0 ] , params . IgnoreDontSale , params . Ctx . GetUserName ( ) , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 得到商家商品销售情况
// @Description 得到商家商品销售情况
// @Param token header string true "认证token"
// @Param storeIDs query string true "门店ID列表"
// @Param skuIDs query string true "Sku ID列表"
// @Param stFromTime query string true "统计SKU开始时间"
// @Param stToTime query string false "统计SKU结束时间"
// @Param stFromCount query int false "统计SKU, 结果集起始数量( 包括) "
// @Param stToCount query int false "统计SKU, 结果集结束数量( 包括) "
// @Param offset query int false "门店列表起始序号( 以0开始, 缺省为0) "
// @Param pageSize query int false "门店列表页大小( 缺省为50, -1表示全部) "
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoresSkusSaleInfo [get]
func ( c * StoreSkuController ) GetStoresSkusSaleInfo ( ) {
c . callGetStoresSkusSaleInfo ( func ( params * tStoreSkuGetStoresSkusSaleInfoParams ) ( retVal interface { } , errCode string , err error ) {
var (
storeIDs , skuIDs [ ] int
timeList [ ] time . Time
)
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . SkuIDs , & skuIDs ) ; err != nil {
return retVal , "" , err
}
if timeList , err = jxutils . BatchStr2Time ( params . StFromTime , params . StToTime ) ; err != nil {
return retVal , "" , err
}
if params . MapData [ "stToToCount" ] == nil {
params . StToCount = math . MaxInt32
}
retVal , err = cms . GetStoresSkusSaleInfo ( params . Ctx , storeIDs , skuIDs , timeList [ 0 ] , timeList [ 1 ] , params . StFromCount , params . StToCount )
return retVal , "" , err
} )
}
// // @Title 得到商家商品修改价格请求信息
// // @Description 得到商家商品修改价格请求信息
// // @Param token header string true "认证token"
// // @Param fromTime query string false "申请开始时间"
// // @Param toTime query string false "申请结束时间"
// // @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
// // @Param storeIDs query string false "门店ID列表"
// // @Param itemIDs query string false "id列表对象, 当前指skuname id"
// // @Param types query string false "类型列表对象"
// // @Param statuss query string false "状态列表对象"
// // @Param offset query int false "门店列表起始序号( 以0开始, 缺省为0) "
// // @Param pageSize query int false "门店列表页大小( 缺省为50, -1表示全部) "
// // @Success 200 {object} controllers.CallResult
// // @Failure 200 {object} controllers.CallResult
// // @router /GetStoreOpRequests [get]
// func (c *StoreSkuController) GetStoreOpRequests() {
// c.callGetStoreOpRequests(func(params *tStoreSkuGetStoreOpRequestsParams) (retVal interface{}, errCode string, err error) {
// var (
// timeList []time.Time
// storeIDs, typeList, statusList, itemIDs []int
// )
// if timeList, err = jxutils.BatchStr2Time(params.FromTime, params.ToTime); err != nil {
// return retVal, "", err
// }
// if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.Types, &typeList, params.Statuss, &statusList, params.ItemIDs, &itemIDs); err != nil {
// return retVal, "", err
// }
// retVal, err = cms.GetStoreOpRequests(params.Ctx, timeList[0], timeList[1], params.Keyword, storeIDs, itemIDs, typeList, statusList, params.Offset, params.PageSize)
// return retVal, "", err
// })
// }
// // @Title 处理商家商品价格申请
// // @Description 处理商家商品价格申请
// // @Param token header string true "认证token"
// // @Param reqIDs formData string true "请求ID列表对象"
// // @Param handleType formData int true "-1拒绝, 1批准"
// // @Param rejectReason formData string false "拒绝理由,拒绝时要求"
// // @Success 200 {object} controllers.CallResult
// // @Failure 200 {object} controllers.CallResult
// // @router /HandleStoreOpRequest [put]
// func (c *StoreSkuController) HandleStoreOpRequest() {
// c.callHandleStoreOpRequest(func(params *tStoreSkuHandleStoreOpRequestParams) (retVal interface{}, errCode string, err error) {
// var reqIDs []int
// if err = jxutils.Strings2Objs(params.ReqIDs, &reqIDs); err != nil {
// return retVal, "", err
// }
// if params.HandleType == 1 {
// err = cms.AcceptStoreOpRequests(params.Ctx, reqIDs)
// } else if params.HandleType == -1 {
// err = cms.RejectStoreOpRequests(params.Ctx, reqIDs, params.RejectReason)
// } else {
// err = fmt.Errorf("handleType=%d是非法值", params.HandleType)
// }
// return retVal, "", err
// })
// }
// @Title 根据厂家门店商品信息相应刷新本地数据
// @Description 根据厂家门店商品信息相应刷新本地数据
// @Param token header string true "认证token"
// @Param storeIDs formData string true "门店ID列表"
// @Param vendorID formData int true "厂商ID( 当前只支持京东) "
// @Param isAsync formData bool false "是否异步操作"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshStoresSkuByVendor [put]
func ( c * StoreSkuController ) RefreshStoresSkuByVendor ( ) {
c . callRefreshStoresSkuByVendor ( func ( params * tStoreSkuRefreshStoresSkuByVendorParams ) ( retVal interface { } , errCode string , err error ) {
var storeIDList [ ] int
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDList ) ; err == nil {
retVal , err = cms . RefreshStoresSkuByVendor ( params . Ctx , storeIDList , params . VendorID , params . IsAsync )
}
return retVal , "" , err
} )
}
// @Title 京东商家商品状态同步
// @Description 京东商家商品状态同步
// @Param token header string true "认证token"
// @Param storeIDs formData string true "门店ID列表"
// @Param skuIDs formData string false "SKU ID列表, 缺省为全部"
// @Param isAsync formData bool false "是否异步操作"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SyncJdStoreProducts [put]
func ( c * StoreSkuController ) SyncJdStoreProducts ( ) {
c . callSyncJdStoreProducts ( func ( params * tStoreSkuSyncJdStoreProductsParams ) ( retVal interface { } , errCode string , err error ) {
var storeIDList , skuIDList [ ] int
err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDList , params . SkuIDs , & skuIDList )
if err == nil {
retVal , err = cms . SyncJdStoreProducts ( params . Ctx , storeIDList , skuIDList , params . IsAsync , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 从订单得到本地没有关注的商品信息
// @Description 从订单得到本地没有关注的商品信息
// @Param token header string true "认证token"
// @Param fromTime query string true "扫描的订单开始时间"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetMissingStoreSkuFromOrder [get]
func ( c * StoreSkuController ) GetMissingStoreSkuFromOrder ( ) {
c . callGetMissingStoreSkuFromOrder ( func ( params * tStoreSkuGetMissingStoreSkuFromOrderParams ) ( retVal interface { } , errCode string , err error ) {
timeList , err := jxutils . BatchStr2Time ( params . FromTime )
if err == nil {
retVal , err = cms . GetMissingStoreSkuFromOrder ( params . Ctx , timeList [ 0 ] )
}
return retVal , "" , err
} )
}
// @Title 根据门店信息查找推荐商品(按销量)
// @Description 根据门店信息查找推荐商品(按销量)
// @Param token header string false "认证token"
// @Param storeIDs query string true "门店列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetTopSkusByStoreIDs [get]
func ( c * StoreSkuController ) GetTopSkusByStoreIDs ( ) {
var storeIDList [ ] int
c . callGetTopSkusByStoreIDs ( func ( params * tStoreSkuGetTopSkusByStoreIDsParams ) ( retVal interface { } , errCode string , err error ) {
if jxutils . Strings2Objs ( params . StoreIDs , & storeIDList ) ; err == nil {
retVal , err = cms . GetTopSkusByStoreIDs ( params . Ctx , storeIDList )
}
return retVal , "" , err
} )
}
// @Title 根据城市信息查找推荐商品(按销量)
// @Description 根据城市信息查找推荐商品(按销量)
// @Param token header string true "认证token"
// @Param cityCode query int false "城市id"
// @Param storeID query int false "门店id"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetTopSkusByCityCode [get]
func ( c * StoreSkuController ) GetTopSkusByCityCode ( ) {
c . callGetTopSkusByCityCode ( func ( params * tStoreSkuGetTopSkusByCityCodeParams ) ( retVal interface { } , errCode string , err error ) {
retVal , err = cms . GetTopSkusByCityCode ( params . Ctx , params . CityCode , params . StoreID )
return retVal , "" , err
} )
}
// @Title 根据门店信息查找推荐分类(按商品销量)
// @Description 根据门店信息查找推荐分类(按商品销量)
// @Param token header string false "认证token"
// @Param storeIDs query string true "门店列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetTopCategoriesByStoreIDs [get]
func ( c * StoreSkuController ) GetTopCategoriesByStoreIDs ( ) {
var storeIDList [ ] int
c . callGetTopCategoriesByStoreIDs ( func ( params * tStoreSkuGetTopCategoriesByStoreIDsParams ) ( retVal interface { } , errCode string , err error ) {
if jxutils . Strings2Objs ( params . StoreIDs , & storeIDList ) ; err == nil {
retVal , err = cms . GetTopCategoriesByStoreIDs ( params . Ctx , storeIDList )
}
return retVal , "" , err
} )
}
// @Title 根据门店刷新中位价
// @Description 根据门店刷新中位价
// @Param token header string true "认证token"
// @Param isCountry formData bool true "是否按全国中位价刷新"
// @Param storeIDs formData string true "门店列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefershStoreSkusMidPrice [put]
func ( c * StoreSkuController ) RefershStoreSkusMidPrice ( ) {
var storeIDList [ ] int
c . callRefershStoreSkusMidPrice ( func ( params * tStoreSkuRefershStoreSkusMidPriceParams ) ( retVal interface { } , errCode string , err error ) {
if jxutils . Strings2Objs ( params . StoreIDs , & storeIDList ) ; err == nil {
err = cms . RefershStoreSkusMidPrice ( params . Ctx , storeIDList , params . IsCountry )
}
return retVal , "" , err
} )
}
// @Title 根据Excel刷新京西门店商品价
// @Description 根据Excel刷新京西门店商品价
// @Param token header string true "认证token"
// @Param storeIDs formData string true "门店列表"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshJxPriceByExcel [post]
func ( c * StoreSkuController ) RefreshJxPriceByExcel ( ) {
var storeIDList [ ] int
c . callRefreshJxPriceByExcel ( func ( params * tStoreSkuRefreshJxPriceByExcelParams ) ( retVal interface { } , errCode string , err error ) {
if jxutils . Strings2Objs ( params . StoreIDs , & storeIDList ) ; err == nil {
r := c . Ctx . Request
files := r . MultipartForm . File [ "userfiles" ]
retVal , err = cms . RefreshJxPriceByExcel ( params . Ctx , storeIDList , files , params . IsAsync , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 根据Excel中SkuID批量关注商品
// @Description 根据Excel中SkuID批量关注商品
// @Param token header string true "认证token"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /FocusStoreSkusByExcel [post]
func ( c * StoreSkuController ) FocusStoreSkusByExcel ( ) {
c . callFocusStoreSkusByExcel ( func ( params * tStoreSkuFocusStoreSkusByExcelParams ) ( retVal interface { } , errCode string , err error ) {
r := c . Ctx . Request
files := r . MultipartForm . File [ "userfiles" ]
retVal , err = cms . FocusStoreSkusByExcel ( params . Ctx , files , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 得到门店的分类列表
// @Description 得到门店的分类列表(按商品销量)
// @Param token header string false "认证token"
// @Param storeID query int true "门店ID"
// @Param parentID query int false "父分类id"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoreCategories [get]
func ( c * StoreSkuController ) GetStoreCategories ( ) {
c . callGetStoreCategories ( func ( params * tStoreSkuGetStoreCategoriesParams ) ( retVal interface { } , errCode string , err error ) {
if params . MapData [ "parentID" ] == nil {
params . ParentID = - 1
}
retVal , err = cms . GetStoreCategories ( params . Ctx , params . StoreID , params . ParentID )
return retVal , "" , err
} )
}
// @Title 获取各平台所有门店某商品的价格
// @Description 获取各平台所有门店某商品的价格
// @Param token header string true "认证token"
// @Param skuID formData int true "商品ID"
// @Param vendorIDs formData string true "厂商ID列表"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetVendorStoreSkuPrice [post]
func ( c * StoreSkuController ) GetVendorStoreSkuPrice ( ) {
var vendorIDList [ ] int
c . callGetVendorStoreSkuPrice ( func ( params * tStoreSkuGetVendorStoreSkuPriceParams ) ( retVal interface { } , errCode string , err error ) {
if jxutils . Strings2Objs ( params . VendorIDs , & vendorIDList ) ; err == nil {
retVal , err = cms . GetVendorStoreSkuPrice ( params . Ctx , vendorIDList , params . SkuID , params . IsAsync , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 根据skuID关注商品, 价格为中位价, 部分可售
// @Description 根据skuID关注商品, 价格为中位价, 部分可售
// @Param token header string true "认证token"
// @Param payload formData string true "json数据, StoreSkuBindInfo对象数组"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /FocusStoreSkusBySku [post]
func ( c * StoreSkuController ) FocusStoreSkusBySku ( ) {
var skuBindInfos [ ] * cms . StoreSkuBindInfo
c . callFocusStoreSkusBySku ( func ( params * tStoreSkuFocusStoreSkusBySkuParams ) ( retVal interface { } , errCode string , err error ) {
if err = jxutils . Strings2Objs ( params . Payload , & skuBindInfos ) ; err != nil {
return retVal , "" , err
}
retVal , err = cms . FocusStoreSkusBySku ( params . Ctx , skuBindInfos , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 自动关注畅销品
// @Description 自动关注畅销品
// @Param token header string true "认证token"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AutoFocusStoreSkusForTopSkus [post]
func ( c * StoreSkuController ) AutoFocusStoreSkusForTopSkus ( ) {
c . callAutoFocusStoreSkusForTopSkus ( func ( params * tStoreSkuAutoFocusStoreSkusForTopSkusParams ) ( retVal interface { } , errCode string , err error ) {
retVal , err = cms . AutoFocusStoreSkusForTopSkus ( params . Ctx , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 设置平台商品力荐标志
// @Description 设置平台商品力荐标志
// @Param token header string true "认证token"
// @Param vendorIDs formData string true "厂商ID列表"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateStoreSkusSpecTag [post]
func ( c * StoreSkuController ) UpdateStoreSkusSpecTag ( ) {
var vendorIDList [ ] int
c . callUpdateStoreSkusSpecTag ( func ( params * tStoreSkuUpdateStoreSkusSpecTagParams ) ( retVal interface { } , errCode string , err error ) {
r := c . Ctx . Request
files := r . MultipartForm . File [ "userfiles" ]
if jxutils . Strings2Objs ( params . VendorIDs , & vendorIDList ) ; err == nil {
retVal , err = cms . UpdateStoreSkusSpecTag ( params . Ctx , vendorIDList , files , params . IsAsync , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 手动爆品预警
// @Description 手动爆品预警
// @Param token header string true "认证token"
// @Param vendorIDs formData string true "厂商ID列表"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SendSeckillSkusCountMsg [post]
func ( c * StoreSkuController ) SendSeckillSkusCountMsg ( ) {
var vendorIDList [ ] int
c . callSendSeckillSkusCountMsg ( func ( params * tStoreSkuSendSeckillSkusCountMsgParams ) ( retVal interface { } , errCode string , err error ) {
if jxutils . Strings2Objs ( params . VendorIDs , & vendorIDList ) ; err == nil {
retVal , err = cms . SendSeckillSkusCountMsg ( params . Ctx , vendorIDList , params . IsAsync , params . IsContinueWhenError )
}
return retVal , "" , err
} )
}
// @Title 根据平台价反算京西价
// @Description 根据平台价反算京西价
// @Param token header string true "认证token"
// @Param payload formData string true "json数据, JdStoreSkus对象"
// @Param vendorID formData int true "厂商ID"
// @Param ignoreLow formData bool true "是否忽略低价商品"
// @Param isAsync formData bool true "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool true "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshJxPriceByVendor [put]
func ( c * StoreSkuController ) RefreshJxPriceByVendor ( ) {
var skuBindInfos [ ] * cms . JdStoreSkus
c . callRefreshJxPriceByVendor ( func ( params * tStoreSkuRefreshJxPriceByVendorParams ) ( retVal interface { } , errCode string , err error ) {
if err = jxutils . Strings2Objs ( params . Payload , & skuBindInfos ) ; err != nil {
return retVal , "" , err
}
retVal , err = cms . RefreshJxPriceByVendor ( params . Ctx , skuBindInfos , params . VendorID , params . IgnoreLow , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 根据平台价反算京西价2
// @Description 根据平台价反算京西价2
// @Param token header string true "认证token"
// @Param storeIDs formData string true "门店列表"
// @Param vendorID formData int true "厂商ID"
// @Param isAsync formData bool false "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshJxPriceByVendor2 [put]
func ( c * StoreSkuController ) RefreshJxPriceByVendor2 ( ) {
var storeIDs [ ] int
c . callRefreshJxPriceByVendor2 ( func ( params * tStoreSkuRefreshJxPriceByVendor2Params ) ( retVal interface { } , errCode string , err error ) {
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs ) ; err != nil {
return retVal , "" , err
}
retVal , err = cms . RefreshJxPriceByVendor2 ( params . Ctx , storeIDs , params . VendorID , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 生成门店商品备份表
// @Description 生成门店商品备份表
// @Param token header string true "认证token"
// @Param isAsync formData bool false "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /BackUpStoreSkuBind [post]
func ( c * StoreSkuController ) BackUpStoreSkuBind ( ) {
c . callBackUpStoreSkuBind ( func ( params * tStoreSkuBackUpStoreSkuBindParams ) ( retVal interface { } , errCode string , err error ) {
retVal , err = cms . BackUpStoreSkuBind ( params . Ctx , params . IsAsync , params . IsContinueWhenError )
return retVal , "" , err
} )
}
// @Title 恢复门店商品表
// @Description 恢复门店商品表
// @Param token header string true "认证token"
// @Param snapshotAt formData string true "日期, 格式2020-03-06 00:00:00"
// @Param storeIDs formData string true "门店列表"
// @Param skuIDs formData string false "商品列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /ReturnStoreSkuBind [post]
func ( c * StoreSkuController ) ReturnStoreSkuBind ( ) {
c . callReturnStoreSkuBind ( func ( params * tStoreSkuReturnStoreSkuBindParams ) ( retVal interface { } , errCode string , err error ) {
var storeIDs , skuIDs [ ] int
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . SkuIDs , & skuIDs ) ; err != nil {
return retVal , "" , err
}
err = cms . ReturnStoreSkuBind ( params . Ctx , params . SnapshotAt , storeIDs , skuIDs )
return retVal , "" , err
} )
}
// @Title 物料库存刷新(物料店商品上下架)
// @Description 物料库存刷新(物料店商品上下架)
// @Param token header string false "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshMatterStock [post]
func ( c * StoreSkuController ) RefreshMatterStock ( ) {
c . callRefreshMatterStock ( func ( params * tStoreSkuRefreshMatterStockParams ) ( retVal interface { } , errCode string , err error ) {
err = cms . RefreshMatterStock ( params . Ctx , 0 )
return retVal , "" , err
} )
}
// @Title 从银豹上拉取标品到京西创建
// @Description 从银豹上拉取标品到京西创建
// @Param token header string true "认证token"
// @Param isAsync formData bool false "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreateSkusAndFocusFromYb [post]
func ( c * StoreSkuController ) CreateSkusAndFocusFromYb ( ) {
c . callCreateSkusAndFocusFromYb ( func ( params * tStoreSkuCreateSkusAndFocusFromYbParams ) ( retVal interface { } , errCode string , err error ) {
// retVal, err = cms.CreateSkusAndFocusFromYb(params.Ctx, params.IsAsync, params.IsContinueWhenError)
return retVal , "" , err
} )
}
// @Title 从微信上扫码标品到京西创建或关注
// @Description 从微信上扫码标品到京西创建或关注
// @Param token header string true "认证token"
// @Param payload formData string true "json数据, ProductInfo对象"
// @Param storeID formData int true "门店ID"
// @Param price formData int true "商品价格"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreateSkusAndFocusFromWx [post]
func ( c * StoreSkuController ) CreateSkusAndFocusFromWx ( ) {
var productInfo * jdapi . ProductInfo
c . callCreateSkusAndFocusFromWx ( func ( params * tStoreSkuCreateSkusAndFocusFromWxParams ) ( retVal interface { } , errCode string , err error ) {
if err = jxutils . Strings2Objs ( params . Payload , & productInfo ) ; err != nil {
return retVal , "" , err
}
err = cms . CreateSkusAndFocusFromWx ( params . Ctx , productInfo , params . Price , params . StoreID )
return retVal , "" , err
} )
}
// @Title 同步菜市物料到果园
// @Description 同步菜市物料到果园
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SyncMatterC4ToGy [post]
func ( c * StoreSkuController ) SyncMatterC4ToGy ( ) {
c . callSyncMatterC4ToGy ( func ( params * tStoreSkuSyncMatterC4ToGyParams ) ( retVal interface { } , errCode string , err error ) {
retVal , err = cms . SyncMatterC4ToGy ( params . Ctx , true , true )
return retVal , "" , err
} )
}
// @Title 查询商品审核信息
// @Description 查询商品审核信息
// @Param token header string true "认证token"
// @Param applyTimeStart query string false "申请开始时间"
// @Param applyTimeEnd query string false "申请结束时间"
// @Param auditTimeStart query string false "审核开始时间"
// @Param auditTimeEnd query string false "审核结束时间"
// @Param name query string false "审核人"
// @Param remark query string false "不通过原因"
// @Param storeIDs query string false "门店ID列表"
// @Param nameIDs query string false "id列表对象, 当前指skuname id"
// @Param statuss query string false "审核状态"
// @Param types query string false "改价类型, 1是普通改价, 2是关注"
// @Param keyword query string false "关键字"
// @Param marketManPhone query string false "市场负责人电话"
// @Param cityName query string false "城市名"
// @Param offset query int false "门店列表起始序号( 以0开始, 缺省为0) "
// @Param pageSize query int false "门店列表页大小( 缺省为50, -1表示全部) "
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoreSkuAudit [get]
func ( c * StoreSkuController ) GetStoreSkuAudit ( ) {
c . callGetStoreSkuAudit ( func ( params * tStoreSkuGetStoreSkuAuditParams ) ( retVal interface { } , errCode string , err error ) {
var (
storeIDs , nameIDs , statuss , types [ ] int
)
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . NameIDs , & nameIDs , params . Statuss , & statuss , params . Types , & types ) ; err != nil {
return retVal , "" , err
}
retVal , err = cms . GetStoreSkuAudit ( params . Ctx , storeIDs , nameIDs , nil , statuss , types , params . Name , params . Remark , params . Keyword , params . MarketManPhone , params . CityName , params . ApplyTimeStart , params . ApplyTimeEnd , params . AuditTimeStart , params . AuditTimeEnd , params . PageSize , params . Offset )
return retVal , "" , err
} )
}
// @Title 审核商品
// @Description 审核商品
// @Param token header string true "认证token"
// @Param payload formData string true "json数据, storeskuaudit对象"
// @Param status formData int false "审核标志, 1通过, -1 不通过, 2 预审核"
// @Param isAsync formData bool false "是否异步,缺省是同步"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续, 缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /StoreSkuPriceAudit [post]
func ( c * StoreSkuController ) StoreSkuPriceAudit ( ) {
c . callStoreSkuPriceAudit ( func ( params * tStoreSkuStoreSkuPriceAuditParams ) ( retVal interface { } , errCode string , err error ) {
var storeSkuAudits [ ] * model . StoreSkuAudit
if err = jxutils . Strings2Objs ( params . Payload , & storeSkuAudits ) ; err != nil {
return retVal , "" , err
}
retVal , hint , err := cms . StoreSkuPriceAudit ( params . Ctx , storeSkuAudits , params . Status , params . IsAsync , params . IsContinueWhenError )
if hint != "" {
return hint , "" , err
} else {
return retVal , "" , err
}
} )
}
// @Title 查看美团力荐或京东置顶商品
// @Description 查看美团力荐或京东置顶商品
// @Param token header string true "认证token"
// @Param vendorIDs formData string true "平台ids"
// @Param storeIDs formData string true "门店IDs"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetSpecialtyStoreSkus [post]
func ( c * StoreSkuController ) GetSpecialtyStoreSkus ( ) {
c . callGetSpecialtyStoreSkus ( func ( params * tStoreSkuGetSpecialtyStoreSkusParams ) ( retVal interface { } , errCode string , err error ) {
var (
storeIDs , vendorIDs [ ] int
)
if err = jxutils . Strings2Objs ( params . StoreIDs , & storeIDs , params . VendorIDs , & vendorIDs ) ; err != nil {
return retVal , "" , err
}
err = cms . GetSpecialtyStoreSkus ( params . Ctx , storeIDs , vendorIDs )
return retVal , "" , err
} )
}