Files
jx-callback/controllers/cms_sku.go
苏尹岚 3c6d727423 aa
2021-03-19 09:18:34 +08:00

698 lines
32 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package controllers
import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxstore/misc"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego"
)
type SkuController struct {
beego.Controller
}
// @Title 得到厂商商品类别
// @Description 得到厂商商品类别区别于商家SKU类别
// @Param token header string true "认证token"
// @Param vendorID query int true "厂商ID"
// @Param parentID query string false "父ID-1表示所有缺省为空"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetVendorCategories [get]
func (c *SkuController) GetVendorCategories() {
c.callGetVendorCategories(func(params *tSkuGetVendorCategoriesParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetVendorCategories(params.Ctx, params.VendorID, params.ParentID)
return retVal, "", err
})
}
// @Title 得到商品类别
// @Description 得到商品类别区别于厂商家SKU类别
// @Param token header string false "认证token"
// @Param parentID query int false "父ID-1表示所有缺省为-1"
// @Param isExd query bool false "是否要查饿鲜达分类"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetCategories [get]
func (c *SkuController) GetCategories() {
c.callGetCategories(func(params *tSkuGetCategoriesParams) (retVal interface{}, errCode string, err error) {
if c.GetString("parentID") == "" {
params.ParentID = -1
}
retVal, err = cms.GetCategories(params.Ctx, params.ParentID, params.IsExd)
return retVal, "", err
})
}
// @Title 新增商品类别
// @Description 新增商品类别区别于厂商家SKU类别
// @Param token header string true "认证token"
// @Param payload formData string true "json数据skuCategory对象()"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddCategory [post]
func (c *SkuController) AddCategory() {
c.callAddCategory(func(params *tSkuAddCategoryParams) (retVal interface{}, errCode string, err error) {
cat := &model.SkuCategory{}
if err = utils.UnmarshalUseNumber([]byte(params.Payload), cat); err == nil {
retVal, err = cms.AddCategory(params.Ctx, cat, params.Ctx.GetUserName())
}
return retVal, "", err
})
}
// @Title 修改商品类别
// @Description 修改商品类别区别于厂商家SKU类别
// @Param token header string true "认证token"
// @Param categoryID formData int true "类别IDpayload中的相应字段会被忽略"
// @Param payload formData string true "json数据skuCategory对象()"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateCategory [put]
func (c *SkuController) UpdateCategory() {
c.callUpdateCategory(func(params *tSkuUpdateCategoryParams) (retVal interface{}, errCode string, err error) {
payload := make(map[string]interface{})
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
retVal, err = cms.UpdateCategory(params.Ctx, params.CategoryID, payload, params.Ctx.GetUserName())
}
return retVal, "", err
})
}
// @Title 商品类别重排序
// @Description 商品类别重排序区别于厂商家SKU类别
// @Param token header string true "认证token"
// @Param categoryID formData int true "父ID"
// @Param categoryIDs formData string true "同一父类别下的所有子类别ID列表([1,2,3,4])"
// @Param isExd query bool false "是否要查饿鲜达分类"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /ReorderCategories [put]
func (c *SkuController) ReorderCategories() {
c.callReorderCategories(func(params *tSkuReorderCategoriesParams) (retVal interface{}, errCode string, err error) {
var idList []int
if err = utils.UnmarshalUseNumber([]byte(params.CategoryIDs), &idList); err == nil {
err = cms.ReorderCategories(params.Ctx, params.CategoryID, idList, params.Ctx.GetUserName(), params.IsExd)
}
return retVal, "", err
})
}
// @Title 删除商品类别
// @Description 删除商品类别,只有无商品且无子类别的才能删除
// @Param token header string true "认证token"
// @Param categoryID query int true "商品类别ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteCategory [delete]
func (c *SkuController) DeleteCategory() {
c.callDeleteCategory(func(params *tSkuDeleteCategoryParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.DeleteCategory(params.Ctx, params.CategoryID, params.Ctx.GetUserName())
return retVal, "", err
})
}
// @Title 同步商家SKU类别
// @Description 同步商家SKU类别
// @Param token header string true "认证token"
// @Param categoryID query int true "SKU类别ID, -1表示所有"
// @Param isAsync query bool false "是否异步"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SyncCategory [put]
func (c *SkuController) SyncCategory() {
c.callSyncCategory(func(params *tSkuSyncCategoryParams) (retVal interface{}, errCode string, err error) {
db := dao.GetDB()
retVal, err = cms.CurVendorSync.SyncCategory(params.Ctx, db, params.CategoryID, params.IsAsync, params.Ctx.GetUserName())
return retVal, "", err
})
}
// @Title 得到商品信息
// @Description 得到商品信息,如下条件之间是与的关系
// @Param token header string true "认证token"
// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
// @Param nameIDs query string false "SkuName IDs列表"
// @Param skuIDs query string false "Sku ID列表"
// @Param vendorSkuIDs query string false "厂商SKU ID列表"
// @Param name query string false "商品名称(不要求完全一致)"
// @Param prefix query string false "商品前缀(不要求完全一致)"
// @Param placeCond query string false "查询地点的条件如果此字段没有设置placeCode与isGlobal无效andor指的是placeCodeisGlobal这两个条件间的关系这组条件与其它条件都是与的关系"
// @Param placeCode query int false "可售地点Code"
// @Param isGlobal query bool false "是否全球可售"
// @Param categoryID query int false "商品名所属类别ID"
// @Param skuCategoryID query int false "商品所属类别ID"
// @Param unit query string false "商品单位"
// @Param isSpu query bool false "是否是SPU"
// @Param isExd query bool false "是否是饿鲜达商品"
// @Param fromStatus query int false "查询起始状态0下架1正常"
// @Param toStatus query int false "查询起始状态0下架1正常"
// @Param offset query int false "门店列表起始序号以0开始缺省为0"
// @Param pageSize query int false "门店列表页大小缺省为50-1表示全部"
// @Param isBySku query bool false "是否将sku拆开缺省为false"
// @Param isQueryMidPrice query bool false "是否查询中位价缺省为false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetSkuNames [get,post]
func (c *SkuController) GetSkuNames() {
c.callGetSkuNames(func(params *tSkuGetSkuNamesParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetSkuNames(params.Ctx, params.Keyword, params.IsBySku, params.IsQueryMidPrice, params.MapData, params.Offset, params.PageSize)
return retVal, "", err
})
}
// @Title 新增商品名(及商品)信息
// @Description 新增商品名(及商品)信息
// @Param token header string true "认证token"
// @Param payload formData string true "json数据SkuNameExt对象()可传Skus及Places"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddSkuName [post]
func (c *SkuController) AddSkuName() {
c.callAddSkuName(func(params *tSkuAddSkuNameParams) (retVal interface{}, errCode string, err error) {
skuName := &model.SkuNameExt{}
if err = utils.UnmarshalUseNumber([]byte(params.Payload), skuName); err == nil {
retVal, err = cms.AddSkuName(params.Ctx, skuName, params.Ctx.GetUserName())
}
return retVal, "", err
})
}
// @Title 修改商品名信息
// @Description 修改商品名信息注意如果Places没有变动不要传此字段否则会导致不必要的删除与新增
// @Param token header string true "认证token"
// @Param nameID formData int true "需要修改的商品名IDpayload中的相应数据会被忽略"
// @Param payload formData string true "json数据SkuNameExt对象()Skus无效, Places有效"
// @Param isExd formData bool fasle "是否要修改饿鲜达商品"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateSkuName [put]
func (c *SkuController) UpdateSkuName() {
c.callUpdateSkuName(func(params *tSkuUpdateSkuNameParams) (retVal interface{}, errCode string, err error) {
// var payload map[string]interface{}
// dummySkuName := &model.SkuName{}
payload := make(map[string]interface{})
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
delete(payload, "exPrefix")
delete(payload, "exPrefixBegin")
delete(payload, "exPrefixEnd")
delete(payload, "imgWaterMark")
delete(payload, "exVendorID")
retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload, params.IsExd)
}
return retVal, "", err
})
}
// @Title 删除商品名
// @Description 此前商品名下的所有商品也会被级连删除
// @Param token header string true "认证token"
// @Param nameID query int true "商品名ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteSkuName [delete]
func (c *SkuController) DeleteSkuName() {
c.callDeleteSkuName(func(params *tSkuDeleteSkuNameParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.DeleteSkuName(params.Ctx, params.NameID, params.Ctx.GetUserName())
return retVal, "", err
})
}
// @Title 新增商品
// @Description 新增商品
// @Param token header string true "认证token"
// @Param nameID formData int true "商品名ID, playload中的相应字段会被忽略"
// @Param payload formData string true "json数据Sku对象()"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddSku [post]
func (c *SkuController) AddSku() {
c.callAddSku(func(params *tSkuAddSkuParams) (retVal interface{}, errCode string, err error) {
sku := &model.Sku{}
if err = utils.UnmarshalUseNumber([]byte(params.Payload), sku); err == nil {
retVal, err = cms.AddSku(params.Ctx, params.NameID, sku, params.Ctx.GetUserName())
}
return retVal, "", err
})
}
// @Title 修改商品信息
// @Description 修改商品信息
// @Param token header string true "认证token"
// @Param skuID formData int true "需要修改的商品名IDpayload中的相应数据会被忽略"
// @Param payload formData string true "json数据Sku对象"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateSku [put]
func (c *SkuController) UpdateSku() {
c.callUpdateSku(func(params *tSkuUpdateSkuParams) (retVal interface{}, errCode string, err error) {
payload := make(map[string]interface{})
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
retVal, err = cms.UpdateSku(params.Ctx, params.SkuID, payload)
}
return retVal, "", err
})
}
// @Title 删除商品
// @Description 删除商品
// @Param token header string true "认证token"
// @Param skuID query int true "商品ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteSku [delete]
func (c *SkuController) DeleteSku() {
c.callDeleteSku(func(params *tSkuDeleteSkuParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.DeleteSku(params.Ctx, params.SkuID, params.Ctx.GetUserName())
return retVal, "", err
})
}
// @Title 新增商品名可售地点绑定(不推荐使用)
// @Description 新增商品名可售地点绑定(不推荐使用)
// @Param token header string true "认证token"
// @Param nameID formData int true "商品名ID"
// @Param placeCode formData int true "地点代码"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddSkuNamePlace [post]
func (c *SkuController) AddSkuNamePlace() {
c.callAddSkuNamePlace(func(params *tSkuAddSkuNamePlaceParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.AddSkuNamePlace(params.Ctx, params.NameID, params.PlaceCode, params.Ctx.GetUserName())
return retVal, "", err
})
}
// @Title 删除商品名可售地点绑定(不推荐使用)
// @Description 删除商品名可售地点绑定(不推荐使用)
// @Param token header string true "认证token"
// @Param nameID query int true "商品名ID"
// @Param placeCode query int true "地点代码"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /DeleteSkuNamePlace [delete]
func (c *SkuController) DeleteSkuNamePlace() {
c.callDeleteSkuNamePlace(func(params *tSkuDeleteSkuNamePlaceParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.DeleteSkuNamePlace(params.Ctx, params.NameID, params.PlaceCode, params.Ctx.GetUserName())
return retVal, "", err
})
}
// // @Title 远程查询厂商SKU信息
// // @Description 远程查询厂商SKU信息这个是实时调用API远程查询不推荐使用
// // @Param token header string true "认证token"
// // @Param vendorSkuID query string true "sku ID"
// // @Param vendorID query int true "门店所属的厂商ID"
// // @Param vendorOrgCode query string false "厂商内组织代码"
// // @Success 200 {object} controllers.CallResult
// // @Failure 200 {object} controllers.CallResult
// // @router /GetVendorSku [get]
// func (c *SkuController) GetVendorSku() {
// c.callGetVendorSku(func(params *tSkuGetVendorSkuParams) (retVal interface{}, errCode string, err error) {
// retVal, err = cms.GetVendorSku(params.Ctx, params.VendorID, params.VendorOrgCode, params.VendorSkuID)
// return retVal, "", err
// })
// }
// @Title 同步商家SKU
// @Description 同步商家SKU
// @Param token header string true "认证token"
// @Param nameID formData int true "name ID, -1表示所有"
// @Param skuID formData int true "sku ID, -1表示所有"
// @Param isAsync formData bool false "是否异步"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SyncSku [put]
func (c *SkuController) SyncSku() {
c.callSyncSku(func(params *tSkuSyncSkuParams) (retVal interface{}, errCode string, err error) {
db := dao.GetDB()
retVal, err = cms.CurVendorSync.SyncSku(params.Ctx, db, params.NameID, params.SkuID, params.IsAsync, params.IsContinueWhenError, params.Ctx.GetUserName())
return retVal, "", err
})
}
// @Title 获取敏感词列表
// @Description 获取敏感词列表
// @Param token header string true "认证token"
// @Param vendorID query int false "VendorID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetSensitiveWordList [get]
func (c *SkuController) GetSensitiveWordList() {
c.callGetSensitiveWordList(func(params *tSkuGetSensitiveWordListParams) (retVal interface{}, errCode string, err error) {
sensitiveWordList, err := dao.GetSensitiveWordList(params.VendorID)
var wordList []string
for _, value := range sensitiveWordList {
wordList = append(wordList, value.Word)
}
retVal = wordList
return retVal, "", err
})
}
// @Title 插入敏感词列表
// @Description 插入敏感词列表
// @Param token header string true "认证token"
// @Param word formData string true "关键词名字"
// @Param vendorID formData int false "VendorID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /InsertSensitiveWord [post]
func (c *SkuController) InsertSensitiveWord() {
c.callInsertSensitiveWord(func(params *tSkuInsertSensitiveWordParams) (retVal interface{}, errCode string, err error) {
err = dao.InsertSensitiveWord(params.Word, params.VendorID, params.Ctx.GetUserName())
return retVal, "", err
})
}
// @Title 修改敏感词列表
// @Description 修改敏感词列表
// @Param token header string true "认证token"
// @Param word formData string true "关键词名字"
// @Param vendorID formData int false "VendorID"
// @Param ID formData int false "关键词ID"
// @Param Status formData int false "状态0为修改默认1为删除"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateSensitiveWord [put]
func (c *SkuController) UpdateSensitiveWord() {
c.callUpdateSensitiveWord(func(params *tSkuUpdateSensitiveWordParams) (retVal interface{}, errCode string, err error) {
//word := &model.SensitiveWord{
// VendorID: params.VendorID,
// Word: params.Word,
//}
globals.SugarLogger.Debug("UpdateSensitiveWord入参params:", params)
words, err := dao.GetSensitiveWordList(params.VendorID)
word := words[0]
word.Word = params.Word
if params.ID != 0 {
word.ModelIDCULD.ID = params.ID
}
if params.Status == 1 {
retVal, err = dao.DeleteSensitiveWord(word, params.ID, params.Ctx.GetUserName(), params.VendorID)
} else {
retVal, err = dao.UpdateSensitiveWord(word, params.VendorID, params.ID, params.Ctx.GetUserName())
}
return retVal, "", err
})
}
// @Title 子分类下商品的重排序
// @Description 子分类下商品的重排序
// @Param token header string true "认证token"
// @Param catID formData int true "商品子分类"
// @Param skuIDs formData string true "商品子分类下商品列表"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SortCategorySkus [post]
func (c *SkuController) SortCategorySkus() {
c.callSortCategorySkus(func(params *tSkuSortCategorySkusParams) (retVal interface{}, errCode string, err error) {
var skuIDList []int
if err = jxutils.Strings2Objs(params.SkuIDs, &skuIDList); err == nil {
err = cms.SortCategorySkus(params.Ctx, params.CatID, skuIDList)
}
return retVal, "", err
})
}
// @Title 按照当前城市近30天销量排序显示本店价格附近5公里平均价格差评数量本店销量情况本市总销量
// @Description 按照当前城市近30天销量排序显示本店价格附近5公里平均价格差评数量本店销量情况本市总销量
// @Param token header string true "认证token"
// @Param storeID query int true "京西门店ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoreSkuSalesInfo [get]
func (c *SkuController) GetStoreSkuSalesInfo() {
c.callGetStoreSkuSalesInfo(func(params *tSkuGetStoreSkuSalesInfoParams) (retVal interface{}, errCode string, err error) {
retVal, err = misc.GetStoreSkuSalesInfo(params.Ctx, params.StoreID)
return retVal, "", err
})
}
// @Title 根据名字查询京东商品UPC信息
// @Description 根据名字查询京东商品UPC信息
// @Param token header string true "认证token"
// @Param name query string false "商品名"
// @Param upcCode query string false "upcCode,不支持模糊"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetJdUpcCodeByName [get]
func (c *SkuController) GetJdUpcCodeByName() {
c.callGetJdUpcCodeByName(func(params *tSkuGetJdUpcCodeByNameParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetJdUpcCodeByName(params.Ctx, params.Name, params.UpcCode)
return retVal, "", err
})
}
// @Title 批量设置商品额外前缀
// @Description 批量设置商品额外前缀
// @Param token header string true "认证token"
// @Param nameIDs formData string true "商品nameIDs"
// @Param exPrefix formData string false "商品额外前缀"
// @Param fromDate formData string true "生效开始时间,格式 2006-01-01 "
// @Param toDate formData string true "生效结束时间,格式 2006-01-01 "
// @Param imgWaterMark formData string false "商品水印图"
// @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 /UpdateSkuNamesExPrefix [put]
func (c *SkuController) UpdateSkuNamesExPrefix() {
c.callUpdateSkuNamesExPrefix(func(params *tSkuUpdateSkuNamesExPrefixParams) (retVal interface{}, errCode string, err error) {
var skuIDList []int
if err = jxutils.Strings2Objs(params.NameIDs, &skuIDList); err == nil {
retVal, err = cms.UpdateSkuNamesExPrefix(params.Ctx, skuIDList, params.ImgWaterMark, params.VendorID, params.ExPrefix, params.FromDate, params.ToDate, 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 /SumExianDaDepot [put]
func (c *SkuController) SumExianDaDepot() {
c.callSumExianDaDepot(func(params *tSkuSumExianDaDepotParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.SumExianDaDepot(params.Ctx, 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 /UpdateExianDaSkuCategory [put]
func (c *SkuController) UpdateExianDaSkuCategory() {
c.callUpdateExianDaSkuCategory(func(params *tSkuUpdateExianDaSkuCategoryParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.UpdateExianDaSkuCategory(params.Ctx, params.IsAsync, params.IsContinueWhenError)
return retVal, "", err
})
}
// @Title 根据Excel创建标品
// @Description 根据Excel创建标品
// @Param token header string true "认证token"
// @Param categroyID formData int true "分类ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreateUpcSkuByExcel [post]
func (c *SkuController) CreateUpcSkuByExcel() {
c.callCreateUpcSkuByExcel(func(params *tSkuCreateUpcSkuByExcelParams) (retVal interface{}, errCode string, err error) {
r := c.Ctx.Request
files := r.MultipartForm.File["userfiles"]
retVal, err = cms.CreateUpcSkuByExcel(params.Ctx, files, params.CategroyID)
return retVal, "", err
})
}
// @Title 恢复被删除的京东商品库
// @Description
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshJdDepot [post]
func (c *SkuController) RefreshJdDepot() {
c.callRefreshJdDepot(func(params *tSkuRefreshJdDepotParams) (retVal interface{}, errCode string, err error) {
err = cms.RefreshJdDepot(params.Ctx)
return retVal, "", err
})
}
// @Title 批量设置商品额外信息
// @Description 批量设置商品额外信息
// @Param token header string true "认证token"
// @Param nameIDs formData string true "商品nameIDs"
// @Param exPrefix formData string false "商品额外前缀"
// @Param fromDate formData string true "生效开始时间,格式 2006-01-01 "
// @Param toDate formData string true "生效结束时间,格式 2006-01-01 "
// @Param imgWaterMark formData string false "商品水印图"
// @Param brandID formData int false "品牌ID"
// @Param vendorID formData int true "平台ID"
// @Param vendorOrgCode formData string true "平台账号"
// @Param isAsync formData bool false "是否异步"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateSkuExinfoMap [put]
func (c *SkuController) UpdateSkuExinfoMap() {
c.callUpdateSkuExinfoMap(func(params *tSkuUpdateSkuExinfoMapParams) (retVal interface{}, errCode string, err error) {
var skuIDList []int
if err = jxutils.Strings2Objs(params.NameIDs, &skuIDList); err == nil {
retVal, err = cms.UpdateSkuExinfoMap(params.Ctx, skuIDList, params.ImgWaterMark, params.BrandID, params.VendorID, params.VendorOrgCode, params.ExPrefix, params.FromDate, params.ToDate, params.IsAsync, params.IsContinueWhenError)
}
return retVal, "", err
})
}
// @Title 得到平台类别
// @Description 得到平台类别
// @Param token header string true "认证token"
// @Param parentID query int false "父ID"
// @Param level query int false "分类等级"
// @Param vendorOrgCode query string true "账号ID"
// @Param vendorID query int true "平台ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetVendorCategoryMap [get]
func (c *SkuController) GetVendorCategoryMap() {
c.callGetVendorCategoryMap(func(params *tSkuGetVendorCategoryMapParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.GetVendorCategoryMap(params.Ctx, params.ParentID, params.Level, params.VendorID, params.VendorOrgCode)
return retVal, "", err
})
}
// @Title 新增平台类别
// @Description 新增平台类别
// @Param token header string true "认证token"
// @Param vendorID formData int true "平台ID"
// @Param vendorOrgCode formData string true "账号ID"
// @Param categroyID formData int false "京西分类id"
// @Param level formData int true "分类级别"
// @Param parentID formData int true "分类父ID"
// @Param vendorCategoryName formData string true "类别name"
// @Param vendorCategorySeq formData int true "类别序号"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddVendorCategoryMap [post]
func (c *SkuController) AddVendorCategoryMap() {
c.callAddVendorCategoryMap(func(params *tSkuAddVendorCategoryMapParams) (retVal interface{}, errCode string, err error) {
vendorCategoryMap := &model.VendorCategoryMap{
VendorID: params.VendorID,
VendorOrgCode: params.VendorOrgCode,
CategoryID: params.CategroyID,
VendorCategoryName: params.VendorCategoryName,
VendorCategorySeq: params.VendorCategorySeq,
Level: params.Level,
ParentID: params.ParentID,
}
retVal, err = cms.AddVendorCategoryMap(params.Ctx, vendorCategoryMap)
return retVal, "", err
})
}
// @Title 修改平台类别
// @Description 修改平台类别
// @Param token header string true "认证token"
// @Param ID formData int true "记录ID"
// @Param categoryID formData int false "京西分类id"
// @Param vendorCategoryName formData string false "类别name"
// @Param level formData int true "分类级别"
// @Param parentID formData int true "分类父ID"
// @Param isDelete formData bool false "是否是删除操作默认false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateVendorCategoryMap [put]
func (c *SkuController) UpdateVendorCategoryMap() {
c.callUpdateVendorCategoryMap(func(params *tSkuUpdateVendorCategoryMapParams) (retVal interface{}, errCode string, err error) {
vendorCategoryMap := &model.VendorCategoryMap{
CategoryID: params.CategoryID,
VendorCategoryName: params.VendorCategoryName,
Level: params.Level,
ParentID: params.ParentID,
}
retVal, err = cms.UpdateVendorCategoryMap(params.Ctx, params.ID, vendorCategoryMap, params.IsDelete)
return retVal, "", err
})
}
// @Title 平台类别重排序
// @Description 平台类别重排序
// @Param token header string true "认证token"
// @Param categoryID formData int true "父ID"
// @Param vendorID formData int true "平台ID"
// @Param vendorOrgCode formData string true "账号ID"
// @Param categoryIDs formData string true "同一父类别下的所有子类别ID列表([1,2,3,4])"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /ReorderVendorCategories [put]
func (c *SkuController) ReorderVendorCategories() {
c.callReorderVendorCategories(func(params *tSkuReorderVendorCategoriesParams) (retVal interface{}, errCode string, err error) {
var idList []int
if err = utils.UnmarshalUseNumber([]byte(params.CategoryIDs), &idList); err == nil {
err = cms.ReorderVendorCategories(params.Ctx, params.CategoryID, params.VendorID, params.VendorOrgCode, idList)
}
return retVal, "", err
})
}
// @Title 复制平台类别
// @Description 复制平台类别
// @Param token header string true "认证token"
// @Param fromVendorOrgCode formData int true "源平台ID"
// @Param vendorID formData int true "平台ID"
// @Param toVendorOrgCodes formData string true "目标平台的IDs"
// @Param categoryIDs formData string false "原平台的分类IDs,不传代表整个复制"
// @Param isAsync formData bool false "是否异步操作"
// @Param isContinueWhenError formData bool false "单个同步失败是否继续缺省false"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CopyVendorCategories [put]
func (c *SkuController) CopyVendorCategories() {
c.callCopyVendorCategories(func(params *tSkuCopyVendorCategoriesParams) (retVal interface{}, errCode string, err error) {
return retVal, "", err
})
}
// @Title 平台分类读取门店分类
// @Description 平台分类读取门店分类
// @Param token header string true "认证token"
// @Param vendorOrgCode formData string true "账号ID"
// @Param vendorID formData int true "平台ID"
// @Param storeID formData int true "门店ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /LoadStoreVendorCategories [post]
func (c *SkuController) LoadStoreVendorCategories() {
c.callLoadStoreVendorCategories(func(params *tSkuLoadStoreVendorCategoriesParams) (retVal interface{}, errCode string, err error) {
err = cms.LoadStoreVendorCategories(params.Ctx, params.VendorOrgCode, params.VendorID, params.StoreID)
return retVal, "", err
})
}
// @Title 刷新没图的商品
// @Description 刷新没图的商品
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshNoImgSku [post]
func (c *SkuController) RefreshNoImgSku() {
c.callRefreshNoImgSku(func(params *tSkuRefreshNoImgSkuParams) (retVal interface{}, errCode string, err error) {
return retVal, "", err
})
}