@@ -5896,93 +5896,79 @@ func UpdateStorePoiStatus(ctx *jxcontext.Context) error {
}
//抖音定时任务
// func UpdateStoreRelInformation(ctx * jxcontext. Context) error {
// var (
// store IDs [] string
// temp map[int64]string
// db = dao.GetDB( )
// errList = errlist.New()
// tempIDs map[string][]string
// FreightTemplate = &model.FreightTemplate{}
// )
// vendorOrgCodes, _ := dao.GetVendorOrgCode(db, model.VendorIDDD, "", "platform" )
// for _, v := range vendorOrgCodes {
// if temp, err = tiktok_store.GetAllVendorStoreMap(ctx, v.VendorOrgCode); err != nil {
// return nil, err
// }
// //tempIDs[v.VendorOrgCode] = temp
// }
//
// if handler, ok := partner.GetPurchasePlatformFromVendorID(model.VendorIDDD).(partner.IStoreHandler); ok {
// rootTask := tasksch.NewParallelTask("UpdateStoreRelInformation 根据平台门店ID同步本地相关信息", tasksch.NewParallelConfig().SetParallelCount(1), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// vendorOrgCodes, _ := dao.GetVendorOrgCode(db, model.VendorIDDD, "", "platform")
// for _, v := range vendorOrgCodes {
// if temp, err = tiktok_store.GetAllVendorStoreMap(ctx, v.VendorOrgCode); err != nil {
// return nil, err
// }
// //tempIDs[v.VendorOrgCode] = temp
// }
//
// subTask := tasksch.NewSeqTask("UpdateStoreRelInformation 根据平台门店ID同步本地相关信息", ctx,
// func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
// switch step {
// case 0:
// for i, j := range tempIDs {
// for _, v := range j {
// //(1)仓库以及电子围栏
// if bindWarehouse, err := tiktok_store.GetWarehouseByStore(i, utils.Str2Int64(v)); err != nil {
// errList.AddErr(fmt.Errorf( "同步任务: 获取门店(%s)绑定的仓库以及电子围栏失败:%v", v, err) )
// } else if len(bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds) > 0 {
// tempStr := ""
// for k, v := range bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds {
// tempStr += v
// if k != len(bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds) {
// tempStr += ","
// }
// }
// FreightTemplate.FenceID = tempStr
// FreightTemplate.WarehouseID = bindWarehouse[utils.Str2Int64(i)][0].WarehouseId
// }
// //(2)运费模板
// if bindFreightIDs, err := tiktok_store.GetStoreFreight(i, utils.Str2Int64(v)); err != nil {
// globals.SugarLogger.Debugf("同步任务: 获取门店(%s) 绑定运费模板出错:%v", v, err)
// errList.AddErr(fmt.Errorf("同步任务: 获取门店(%s) 绑定运费模板出错:%v", v, err) )
// } else {
// FreightTemplate.TemplateID = bindFreightIDs
// }
// //(3)限售模板
// if bindTradeLimitID, err := tiktok_store.GetStoreSaleLimit(i, utils.Str2Int64(v)); err != nil {
// globals.SugarLogger.Debugf("同步任务: 获取门店(%s) 限售模板出错:%v", v, err)
// errList. AddErr(fmt.Errorf("同步任务: 获取门店(%s) 限售模板出错:%v", v, err) )
// } else {
// FreightTemplate.TradeLimitID = bindTradeLimitID
// }
// }
// }
//
// if _, err := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID "); err != nil {
// if err1 := dao.CreateEntity(db, FreightTemplate); err != nil {
// errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err1))
// } else {
// errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err))
// }
// }
// dao.WrapAddIDCULDEntity(FreightTemplate, "同步任务操作")
// }
// return nil, err
// }, 4)
// return retVal, err
// }, storeIDs)
// }
//
// //task := tasksch.NewSeqTask(fmt.Sprintf("平台:抖店小时达 UpdateStoreRelInformation"), ctx,
// // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// //
// // }, 3)
// //tasksch.ManageTask(task).Run()
// return nil
//}
func UpdateStoreRelInformation( ctx * jxcontext. Context) error {
var (
tempRel IDs map [ int64 ] string
db = dao . GetDB ( )
errList = errlist . New ( )
tempIDs map [ string ] map [ int64 ] string
FreightTemplate = & model . FreightTemplate { }
)
if vendorOrgCodes , err := dao . GetVendorOrgCode ( db , model . VendorIDDD , "" , "platform" ) ; err != nil {
return fmt . Errorf ( "获取vendorOrgCodes失败: %v" , err )
} else {
for _ , v := range vendorOrgCodes {
tempRelIDs , err = tiktok_store . GetAllVendorStoreMap ( ctx , v . VendorOrgCode ) //平台与京西门店映射关系
if err != nil {
return err
}
tempIDs [ v . VendorOrgCode ] = tempRelIDs
}
for i , j := range tempIDs {
for m , n := range j { //m-vendorStoreID n-storeID
subTask := tasksch . NewSeqTask ( fmt . Sprintf ( "UpdateStoreRelInformation 平台门店(%d) 本地门店(%s):同步本地相关信息" , m , n ) , ctx , func ( task * tasksch . SeqTask , step int , params ... interface { } ) ( result interface { } , err error ) {
switch step {
case 0 : //(1)仓库以及电子围栏
if bindWarehouse , err := tiktok_store . GetWarehouseByStore ( i , m ) ; err != nil {
errList . AddErr ( fmt . Errorf ( "同步任务: 获取门店(%s)绑定的仓库以及电子围栏失败:%v" , n , err ) )
} else if len ( bindWarehouse [ utils . Str2Int64 ( i ) ] [ 0 ] . OutFenceIds ) > 0 {
for _ , s := range bindWarehouse [ utils . Str2Int64 ( i ) ] [ 0 ] . OutFenceIds {
if s == n {
FreightTemplate . FenceID = s
}
}
} else {
FreightTemplate . WarehouseID = bindWarehouse [ utils . Str2Int64 ( i ) ] [ 0 ] . WarehouseId
}
case 1 : //(2)运费模板
if bindFreightIDs , err := tiktok_store . GetStoreFreight ( i , m ) ; err != nil {
globals . SugarLogger . Debugf ( "同步任务: 获取门店(%s) 绑定运费模板出错:%v" , n , err )
errList . AddErr ( fmt . Errorf ( "同步任务: 获取门店(%s) 绑定运费模板出错:%v" , n , err ) )
} else {
FreightTemplate . TemplateID = bindFreightIDs
}
case 2 : //(3)限售模板
if bindTradeLimitID , err := tiktok_store . GetStoreSaleLimit ( i , m ) ; err != nil {
globals . SugarLogger . Debugf ( "同步任务: 获取门店(%s) 限售模板出错:%v" , n , err )
errList . AddErr ( fmt . Errorf ( "同步任务: 获取门店(%s) 限售模板出错:%v" , n , err ) )
} else {
FreightTemplate. TradeLimitID = bindTradeLimitID
}
}
return nil , nil
} , 4 )
tasksch . ManageTask ( subTask ) . Run ( )
//time.Sleep(2 * time.Second)
FreightTemplate . VendorStoreID = utils . Int64ToStr ( m )
FreightTemplate . StoreID = utils . Str2Int ( n )
if _ , err := dao . UpdateEntity ( db , FreightTemplate , "VendorStoreID" , "StoreID" , "TemplateID" , "WarehouseID" , "FenceID" , "TradeLimitID" ) ; err != nil {
if err1 := dao . CreateEntity ( db , FreightTemplate ) ; err1 != nil {
errList. AddErr( fmt . Errorf ( "创建操作,同步进数据库错误信息:%v" , err1 ) )
} else {
errList . AddErr ( fmt . Errorf ( "更新操作,同步进数据库错误信息:%v" , err ) )
}
}
}
}
}
lastErr := errList . GetErrListAsOne ( )
if lastErr != nil {
globals . SugarLogger . Debugf ( "定时任务同步抖店门店信息到本地 相关提示:%s" , lastErr )
//return lastErr
}
return nil
}
//获取抖店门店建议范围 (即电子围栏)
func GetDDScope ( ctx * jxcontext . Context , storeID int , vendorStoreID string ) ( warehouse_getFences_response . FencesItem , error ) {
@@ -5993,7 +5979,6 @@ func GetDDScope(ctx *jxcontext.Context, storeID int, vendorStoreID string) (ware
return data , errors . New ( "storeID,vendorStoreID 必填" )
}
storeMap , err := GetVendorOrgCode ( ctx , dao . GetDB ( ) , storeID , model . VendorIDDD , vendorStoreID )
globals . SugarLogger . Debug ( "len(storeMap)=================%d" , len ( storeMap ) )
if err != nil {
return data , errors . New ( fmt . Sprintf ( "获取vendorOrgCode失败, 请检查数据或重试:%v" , err ) )
}