IP名单增加是否全局

This commit is contained in:
刘祥超
2021-11-17 16:14:55 +08:00
parent bf2ffeb15c
commit 4d7e82d0a2
6 changed files with 85 additions and 30 deletions

View File

@@ -77,17 +77,37 @@ func (this *IPItemDAO) DisableIPItem(tx *dbs.Tx, id int64) error {
// DisableIPItemsWithListId 禁用某个IP名单内的所有IP
func (this *IPItemDAO) DisableIPItemsWithListId(tx *dbs.Tx, listId int64) error {
version, err := SharedIPListDAO.IncreaseVersion(tx)
if err != nil {
return err
for {
ones, err := this.Query(tx).
ResultPk().
Attr("listId", listId).
State(IPItemStateEnabled).
Limit(1000).
FindAll()
if err != nil {
return err
}
if len(ones) == 0 {
break
}
for _, one := range ones {
var itemId = one.(*IPItem).Id
version, err := SharedIPListDAO.IncreaseVersion(tx)
if err != nil {
return err
}
err = this.Query(tx).
Pk(itemId).
State(IPItemStateEnabled).
Set("version", version).
Set("state", IPItemStateDisabled).
UpdateQuickly()
if err != nil {
return err
}
}
}
return this.Query(tx).
Attr("listId", listId).
State(IPItemStateEnabled).
Set("version", version).
Set("state", IPItemStateDisabled).
UpdateQuickly()
return nil
}
// FindEnabledIPItem 查找启用中的条目