diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 0e8db150c..789a4705c 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -3859,12 +3859,14 @@ func BackUpStoreSkuBind(ctx *jxcontext.Context, isAsync, isContinueWhenError boo } dao.DeleteEntity(db, storeSkuBindHis, "SnapShotAt") dao.DeleteEntity(db, storeSkuBindHis2, "SnapShotAt") + storeList, err := dao.GetStoreList(db, nil, nil, nil, nil, "") sql := `SELECT * FROM store_sku_bind WHERE deleted_at = ?` sqlParams := []interface{}{utils.DefaultTimeValue} err = dao.GetRows(db, &storeSkuBinds, sql, sqlParams) task := tasksch.NewParallelTask("RefreshOrdersPriceInfo", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { - v := batchItemList[0].(*model.StoreSkuBind) + store := batchItemList[0].(*model.Store) + storeSku, err := dao.GetStoresSkusInfo(db, []int{store.ID}, nil) dao.Begin(db) defer func() { if r := recover(); r != nil { @@ -3872,14 +3874,16 @@ func BackUpStoreSkuBind(ctx *jxcontext.Context, isAsync, isContinueWhenError boo panic(r) } }() - storeSkuBindHis := &model.StoreSkuBindHistory{} - storeSkuBindHis.StoreSkuBind = *v - storeSkuBindHis.StoreSkuBindID = v.ID - storeSkuBindHis.SnapshotAt = snapshotAt - dao.CreateEntity(db, storeSkuBindHis) + for _, v := range storeSku { + storeSkuBindHis := &model.StoreSkuBindHistory{} + storeSkuBindHis.StoreSkuBind = *v + storeSkuBindHis.StoreSkuBindID = v.ID + storeSkuBindHis.SnapshotAt = snapshotAt + dao.CreateEntity(db, storeSkuBindHis) + } dao.Commit(db) return retVal, err - }, storeSkuBinds) + }, storeList) tasksch.HandleTask(task, nil, true).Run() if isAsync { hint = task.GetID()