@@ -42,13 +42,6 @@ func getMultiStoreVendorInfoList() (list []*MultiStoreVendorInfo) {
func syncCategories ( ctx * jxcontext . Context , db * dao . DaoDB , parentTask tasksch . ITask , catList [ ] * dao . SkuStoreCatInfo , isAsync bool ) ( hint string , err error ) {
if len ( catList ) > 0 {
for _ , v := range catList {
globals . SugarLogger . Debugf ( "可能同步数据==========%v" , v . ID )
globals . SugarLogger . Debugf ( "可能同步数据==========%v" , v . ParentCatName )
globals . SugarLogger . Debugf ( "可能同步数据==========%v" , v . ParentVendorCatID )
globals . SugarLogger . Debugf ( "可能同步数据==========%v" , v . StoreCatName )
globals . SugarLogger . Debugf ( "可能同步数据==========%v" , v . StoreParentCatName )
}
// todo 按vendorID orgCode合并操作
task := tasksch . NewParallelTask ( fmt . Sprintf ( "同步分类2:%d" , len ( catList ) ) , tasksch . NewParallelConfig ( ) . SetIsContinueWhenError ( true ) , ctx ,
func ( task * tasksch . ParallelTask , batchItemList [ ] interface { } , params ... interface { } ) ( retVal interface { } , err error ) {
@@ -95,8 +88,6 @@ func syncCategories(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch.IT
}
}
}
globals . SugarLogger . Debugf ( "可能同步数据==========%s" , "未查询到同步数据" )
return hint , err
}
@@ -150,36 +141,25 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs
}
func SyncSkus ( ctx * jxcontext . Context , parentTask tasksch . ITask , vendorIDs [ ] int , appOrgCodes [ ] string , nameIDs , skuIDs [ ] int , isAsync bool ) ( hint string , err error ) {
//globals.SugarLogger.Debugf("SyncSkus============= vendorIDs:%v, appOrgCodes:%v, nameIDs:%v, skuIDs:%v", vendorIDs, appOrgCodes, nameIDs, skuIDs)
db := dao . GetDB ( )
skuList , err := dao . GetSkusWithVendor ( db , vendorIDs , appOrgCodes , nameIDs , skuIDs , true )
//globals.SugarLogger.Debugf("skuList============= skuList:%v", len(skuList))
cc := func ( task * tasksch . ParallelTask , batchItemList [ ] interface { } , params ... interface { } ) ( retVal interface { } , err error ) {
//globals.SugarLogger.Debugf("batchItemList============DeleteSku2:%v", batchItemList)
skuVendorInfo := batchItemList [ 0 ] . ( * dao . StoreSkuSyncInfo )
//globals.SugarLogger.Debugf("skuVendorInfo============skuVendorInfo:%v", skuVendorInfo)
//globals.SugarLogger.Debugf("skuVendorInfo============skuVendorInfo:%v", &skuVendorInfo)
var failedList [ ] * partner . StoreSkuInfoWithErr
// if skuVendorInfo.VendorCatID == "" {
// return nil, fmt.Errorf("商品:%d的商家分类没有同步", skuVendorInfo.SkuID)
// }
//globals.SugarLogger.Debugf("步骤1============= DeleteSku2:%v", skuVendorInfo.BindID)
if skuVendorInfo . BindID == 0 {
return nil , fmt . Errorf ( "商品:%d的数据异常" , skuVendorInfo . SkuID )
}
//globals.SugarLogger.Debugf("步骤2============= DeleteSku2:%v", skuVendorInfo.ExdSkuID)
if skuVendorInfo . ExdSkuID != "" {
return nil , err
}
//globals.SugarLogger.Debugf("步骤3============= DeleteSku2:%v", skuVendorInfo.VendorSkuID)
//globals.SugarLogger.Debugf("步骤3============= DeleteSku2:%v", !model.IsSyncStatusNew(skuVendorInfo.SkuSyncStatus))
//globals.SugarLogger.Debugf("步骤TTTTT============ DeleteSku2:%v", skuVendorInfo.SkuSyncStatus)
//todo 暂时注释
if ! model . IsSyncStatusNew ( skuVendorInfo . SkuSyncStatus ) && skuVendorInfo . VendorSkuID == "" {
return nil , err
}
//globals.SugarLogger.Debugf("步骤4============= DeleteSku2:%v", skuVendorInfo.SkuVendorMapCatID)
if skuVendorInfo . SkuVendorMapCatID != "" {
skuVendorInfo . VendorVendorCatID = utils . Str2Int64 ( skuVendorInfo . SkuVendorMapCatID )
}
@@ -190,27 +170,21 @@ func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int,
skuVendorInfo . ImgMix = jxutils . MixWatermarkImg ( downLoad , skuVendorInfo . Img , skuVendorInfo . ExPrefixBegin , skuVendorInfo . ExPrefixEnd )
}
skuVendorInfo . MergedStatus = jxutils . MergeSkuStatus ( skuVendorInfo . Status , skuVendorInfo . NameStatus )
//globals.SugarLogger.Debugf("步骤1============= last1:%v", *skuVendorInfo)
//globals.SugarLogger.Debugf("步骤1============= last2:%v", &skuVendorInfo)
//globals.SugarLogger.Debugf("步骤1============= last3:%v", skuVendorInfo)
if multiStoresHandler , ok := partner . GetPurchasePlatformFromVendorID ( skuVendorInfo . VendorID ) . ( partner . IMultipleStoresHandler ) ; ok {
if model . IsSyncStatusDelete ( skuVendorInfo . SkuSyncStatus ) { //删除
if ! dao . IsVendorThingIDEmpty ( skuVendorInfo . VendorSkuID ) &&
model . IsSyncStatusNeedDelete ( skuVendorInfo . SkuSyncStatus ) {
//globals.SugarLogger.Debugf("CreateSku2============= DeleteSku2:%v", model.IsSyncStatusNew(skuVendorInfo.SkuSyncStatus))
err = multiStoresHandler . DeleteSku2 ( ctx , skuVendorInfo . VendorOrgCode , storeSkuSyncInfo2Bare ( skuVendorInfo ) )
if err != nil {
failedList = putils . GetErrMsg2FailedSingleList ( skuVendorInfo , err , 0 , model . VendorChineseNames [ skuVendorInfo . VendorID ] , "删除商品" )
}
}
} else if model . IsSyncStatusNew ( skuVendorInfo . SkuSyncStatus ) { // 新增
//globals.SugarLogger.Debugf("CreateSku2============= CreateSku2:%v", model.IsSyncStatusNew(skuVendorInfo.SkuSyncStatus))
err = multiStoresHandler . CreateSku2 ( ctx , skuVendorInfo )
if err != nil {
failedList = putils . GetErrMsg2FailedSingleList ( skuVendorInfo , err , 0 , model . VendorChineseNames [ skuVendorInfo . VendorID ] , "新增商品" )
}
} else if model . IsSyncStatusUpdate ( skuVendorInfo . SkuSyncStatus ) { // 修改
//globals.SugarLogger.Debugf("UpdateSku2============= UpdateSku2:%v", model.IsSyncStatusNew(skuVendorInfo.SkuSyncStatus))
err = multiStoresHandler . UpdateSku2 ( ctx , skuVendorInfo )
if err != nil {
failedList = putils . GetErrMsg2FailedSingleList ( skuVendorInfo , err , 0 , model . VendorChineseNames [ skuVendorInfo . VendorID ] , "修改商品" )
@@ -537,7 +511,6 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask,
task := tasksch . NewParallelTask ( fmt . Sprintf ( "平台:%s,账号:%s上的商品与商家分类" , model . VendorChineseNames [ vendorID ] , vendorOrgCode ) ,
tasksch . NewParallelConfig ( ) . SetParallelCount ( 1 ) . SetIsContinueWhenError ( isContinueWhenError ) , ctx ,
func ( task * tasksch . ParallelTask , batchItemList [ ] interface { } , params ... interface { } ) ( retVal interface { } , err error ) {
globals . SugarLogger . Debugf ( "batchItemList==========%v" , batchItemList )
step := batchItemList [ 0 ] . ( int )
switch step {
case 0 :
@@ -595,11 +568,9 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask,
if remoteSkuMap [ v . VendorSkuID ] == 0 {
if ! model . IsSyncStatusNew ( v . SkuSyncStatus ) {
err = OnCreateThing ( ctx , db , vendorOrgCodes , int64 ( v . SkuID ) , model . ThingTypeSku , getSyncFlag ( v . SkuID ) , false )
globals . SugarLogger . Debugf ( "OnCreateThing==========1%v" , err )
}
} else if isForceUpdate {
err = OnUpdateThing ( ctx , db , vendorOrgCodes , int64 ( v . SkuID ) , model . ThingTypeSku )
globals . SugarLogger . Debugf ( "OnCreateThing==========2%v" , err )
}
}
} else {
@@ -607,7 +578,6 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask,
//若该门店没关注可售, 那插到thingmap里的话就该同步标志为0, 就不会创建
//getSyncFlag
err = OnCreateThing ( ctx , db , vendorOrgCodes , int64 ( v . SkuID ) , model . ThingTypeSku , getSyncFlag ( v . SkuID ) , false )
globals . SugarLogger . Debugf ( "OnCreateThing==========3%v" , err )
}
}
}