diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index e401b6464..94982a49e 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1294,6 +1294,9 @@ func SaveStoresVendorSnapshot(db *dao.DaoDB, snapshotAt time.Time, curSnapshotLi } } }() + if err = dao.DeleteVendorStoreSnapshot(db, snapshotAt.Add(-48*time.Hour)); err != nil { + return err + } for _, v := range curSnapshotList { v.SnapshotAt = snapshotAt diff --git a/business/model/dao/store.go b/business/model/dao/store.go index a98fcfaf0..5ec3626c6 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -284,3 +284,12 @@ func GetVendorStoreSnapshot(db *DaoDB, excludeSnapshotAt time.Time) (snapshotLis err = GetRows(db, &snapshotList, sql, time.Now().Add(-48*time.Hour), excludeSnapshotAt) return snapshotList, err } + +func DeleteVendorStoreSnapshot(db *DaoDB, minSnapshotAt time.Time) (err error) { + _, err = ExecuteSQL(db, ` + DELETE t1 + FROM vendor_store_snapshot t1 + WHERE t1.snapshot_at < ? + `, minSnapshotAt) + return err +}