- 重构GetSkusCategories与GetStoreCategories
This commit is contained in:
@@ -35,44 +35,49 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
|
||||
task := tasksch.NewParallelTask(fmt.Sprintf("美团外卖SyncStoreCategory step2, level=%d", level), nil, ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
updateFields := []string{dao.GetSyncStatusStructField(model.VendorNames[model.VendorIDMTWM])}
|
||||
catInfo := batchItemList[0].(*dao.StoreCatSyncInfo)
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
if catInfo.MtwmSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
|
||||
if catInfo.MtwmSyncStatus&model.SyncFlagNewMask == 0 && catInfo.MtwmID != "" {
|
||||
globals.SugarLogger.Debugf("RetailCatDelete vendorStoreID:%s, MtwmID:%s", vendorStoreID, catInfo.MtwmID)
|
||||
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catInfo.MtwmID)
|
||||
catInfo := batchItemList[0].(*dao.SkuStoreCatInfo)
|
||||
storeCatMap := &model.StoreSkuCategoryMap{}
|
||||
storeCatMap.ID = catInfo.MapID
|
||||
if catInfo.StoreCatSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
|
||||
if catInfo.StoreCatSyncStatus&model.SyncFlagNewMask == 0 && !dao.IsVendorThingIDEmpty(catInfo.VendorCatID) {
|
||||
globals.SugarLogger.Debugf("RetailCatDelete vendorStoreID:%s, MtwmID:%s", vendorStoreID, catInfo.VendorCatID)
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catInfo.VendorCatID)
|
||||
}
|
||||
} else if catInfo.MtwmSyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreSkuModifiedMask) != 0 { // 新增
|
||||
catName := catInfo.CatName
|
||||
subCatName := ""
|
||||
originName := ""
|
||||
if catInfo.MtwmSyncStatus&model.SyncFlagNewMask == 0 {
|
||||
originName = catInfo.MtwmID
|
||||
}
|
||||
if level == 2 {
|
||||
originName = catInfo.ParentCatName
|
||||
catName = catInfo.ParentCatName
|
||||
subCatName = catInfo.CatName
|
||||
if catInfo.MtwmSyncStatus&model.SyncFlagNewMask == 0 {
|
||||
originName = catInfo.MtwmID
|
||||
catName = catInfo.CatName
|
||||
subCatName = ""
|
||||
}
|
||||
}
|
||||
if catName == "" {
|
||||
panic("catName is empty")
|
||||
}
|
||||
globals.SugarLogger.Debugf("RetailCatUpdate vendorStoreID:%s, originName:%s, catName:%s, subCatName:%s, seq:%d", vendorStoreID, originName, catName, subCatName, catInfo.Seq)
|
||||
if err = api.MtwmAPI.RetailCatUpdate(vendorStoreID, originName, catName, subCatName, catInfo.Seq); err == nil {
|
||||
catInfo.MtwmID = catInfo.CatName
|
||||
updateFields = append(updateFields, dao.GetVendorThingIDStructField(model.VendorNames[model.VendorIDMTWM]))
|
||||
}
|
||||
} else if catInfo.StoreCatSyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreSkuModifiedMask) != 0 { // 新增
|
||||
catName := catInfo.Name
|
||||
subCatName := ""
|
||||
originName := ""
|
||||
if catInfo.StoreCatSyncStatus&model.SyncFlagNewMask == 0 {
|
||||
originName = catInfo.VendorCatID
|
||||
}
|
||||
if level == 2 {
|
||||
originName = catInfo.ParentCatName
|
||||
catName = catInfo.ParentCatName
|
||||
subCatName = catInfo.Name
|
||||
if catInfo.StoreCatSyncStatus&model.SyncFlagNewMask == 0 {
|
||||
originName = catInfo.VendorCatID
|
||||
catName = catInfo.Name
|
||||
subCatName = ""
|
||||
}
|
||||
}
|
||||
if catName == "" {
|
||||
panic("catName is empty")
|
||||
}
|
||||
globals.SugarLogger.Debugf("RetailCatUpdate vendorStoreID:%s, originName:%s, catName:%s, subCatName:%s, seq:%d", vendorStoreID, originName, catName, subCatName, catInfo.Seq)
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.RetailCatUpdate(vendorStoreID, originName, catName, subCatName, catInfo.Seq)
|
||||
}
|
||||
if err == nil {
|
||||
storeCatMap.MtwmID = catInfo.Name
|
||||
updateFields = append(updateFields, dao.GetVendorThingIDStructField(model.VendorNames[model.VendorIDMTWM]))
|
||||
}
|
||||
}
|
||||
if err == nil {
|
||||
db2 := dao.GetDB()
|
||||
catInfo.MtwmSyncStatus = 0
|
||||
_, err = dao.UpdateEntity(db2, &catInfo.StoreSkuCategoryMap, updateFields...)
|
||||
storeCatMap.MtwmSyncStatus = 0
|
||||
_, err = dao.UpdateEntity(db2, storeCatMap, updateFields...)
|
||||
}
|
||||
return nil, err
|
||||
}, catList)
|
||||
@@ -258,7 +263,10 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
storeSkuBind.ID = skuItem.BindID
|
||||
if skuItem.NameID == 0 || skuItem.StoreSkuSyncStatus&model.SyncFlagDeletedMask != 0 {
|
||||
if skuItem.StoreSkuSyncStatus&model.SyncFlagNewMask == 0 && !dao.IsVendorThingIDEmpty(skuItem.VendorSkuID) {
|
||||
err = ignoreNoAppFoodErr(api.MtwmAPI.RetailDelete(vendorStoreID, skuItem.VendorSkuID))
|
||||
if globals.EnableWscStoreWrite {
|
||||
err = api.MtwmAPI.RetailDelete(vendorStoreID, skuItem.VendorSkuID)
|
||||
}
|
||||
err = ignoreNoAppFoodErr(err)
|
||||
}
|
||||
if err == nil {
|
||||
storeSkuBind.DeletedAt = time.Now()
|
||||
@@ -312,10 +320,11 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
skus[0]["weight"] = skuItem.Weight // weight字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用
|
||||
}
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
if err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList); err == nil {
|
||||
storeSkuBind.MtwmID = int64(skuItem.SkuID)
|
||||
updateFields = append(updateFields, model.FieldMtwmID)
|
||||
}
|
||||
err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList)
|
||||
}
|
||||
if err == nil {
|
||||
storeSkuBind.MtwmID = int64(skuItem.SkuID)
|
||||
updateFields = append(updateFields, model.FieldMtwmID)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user