diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 520dab68a..d8e80ba4d 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -10,7 +10,6 @@ import ( "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/partner/delivery" - "git.rosy.net.cn/jx-callback/business/partner/putils" "github.com/360EntSecGroup-Skylar/excelize" "github.com/qiniu/api.v7/storage" @@ -1499,100 +1498,100 @@ func addSku(outSkuId string, cagtegoryId int, shopCategories []int64, brandId in } func UploadJdsImage(ctx *jxcontext.Context) (err error) { - var ( - jdStoreIDs = []string{"12007046"} - // jdStoreIDxipu = "12005417" - // skuMap = make(map[string]partner.StoreSkuInfo) - priceList = make(map[string][]*partner.StoreSkuInfo) - // statusList1 = make(map[string][]*partner.StoreSkuInfo) - // statusList2 = make(map[string][]*partner.StoreSkuInfo) - // stockList = make(map[string][]*partner.StoreSkuInfo) - vendorOrgCode = "320406" - // vendorOrgCode = "82029" - ) + // var ( + // jdStoreIDs = []string{"12007046"} + // jdStoreIDxipu = "12005417" + // skuMap = make(map[string]partner.StoreSkuInfo) + // priceList = make(map[string][]*partner.StoreSkuInfo) + // statusList1 = make(map[string][]*partner.StoreSkuInfo) + // statusList2 = make(map[string][]*partner.StoreSkuInfo) + // stockList = make(map[string][]*partner.StoreSkuInfo) + // vendorOrgCode = "320406" + // vendorOrgCode = "82029" + // ) - handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IPurchasePlatformStoreSkuHandler) - multiHandler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IMultipleStoresHandler) - allSkuNameInfoList, err := multiHandler.GetSkus(ctx, vendorOrgCode, 0, "") + // handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IPurchasePlatformStoreSkuHandler) + // multiHandler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IMultipleStoresHandler) + // allSkuNameInfoList, err := multiHandler.GetSkus(ctx, vendorOrgCode, 0, "") // skuInfos := storeSkuFullList2BareFilter(allSkuNameInfoList) // outStoreSkuList, err := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreIDxipu, skuInfos) // for _, vv := range outStoreSkuList { // skuMap[vv.VendorSkuID] = *vv // } - for _, jdStoreID := range jdStoreIDs { - skuInfos2 := storeSkuFullList2BareFilter(allSkuNameInfoList) - outStoreSkuList2, _ := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreID, skuInfos2) - for _, v := range outStoreSkuList2 { - v.VendorPrice = utils.Float64TwoInt64(float64(v.VendorPrice) * 1.05) - priceList[jdStoreID] = append(priceList[jdStoreID], v) - // a := skuMap[v.VendorSkuID] - // if &a == nil { - // continue - // } - // if a.VendorPrice != v.VendorPrice { - // v.VendorPrice = a.VendorPrice - // priceList[jdStoreID] = append(priceList[jdStoreID], v) - // } - // if a.Status != v.Status { - // v.Status = a.Status - // if v.Status == model.SkuStatusNormal { - // statusList1[jdStoreID] = append(statusList1[jdStoreID], v) - // } else { - // statusList2[jdStoreID] = append(statusList2[jdStoreID], v) - // } - // } - // if a.Stock != v.Stock { - // v.Stock = a.Stock - // stockList[jdStoreID] = append(stockList[jdStoreID], v) - // } - } - } - task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx, - func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - step := batchItemList[0].(int) - switch step { - case 0: - if len(priceList) > 0 { - for k, v := range priceList { - _, err = putils.FreeBatchStoreSkuInfo("更新门店商品价格", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { - failedList, err := handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, batchedStoreSkuList) - if len(failedList) > 0 { - task.AddFailedList(failedList) - } - return nil, 1, err - }, ctx, task, v, 50, true) - } - } - case 1: - // if len(statusList1) > 0 { - // for k, v := range statusList1 { - // _, err = putils.FreeBatchStoreSkuInfo("更新门店商品状态", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { - // failedList, err := handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, batchedStoreSkuList, batchedStoreSkuList[0].Status) - // if len(failedList) > 0 { - // task.AddFailedList(failedList) - // } - // return nil, 1, err - // }, ctx, task, v, 50, true) - // } - // } - case 2: - case 3: - // if len(stockList) > 0 { - // for k, v := range stockList { - // _, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { - // failedList, err := handler.UpdateStoreSkusStock(ctx, vendorOrgCode, 0, k, batchedStoreSkuList) - // if len(failedList) > 0 { - // task.AddFailedList(failedList) - // } - // return nil, 1, err - // }, ctx, task, v, 50, true) - // } - // } - } - return retVal, err - }, []int{0}) - tasksch.HandleTask(task, nil, true).Run() - _, err = task.GetResult(0) + // for _, jdStoreID := range jdStoreIDs { + // skuInfos2 := storeSkuFullList2BareFilter(allSkuNameInfoList) + // outStoreSkuList2, _ := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreID, skuInfos2) + // for _, v := range outStoreSkuList2 { + // v.VendorPrice = utils.Float64TwoInt64(float64(v.VendorPrice) * 1.05) + // priceList[jdStoreID] = append(priceList[jdStoreID], v) + // a := skuMap[v.VendorSkuID] + // if &a == nil { + // continue + // } + // if a.VendorPrice != v.VendorPrice { + // v.VendorPrice = a.VendorPrice + // priceList[jdStoreID] = append(priceList[jdStoreID], v) + // } + // if a.Status != v.Status { + // v.Status = a.Status + // if v.Status == model.SkuStatusNormal { + // statusList1[jdStoreID] = append(statusList1[jdStoreID], v) + // } else { + // statusList2[jdStoreID] = append(statusList2[jdStoreID], v) + // } + // } + // if a.Stock != v.Stock { + // v.Stock = a.Stock + // stockList[jdStoreID] = append(stockList[jdStoreID], v) + // } + // } + // } + // task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx, + // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + // step := batchItemList[0].(int) + // switch step { + // case 0: + // if len(priceList) > 0 { + // for k, v := range priceList { + // _, err = putils.FreeBatchStoreSkuInfo("更新门店商品价格", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { + // failedList, err := handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, batchedStoreSkuList) + // if len(failedList) > 0 { + // task.AddFailedList(failedList) + // } + // return nil, 1, err + // }, ctx, task, v, 50, true) + // } + // } + // case 1: + // if len(statusList1) > 0 { + // for k, v := range statusList1 { + // _, err = putils.FreeBatchStoreSkuInfo("更新门店商品状态", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { + // failedList, err := handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, batchedStoreSkuList, batchedStoreSkuList[0].Status) + // if len(failedList) > 0 { + // task.AddFailedList(failedList) + // } + // return nil, 1, err + // }, ctx, task, v, 50, true) + // } + // } + // case 2: + // case 3: + // if len(stockList) > 0 { + // for k, v := range stockList { + // _, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { + // failedList, err := handler.UpdateStoreSkusStock(ctx, vendorOrgCode, 0, k, batchedStoreSkuList) + // if len(failedList) > 0 { + // task.AddFailedList(failedList) + // } + // return nil, 1, err + // }, ctx, task, v, 50, true) + // } + // } + // } + // return retVal, err + // }, []int{0}) + // tasksch.HandleTask(task, nil, true).Run() + // _, err = task.GetResult(0) // var ( // storeMaps []*model.StoreMap // db = dao.GetDB() @@ -1737,6 +1736,37 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // } // } // } + var ( + db = dao.GetDB() + ) + catResult, _ := api.JdShopAPI.FindShopCategories() + for _, v := range catResult { + var skuCat *model.SkuCategory + sql := ` + SELECT * + FROM sku_category + WHERE deleted_at = ? + AND name = ? + ` + sqlParams := []interface{}{utils.DefaultTimeValue, v.Name} + err = dao.GetRow(db, &skuCat, sql, sqlParams) + if skuCat != nil { + var storeSkuCat *model.StoreSkuCategoryMap + sql2 := ` + SELECT * + FROM store_sku_category_map + WHERE store_id = ? + AND deleted_at = ? + AND category_id = ? + ` + sqlParams2 := []interface{}{102919, utils.DefaultTimeValue, skuCat.ID} + err = dao.GetRow(db, &storeSkuCat, sql2, sqlParams2) + if storeSkuCat != nil { + storeSkuCat.JdsID = v.CID + dao.UpdateEntity(db, storeSkuCat, "JdsID") + } + } + } return err } diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index a1c119b90..a5fa7fe50 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -492,12 +492,20 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j } name := filterSensitiveWord(storeSku.Name) wareSaveParam = &jdshopapi.WareSaveParam{ - CategoryID: int(storeSku.VendorVendorCatID), - VenderID: jdshopapi.VendorID2, - Length: 100, - Wide: 100, - Height: 100, - Weight: utils.Int2Str(storeSku.Weight), + Title: name, + CategoryID: int(storeSku.VendorVendorCatID), + VenderID: jdshopapi.VendorID2, + Length: 100, + Wide: 100, + Height: 100, + Weight: utils.Int2Str(storeSku.Weight), + BrandID: jdshopapi.BrandIdNO, + WareStatus: 8, //上架待审核 + ShopCategorys: []int{vendorCatID}, + PromiseID: -1, + MultiCateProps: []interface{}{}, + PropsSet: []interface{}{}, + SaleAttrs: []interface{}{}, } createSkuParamWare = &jdshopapi.CreateSkuParamWare{ Title: name, @@ -559,6 +567,9 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j images = append(images, img2) images = append(images, img3) createSkuParamWare.Images = images + //jds2图片 + wareSaveParam.ImageMap.Num0000000000 = append(wareSaveParam.ImageMap.Num0000000000, img1, img2, img3) + //商品详情拼接 var desc string if storeSku.DescImg != "" { @@ -570,6 +581,7 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j } createSkuParamWare.MobileDesc = desc createSkuParamWare.Introduction = desc + wareSaveParam.Notes = desc //设置商品属性值 var (