From e1fb8e4c74c76cf8a6b0113964d154199cc9fe4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Wed, 22 Jun 2022 18:59:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=9F=90=E4=B8=AAIP=E6=97=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/ip_item_dao.go | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/internal/db/models/ip_item_dao.go b/internal/db/models/ip_item_dao.go index 5271fa7f..56a0af5a 100644 --- a/internal/db/models/ip_item_dao.go +++ b/internal/db/models/ip_item_dao.go @@ -207,14 +207,35 @@ func (this *IPItemDAO) FindEnabledIPItem(tx *dbs.Tx, id int64) (*IPItem, error) // DeleteOldItem 根据IP删除以前的旧记录 func (this *IPItemDAO) DeleteOldItem(tx *dbs.Tx, listId int64, ipFrom string, ipTo string) error { - _, err := this.Query(tx). + ones, err := this.Query(tx). + ResultPk(). UseIndex("ipFrom"). Attr("listId", listId). Attr("ipFrom", ipFrom). Attr("ipTo", ipTo). - Delete() - // 这里不通知更新 - return err + Set("state", IPItemStateEnabled). + FindAll() + if err != nil { + return err + } + for _, one := range ones { + var itemId = int64(one.(*IPItem).Id) + version, err := SharedIPListDAO.IncreaseVersion(tx) + if err != nil { + return err + } + + err = this.Query(tx). + Pk(itemId). + Set("version", version). + Set("state", IPItemStateDisabled). + UpdateQuickly() + if err != nil { + return err + } + } + + return nil } // CreateIPItem 创建IP @@ -267,6 +288,8 @@ func (this *IPItemDAO) CreateIPItem(tx *dbs.Tx, } op.State = IPItemStateEnabled + op.UpdatedAt = time.Now().Unix() + err = this.Save(tx, op) if err != nil { return 0, err