diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 5b499864c..2894b4fd9 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -6619,14 +6619,22 @@ func SyncTiktokMainIdToLocal(ctx *jxcontext.Context, param *tiktok_store.MainSku if err != nil { return err } - + db := dao.GetDB() for _, code := range codes { result, err := tiktok_store.QueryAllMainSkuList(code.VendorOrgCode, param) - globals.SugarLogger.Debugf("=====%s", utils.Format4Output(result, false)) if err != nil { continue } - return OnCreateThing2Tiktok(ctx, dao.GetDB(), code.VendorOrgCode, result, model.ThingTypeSku, model.SyncFlagNewMask, false) + + // 删除当前时间段数据 + jxutils.CallMsgHandlerAsync(func() { + if err := DeleteThingByData(ctx, db, code.VendorOrgCode, utils.Timestamp2Time(param.StartTime), utils.Timestamp2Time(param.EndTime)); err != nil { + globals.SugarLogger.Error("删除需要同步的数据 := %s", err.Error()) + } + if err := OnCreateThing2Tiktok(ctx, db, code.VendorOrgCode, result, model.ThingTypeSku, model.SyncFlagNewMask, false); err != nil { + globals.SugarLogger.Error("初始他抖音平台主订单已经子订单id信息错误:= %s", err.Error()) + } + }, "") } return nil } diff --git a/business/jxstore/cms/sync2.go b/business/jxstore/cms/sync2.go index 2a27c710b..e78c5c654 100644 --- a/business/jxstore/cms/sync2.go +++ b/business/jxstore/cms/sync2.go @@ -399,6 +399,12 @@ func onUpdateThing(ctx *jxcontext.Context, db *dao.DaoDB, vendorInfoList []*mode return err } +func DeleteThingByData(ctx *jxcontext.Context, db *dao.DaoDB, appOrgCode string, startTime time.Time, endTime time.Time) error { + sql := ` DELETE FROM thing_map WHERE vendor_org_code = ? AND created_at >= ? AND created_at < ? ` + _, err := dao.ExecuteSQL(db, sql, []interface{}{appOrgCode, startTime, endTime}) + return err +} + func OnUpdateThing(ctx *jxcontext.Context, db *dao.DaoDB, vendorInfoList []*model.VendorOrgCode, thingID int64, thingType int8) (err error) { return onUpdateThing(ctx, db, vendorInfoList, thingID, thingType, model.SyncFlagModifiedMask) }