1
This commit is contained in:
@@ -6,9 +6,6 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
|
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi"
|
"git.rosy.net.cn/baseapi"
|
||||||
@@ -931,262 +928,12 @@ func StoreOpenAll(ctx *jxcontext.Context) {
|
|||||||
// globals.SugarLogger.Debug("StoreOpenAll skuID is Complete")
|
// globals.SugarLogger.Debug("StoreOpenAll skuID is Complete")
|
||||||
//}
|
//}
|
||||||
|
|
||||||
func TestDiff(ctx *jxcontext.Context, vendorIDList []int, storeIDList []int) {
|
// 对比本地商品和平台商品差异(价格和规格),不同的重新同步
|
||||||
baseapi.SugarLogger.Debugf("CheckSkuDiffBetweenJxAndVendor start time: %v", time.Now())
|
func CheckSkuDiffBetweenJxAndVendor2(ctx *jxcontext.Context, vendorIDList []int, storeIDList []int) {
|
||||||
startProcessTime := time.Now().Unix()
|
//db := dao.GetDB()
|
||||||
vendorMap := make(map[int]bool)
|
//for _, v := range storeIDList {
|
||||||
for _, vendorID := range vendorIDList {
|
// //storeMapList, err := dao.GetStoresMapList(db, vendorIDList, []int{v}, []int{model.StoreStatusOpened, model.StoreStatusHaveRest, model.StoreStatusClosed}, status, model.StoreIsSyncYes, "", "", "")
|
||||||
vendorMap[vendorID] = true //map[平台ID:true]
|
|
||||||
}
|
|
||||||
storeIDMap := make(map[int]bool)
|
|
||||||
for _, storeID := range storeIDList {
|
|
||||||
storeIDMap[storeID] = true //map[门店ID:true]
|
|
||||||
}
|
|
||||||
/************************************************update**************************************************/
|
|
||||||
//自己存值
|
|
||||||
a := func() {
|
|
||||||
for vendorID, _ := range vendorNameList {
|
|
||||||
//filter for vendorID
|
|
||||||
if len(vendorMap) > 0 {
|
|
||||||
if _, ok := vendorMap[vendorID]; !ok {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if partner.IsMultiStore(vendorID) {
|
|
||||||
multiHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IMultipleStoresHandler)
|
|
||||||
for _, vendorOrgCode := range apimanager.CurAPIManager.GetAppOrgCodeList(vendorID) {
|
|
||||||
allSkuNameInfoList, err := multiHandler.GetSkus(ctx, vendorOrgCode, 0, "")
|
|
||||||
//获取单个表格对比的物品信息列表
|
|
||||||
skuNameInfoList = allSkuNameInfoList
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("allSkuNameInfoList赋值错误,error信息" + err.Error())
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
//*partner.StoreSkuInfo skuNameList []*SkuNameInfo
|
|
||||||
var bareStoreSkuList []*partner.StoreSkuInfo
|
|
||||||
for _, v := range allSkuNameInfoList {
|
|
||||||
for _, v2 := range v.SkuList {
|
|
||||||
if v2.Status > model.SkuStatusDontSale {
|
|
||||||
for _, v2 := range v.SkuList {
|
|
||||||
bareStoreSkuList = append(bareStoreSkuList, &v2.StoreSkuInfo)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//if multiStoreAllSkuInfoList[vendorID][vendorOrgCode] != nil && bareStoreSkuList != nil {
|
|
||||||
if multiStoreAllSkuInfoList[vendorID] != nil && bareStoreSkuList != nil {
|
|
||||||
multiStoreAllSkuInfoList[vendorID][vendorOrgCode] = bareStoreSkuList
|
|
||||||
//}else if multiStoreAllSkuInfoList[vendorID][vendorOrgCode] == nil{
|
|
||||||
} else if multiStoreAllSkuInfoList[vendorID] == nil {
|
|
||||||
multiStoreAllSkuInfoList = make(map[int]map[string][]*partner.StoreSkuInfo)
|
|
||||||
multiStoreAllSkuInfoList[vendorID] = make(map[string][]*partner.StoreSkuInfo)
|
|
||||||
multiStoreAllSkuInfoList[vendorID][vendorOrgCode] = bareStoreSkuList
|
|
||||||
}
|
|
||||||
tempMap := make(map[int]*partner.SkuNameInfo)
|
|
||||||
for _, value := range allSkuNameInfoList {
|
|
||||||
for _, skuInfo := range value.SkuList {
|
|
||||||
//表示平台商品库未下架的
|
|
||||||
if skuInfo.Status > model.SkuStatusDontSale {
|
|
||||||
filterVendorDepotUnSaleSkuIds = append(filterVendorDepotUnSaleSkuIds, skuInfo.SkuID)
|
|
||||||
tempMap[skuInfo.SkuID] = value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//商品信息
|
|
||||||
if multiStoreAllSkuInfoMap[vendorID] == nil {
|
|
||||||
multiStoreAllSkuInfoMap = make(map[int]map[string]map[int]*partner.SkuNameInfo)
|
|
||||||
multiStoreAllSkuInfoMap[vendorID] = make(map[string]map[int]*partner.SkuNameInfo)
|
|
||||||
//multiStoreAllSkuInfoMap[vendorID][vendorOrgCode] = make(map[int]*partner.SkuNameInfo)
|
|
||||||
multiStoreAllSkuInfoMap[vendorID][vendorOrgCode] = tempMap
|
|
||||||
} else {
|
|
||||||
multiStoreAllSkuInfoMap[vendorID][vendorOrgCode] = tempMap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************update****************************************************/
|
|
||||||
//1.获取京西本地所有门店信息 store、place、user表联查 jxStoreInfoList
|
|
||||||
//2.过滤所有门店信息,只留下传进来的vendorMap,storeIDMap中对应的平台和门台信息 filterStoreList
|
|
||||||
//3.判断是否多平台门店,两种情况两种处理
|
|
||||||
b := func() {
|
|
||||||
jxStoreInfoList, err := GetStores(ctx, "", map[string]interface{}{}, 0, -1, utils.DefaultTimeValue, utils.DefaultTimeValue, 0, 0)
|
|
||||||
if err != nil {
|
|
||||||
baseapi.SugarLogger.Errorf("CheckSkuDiffBetweenJxAndVendor GetStores error:%v", err)
|
|
||||||
} else {
|
|
||||||
//获取总共几个门店任务
|
|
||||||
filterStoreList := GetFilterStoreList(jxStoreInfoList.Stores, vendorMap, storeIDMap)
|
|
||||||
diffData.InitData()
|
|
||||||
for i := range filterStoreList {
|
|
||||||
jxStoreInfoListValue := filterStoreList[i]
|
|
||||||
storeID := jxStoreInfoListValue.ID
|
|
||||||
storeIDStr := utils.Int2Str(storeID)
|
|
||||||
storeName := jxStoreInfoListValue.Name
|
|
||||||
jxSkuInfoDataSingle := &dao.StoreSkuNamesInfo{}
|
|
||||||
jxSkuInfoDataMulti := &dao.StoreSkuNamesInfo{}
|
|
||||||
if jxStoreInfoListValue.StoreMaps != nil {
|
|
||||||
var multiFlag = false
|
|
||||||
var singleFlag = false
|
|
||||||
var filterJxSkuInfoMapSingle map[int]*dao.StoreSkuNameExt
|
|
||||||
var filterJxSkuInfoMapMulti map[int]*dao.StoreSkuNameExt
|
|
||||||
for _, vendorListValue := range jxStoreInfoListValue.StoreMaps {
|
|
||||||
vendorID := vendorListValue.VendorID
|
|
||||||
if partner.IsMultiStore(vendorID) {
|
|
||||||
if multiFlag == false {
|
|
||||||
//jxSkuInfoDataMulti, _ = GetStoreSkus(ctx, storeID, filterJxDepotUnSaleSkuIds, true, "", true, false, map[string]interface{}{}, 0, -1)
|
|
||||||
jxSkuInfoDataMulti, _ = GetStoreSkus2(ctx, storeID, filterJxDepotUnSaleSkuIds, true, "", true, false, map[string]interface{}{}, 0, -1)
|
|
||||||
/*重新计算价格*/
|
|
||||||
SetJxPrice(jxSkuInfoDataMulti, storeID, vendorID)
|
|
||||||
filterJxSkuInfoMapMulti = GetFilterJxSkuInfoMap(jxSkuInfoDataMulti.SkuNames) //map[京西商品ID:StoreSkuNameExt]
|
|
||||||
multiFlag = true
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if singleFlag == false {
|
|
||||||
//jxSkuInfoDataSingle, _ = GetStoreSkus(ctx, storeID, nil, true, "", true, false, map[string]interface{}{}, 0, -1)
|
|
||||||
jxSkuInfoDataSingle, _ = GetStoreSkus2(ctx, storeID, nil, true, "", true, false, map[string]interface{}{}, 0, -1)
|
|
||||||
/*重新计算价格*/
|
|
||||||
SetJxPrice(jxSkuInfoDataSingle, storeID, vendorID)
|
|
||||||
filterJxSkuInfoMapSingle = GetFilterJxSkuInfoMap(jxSkuInfoDataSingle.SkuNames) //map[京西商品ID:StoreSkuNameExt]
|
|
||||||
singleFlag = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vendorStoreID := vendorListValue.VendorStoreID
|
|
||||||
baseapi.SugarLogger.Debugf("CheckSkuDiffBetweenJxAndVendor storeID:%d vendorID:%d vendorStoreID:%s vendorListValue:%v", storeID, vendorID, vendorStoreID, vendorListValue)
|
|
||||||
|
|
||||||
if partner.IsMultiStore(vendorID) {
|
|
||||||
singleStoreHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler)
|
|
||||||
allSkuInfoList := GetMultiStoreAllSkuInfoList(vendorID, vendorListValue.VendorOrgCode)
|
|
||||||
skuBareInfoList, err := singleStoreHandler.GetStoreSkusBareInfo(ctx, vendorListValue.VendorOrgCode, nil, storeID, vendorStoreID, allSkuInfoList)
|
|
||||||
if err != nil {
|
|
||||||
baseapi.SugarLogger.Infof("CheckSkuDiffBetweenJxAndVendor GetStoreSkusBareInfo error:%v", err)
|
|
||||||
} else if len(skuBareInfoList) > 0 {
|
|
||||||
//获取京东的商品
|
|
||||||
filterSkuInfoMap := GetFilterMultiStoreSkuInfoMap(vendorID, vendorListValue.VendorOrgCode, skuBareInfoList) //map[京东商品ID:SkuNameInfo]
|
|
||||||
CompareJxAndVendor(vendorID, storeIDStr, vendorStoreID, storeName, filterJxSkuInfoMapMulti, filterSkuInfoMap, 1)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
singleStoreHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
|
||||||
vendorSkuInfoList, err := singleStoreHandler.GetStoreSkusFullInfo(ctx, nil, storeID, vendorStoreID, nil)
|
|
||||||
if err != nil {
|
|
||||||
baseapi.SugarLogger.Infof("CheckSkuDiffBetweenJxAndVendor GetStoreSkusFullInfo error:%v", err)
|
|
||||||
} else if len(vendorSkuInfoList) > 0 {
|
|
||||||
//获取京东的商品
|
|
||||||
filterVendorSkuInfoMap := GetFilterVendorSkuInfoMap(vendorSkuInfoList) //map[平台商品ID:SkuNameInfo]
|
|
||||||
CompareJxAndVendor(vendorID, storeIDStr, vendorStoreID, storeName, filterJxSkuInfoMapSingle, filterVendorSkuInfoMap, 0)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************第三步****************************/
|
|
||||||
c := func(data map[int][]DiffData, depotData map[int][]DepotDiffData) {
|
|
||||||
var sheetList []*excel.Obj2ExcelSheetConfig
|
|
||||||
for key, value := range data {
|
|
||||||
sheetName := vendorNameList[key]
|
|
||||||
if partner.IsMultiStore(key) {
|
|
||||||
excelConfDepot := &excel.Obj2ExcelSheetConfig{
|
|
||||||
Title: sheetName + "商品库与京西商品库对比",
|
|
||||||
Data: depotData[key],
|
|
||||||
CaptionList: deoptTitleList,
|
|
||||||
}
|
|
||||||
sheetList = append(sheetList, excelConfDepot)
|
|
||||||
}
|
|
||||||
excelConf := &excel.Obj2ExcelSheetConfig{
|
|
||||||
Title: sheetName,
|
|
||||||
Data: value,
|
|
||||||
CaptionList: titleList,
|
|
||||||
}
|
|
||||||
sheetList = append(sheetList, excelConf)
|
|
||||||
if needStatistic {
|
|
||||||
statisticSheet := AddStatisticSheet(sheetName, value)
|
|
||||||
sheetList = append(sheetList, statisticSheet)
|
|
||||||
}
|
|
||||||
baseapi.SugarLogger.Debugf("WriteToExcel:append:%s count:%d", sheetName, len(value))
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(sheetList) > 0 {
|
|
||||||
excelBin := excel.Obj2Excel(sheetList)
|
|
||||||
sheetList = nil
|
|
||||||
timeStr := utils.Int64ToStr(time.Now().Unix())
|
|
||||||
diffFullFileName := diffFileName[IsJXCS()] + timeStr + fileExt
|
|
||||||
if canWriteTolocal {
|
|
||||||
jxutils.WriteFile(diffFullFileName, excelBin)
|
|
||||||
}
|
|
||||||
baseapi.SugarLogger.Debugf("WriteToExcel:save %s success", diffFullFileName)
|
|
||||||
//上传
|
|
||||||
downloadURL, err := jxutils.UploadExportContent(excelBin, diffFullFileName)
|
|
||||||
if err != nil {
|
|
||||||
baseapi.SugarLogger.Errorf("WriteToExcel:upload %s failed error:%v", diffFullFileName, err)
|
|
||||||
} else {
|
|
||||||
baseapi.SugarLogger.Debugf("WriteToExcel:upload %s success, downloadURL: %s", diffFullFileName, downloadURL)
|
|
||||||
/*************发送钉钉消息**************/
|
|
||||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, ctx.GetUserID(), "异步任务完成", "京西平台对比数据上传成功:Excel下载地址是 "+downloadURL)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
baseapi.SugarLogger.Debug("WriteToExcel:No diff data!!!")
|
|
||||||
}
|
|
||||||
//}
|
//}
|
||||||
endProcessTime := time.Now().Unix()
|
|
||||||
diff := endProcessTime - startProcessTime
|
|
||||||
baseapi.SugarLogger.Debugf("CheckSkuDiffBetweenJxAndVendor end time: %v", time.Now())
|
|
||||||
baseapi.SugarLogger.Debugf("CheckSkuDiffBetweenJxAndVendor cost time: %d sec", diff)
|
|
||||||
}
|
|
||||||
apiover := make(chan int, 1)
|
|
||||||
compover := make(chan int, 1)
|
|
||||||
over := false
|
|
||||||
/********************************第三步****************************/
|
|
||||||
/*异步任务*/
|
|
||||||
/************************************************************************************/
|
|
||||||
go func() {
|
|
||||||
defer func() {
|
|
||||||
if recover() != nil {
|
|
||||||
// beego.Info("执行任务失败")
|
|
||||||
panic("API调用失败")
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
a()
|
|
||||||
depotDiffData.InitData2()
|
|
||||||
CompareJxAndMultiVenderDepot(ctx, vendorMap)
|
|
||||||
apiover <- 0
|
|
||||||
}()
|
|
||||||
/*a等待a现成执行完*/
|
|
||||||
go func() {
|
|
||||||
for !over {
|
|
||||||
select {
|
|
||||||
case <-apiover:
|
|
||||||
/*第二步 为了获取 filterJxDepotUnSaleSkuIds*/
|
|
||||||
go func() {
|
|
||||||
defer func() {
|
|
||||||
if recover() != nil {
|
|
||||||
// beego.Info("比较任务失败")
|
|
||||||
panic("比较任务失败")
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
b()
|
|
||||||
compover <- 0 //比较任务完成
|
|
||||||
}()
|
|
||||||
/*第二步*/
|
|
||||||
case <-compover:
|
|
||||||
go func() {
|
|
||||||
defer func() {
|
|
||||||
if recover() != nil {
|
|
||||||
// beego.Info("写入任务失败")
|
|
||||||
panic("写入任务失败")
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
c(diffData.diffDataMap, depotDiffData.diffDataMap)
|
|
||||||
fmt.Println("任务执行完成")
|
|
||||||
over = true
|
|
||||||
}()
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
/************************************************************************************/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//入口函数,校验本地商品京西和其他平台的差异
|
//入口函数,校验本地商品京西和其他平台的差异
|
||||||
@@ -1408,15 +1155,3 @@ func WriteToExcel(task *tasksch.SeqTask, data map[int][]DiffData, depotData map[
|
|||||||
baseapi.SugarLogger.Debug("WriteToExcel:No diff data!!!")
|
baseapi.SugarLogger.Debug("WriteToExcel:No diff data!!!")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetJxPrice(jxSkuInfoDataMulti *dao.StoreSkuNamesInfo, storeId int, vendorid int) (err error) {
|
|
||||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeId, vendorid, "")
|
|
||||||
/*重新计算京西价格*/
|
|
||||||
for _, values := range jxSkuInfoDataMulti.SkuNames {
|
|
||||||
for _, value := range values.Skus {
|
|
||||||
value.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), value.BindPrice)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*重新计算京西价格*/
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -95,26 +95,36 @@ func SyncStoreCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendo
|
|||||||
num := 0
|
num := 0
|
||||||
rootTask := tasksch.NewSeqTask(fmt.Sprintf("%s SyncStoreCategory step1", model.VendorChineseNames[vendorID]), ctx,
|
rootTask := tasksch.NewSeqTask(fmt.Sprintf("%s SyncStoreCategory step1", model.VendorChineseNames[vendorID]), ctx,
|
||||||
func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
level := step + 1
|
|
||||||
catList, err := dao.GetDirtyStoreCategories(db, vendorID, storeID, level, skuIDs)
|
|
||||||
|
|
||||||
// 保证下面api成功率添加校验
|
// 保证下面api成功率添加校验
|
||||||
if vendorID == model.VendorIDEBAI {
|
if vendorID == model.VendorIDEBAI {
|
||||||
|
// 门店审核状态
|
||||||
status, err := api.EbaiAPI.ShopStatusGet("", utils.Str2Int64(vendorStoreID))
|
status, err := api.EbaiAPI.ShopStatusGet("", utils.Str2Int64(vendorStoreID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
// 门店营业状态
|
||||||
|
ebaiStatus, err := api.EbaiAPI.ShopBusStatusGet("", utils.Str2Int64(vendorStoreID), ebaiapi.PlatformFlagElm)
|
||||||
|
|
||||||
switch status {
|
switch status {
|
||||||
case ebaiapi.ShopCheckStatusCheckSuccess:
|
case ebaiapi.ShopCheckStatusCheckSuccess:
|
||||||
|
|
||||||
case ebaiapi.ShopCheckStatusNew, ebaiapi.ShopCheckStatusWaitCheck, ebaiapi.ShopCheckStatusUpdateWaitCheck:
|
case ebaiapi.ShopCheckStatusNew, ebaiapi.ShopCheckStatusWaitCheck, ebaiapi.ShopCheckStatusUpdateWaitCheck:
|
||||||
|
if ebaiStatus == ebaiapi.ShopBusStatusSuspended {
|
||||||
return nil, fmt.Errorf("门店审核中,请联系饿了么工作人员加快审核")
|
return nil, fmt.Errorf("门店审核中,请联系饿了么工作人员加快审核")
|
||||||
|
}
|
||||||
case ebaiapi.ShopCheckStatusGoLiveFail:
|
case ebaiapi.ShopCheckStatusGoLiveFail:
|
||||||
|
if ebaiStatus == ebaiapi.ShopBusStatusSuspended {
|
||||||
return nil, fmt.Errorf("门店上线审核失败,请联系饿了么工作人员加快审核")
|
return nil, fmt.Errorf("门店上线审核失败,请联系饿了么工作人员加快审核")
|
||||||
|
}
|
||||||
case ebaiapi.ShopCheckStatusCheckFail:
|
case ebaiapi.ShopCheckStatusCheckFail:
|
||||||
|
if ebaiStatus == ebaiapi.ShopBusStatusSuspended {
|
||||||
return nil, fmt.Errorf("门店审核未通过")
|
return nil, fmt.Errorf("门店审核未通过")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
level := step + 1
|
||||||
|
catList, err := dao.GetDirtyStoreCategories(db, vendorID, storeID, level, skuIDs)
|
||||||
if len(catList) > 0 {
|
if len(catList) > 0 {
|
||||||
num += len(catList)
|
num += len(catList)
|
||||||
task := tasksch.NewParallelTask(fmt.Sprintf("%s SyncStoreCategory step2, level=%d", model.VendorChineseNames[vendorID], level),
|
task := tasksch.NewParallelTask(fmt.Sprintf("%s SyncStoreCategory step2, level=%d", model.VendorChineseNames[vendorID], level),
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ func (c *TempOpController) TestStartOrEndOpStore() {
|
|||||||
// @Title 京西平台和其他平台商品的对比
|
// @Title 京西平台和其他平台商品的对比
|
||||||
// @Description 京西平台和其他平台商品的对比
|
// @Description 京西平台和其他平台商品的对比
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param vendorIDs formData string false "运营商ID列表(京东0 美团1 饿百3)"
|
// @Param vendorIDs formData string false "运营商ID列表(京东0 美团1 饿百3,14抖音,16淘宝)"
|
||||||
// @Param storeIDs formData string false "京西门店ID列表"
|
// @Param storeIDs formData string false "京西门店ID列表"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
@@ -295,7 +295,7 @@ func (c *TempOpController) CheckSkuDiffBetweenJxAndVendor() {
|
|||||||
// @Title 京西平台和其他平台商品的对比Test
|
// @Title 京西平台和其他平台商品的对比Test
|
||||||
// @Description 对比Test
|
// @Description 对比Test
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param vendorIDs formData string false "运营商ID列表(京东0 美团1 饿百3)"
|
// @Param vendorIDs formData string false "运营商ID列表(京东0 美团1 饿百3 14抖音 16淘宝)"
|
||||||
// @Param storeIDs formData string false "京西门店ID列表"
|
// @Param storeIDs formData string false "京西门店ID列表"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 404 User not found
|
// @Failure 404 User not found
|
||||||
@@ -305,7 +305,7 @@ func (c *TempOpController) StoreSkuCheckDiff() {
|
|||||||
var vendorIDList []int
|
var vendorIDList []int
|
||||||
var storeIDList []int
|
var storeIDList []int
|
||||||
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList, params.StoreIDs, &storeIDList); err == nil {
|
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList, params.StoreIDs, &storeIDList); err == nil {
|
||||||
cms.TestDiff(params.Ctx, vendorIDList, storeIDList)
|
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user