UpdateSkuSyncStatusForExPrefix改为使用thing_map
This commit is contained in:
@@ -169,9 +169,13 @@ func syncStoreSku() {
|
|||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
step := batchItemList[0].(int)
|
step := batchItemList[0].(int)
|
||||||
errList := errlist.New()
|
errList := errlist.New()
|
||||||
|
db := dao.GetDB()
|
||||||
switch step {
|
switch step {
|
||||||
case 0:
|
case 0:
|
||||||
_, err = cms.CurVendorSync.LoopMultiStoresVendors(jxcontext.AdminCtx, dao.GetDB(), "同步多门店平台商品库", false, true,
|
errList.AddErr(cms.DeleteSkuNameExPrefixOverdue(db))
|
||||||
|
errList.AddErr(cms.SetMultiStoreSkuSyncModifyStatus(db, partner.GetMultiStoreVendorIDs()))
|
||||||
|
|
||||||
|
_, err = cms.CurVendorSync.LoopMultiStoresVendors(jxcontext.AdminCtx, db, "同步多门店平台商品库", false, true,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
vendorInfo := batchItemList[0].(*cms.MultiStoreVendorInfo)
|
vendorInfo := batchItemList[0].(*cms.MultiStoreVendorInfo)
|
||||||
_, err = cms.FullSyncVendorStuff(jxcontext.AdminCtx, task, vendorInfo.VendorID, vendorInfo.OrgCode, false, true)
|
_, err = cms.FullSyncVendorStuff(jxcontext.AdminCtx, task, vendorInfo.VendorID, vendorInfo.OrgCode, false, true)
|
||||||
@@ -179,15 +183,17 @@ func syncStoreSku() {
|
|||||||
})
|
})
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
|
|
||||||
// cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, dao.GetDB(), partner.GetMultiStoreVendorIDs(), nil, false, nil, []int{27379}, syncFlag, true, true)
|
// cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, db, partner.GetMultiStoreVendorIDs(), nil, false, nil, []int{27379}, syncFlag, true, true)
|
||||||
_, err = cms.CurVendorSync.FullSyncStoresSkus(jxcontext.AdminCtx, dao.GetDB(), partner.GetMultiStoreVendorIDs(), nil, false, []int{27379}, true, true)
|
_, err = cms.CurVendorSync.FullSyncStoresSkus(jxcontext.AdminCtx, db, partner.GetMultiStoreVendorIDs(), nil, false, []int{27379}, true, true)
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
case 1:
|
case 1:
|
||||||
|
errList.AddErr(cms.SetSingleStoreSkuSyncModifyStatus(db, partner.GetSingleStoreVendorIDs()))
|
||||||
|
|
||||||
_, err = cms.CurVendorSync.AmendAndPruneStoreStuff(jxcontext.AdminCtx, partner.GetSingleStoreVendorIDs(), nil, false, true, cms.AmendPruneAll, false)
|
_, err = cms.CurVendorSync.AmendAndPruneStoreStuff(jxcontext.AdminCtx, partner.GetSingleStoreVendorIDs(), nil, false, true, cms.AmendPruneAll, false)
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
|
|
||||||
SaveImportantTaskID(TaskNameSyncStoreSku, SpecialTaskID)
|
SaveImportantTaskID(TaskNameSyncStoreSku, SpecialTaskID)
|
||||||
taskID, err2 := cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, dao.GetDB(), partner.GetSingleStoreVendorIDs(), nil, false, nil, nil, syncFlag, true, true)
|
taskID, err2 := cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, db, partner.GetSingleStoreVendorIDs(), nil, false, nil, nil, syncFlag, true, true)
|
||||||
errList.AddErr(err2)
|
errList.AddErr(err2)
|
||||||
SaveImportantTaskID(TaskNameSyncStoreSku, taskID)
|
SaveImportantTaskID(TaskNameSyncStoreSku, taskID)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -938,32 +938,25 @@ func UpdateStoreSkuBindSyncStatusForExPrefix(db *DaoDB, vendorIDs []int) (num in
|
|||||||
|
|
||||||
func UpdateSkuSyncStatusForExPrefix(db *DaoDB, vendorIDs []int) (num int64, err error) {
|
func UpdateSkuSyncStatusForExPrefix(db *DaoDB, vendorIDs []int) (num int64, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
UPDATE sku b
|
UPDATE thing_map t1
|
||||||
JOIN sku_name c ON c.id = b.name_id AND c.deleted_at = ?
|
JOIN sku t2 ON t2.id = t1.thing_id AND t2.deleted_at = ?
|
||||||
SET
|
JOIN sku_name t3 ON t3.id = t2.name_id AND t3.deleted_at = ?
|
||||||
|
AND t3.ex_prefix <> '' AND (t3.ex_prefix_begin = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL '6' HOUR),'%Y-%m-%d 00:00:00')
|
||||||
|
OR t3.ex_prefix_end = DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00'))
|
||||||
|
SET
|
||||||
|
t1.sync_status = t1.sync_status | ?
|
||||||
|
WHERE t1.deleted_at = ? AND t1.thing_type = ? AND t1.sync_status & ? <> 0
|
||||||
`
|
`
|
||||||
fmtParams := []interface{}{}
|
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
|
utils.DefaultTimeValue,
|
||||||
|
model.SyncFlagModifiedMask,
|
||||||
|
utils.DefaultTimeValue, model.ThingTypeSku, model.SyncFlagDeletedMask,
|
||||||
}
|
}
|
||||||
if len(vendorIDs) > 0 {
|
if len(vendorIDs) > 0 {
|
||||||
for _, v := range vendorIDs {
|
sql += " AND t1.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")"
|
||||||
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[v])
|
sqlParams = append(sqlParams, vendorIDs)
|
||||||
sql += ` b.%s_sync_status = b.%s_sync_status | ?,`
|
|
||||||
fmtParams = append(fmtParams, fieldPrefix)
|
|
||||||
sqlParams = append(sqlParams, model.SyncFlagModifiedMask)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return 0, errors.New("取平台ID名有错误!partner.GetPurchasePlatformVendorIDs()")
|
|
||||||
}
|
}
|
||||||
sql = sql[0:strings.LastIndex(sql, ",")]
|
|
||||||
sql = fmt.Sprintf(sql, fmtParams...)
|
|
||||||
sql += ` WHERE b.deleted_at = ?
|
|
||||||
AND c.ex_prefix != ""
|
|
||||||
AND (c.ex_prefix_begin = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL '6' HOUR),'%Y-%m-%d 00:00:00')
|
|
||||||
OR c.ex_prefix_end = DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00'))
|
|
||||||
`
|
|
||||||
sqlParams = append(sqlParams, utils.DefaultTimeValue)
|
|
||||||
return ExecuteSQL(db, sql, sqlParams...)
|
return ExecuteSQL(db, sql, sqlParams...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user