From 2649ac9dbaa1e51f3a95682cd232733737c3f79b Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 21 Nov 2021 08:43:26 +0800 Subject: [PATCH] =?UTF-8?q?IP=E5=90=8D=E5=8D=95=E6=9F=A5=E7=9C=8B=E6=89=80?= =?UTF-8?q?=E6=9C=89IP=E6=97=B6=E4=B8=8D=E6=98=BE=E7=A4=BA=E8=BF=87?= =?UTF-8?q?=E6=9C=9FIP/=E8=8A=82=E7=82=B9=E5=90=8C=E6=AD=A5IP=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E6=97=B6=E5=B0=86=E8=BF=87=E6=9C=9FItem=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA=E5=B7=B2=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/ip_item_dao.go | 6 ++++-- internal/rpc/services/service_ip_item.go | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/db/models/ip_item_dao.go b/internal/db/models/ip_item_dao.go index fc64be5f..115e2cfc 100644 --- a/internal/db/models/ip_item_dao.go +++ b/internal/db/models/ip_item_dao.go @@ -282,8 +282,6 @@ func (this *IPItemDAO) ListIPItemsAfterVersion(tx *dbs.Tx, version int64, size i _, err = this.Query(tx). // 这里不要设置状态参数,因为我们要知道哪些是删除的 Gt("version", version). - Where("(expiredAt=0 OR expiredAt>:expiredAt)"). - Param("expiredAt", time.Now().Unix()). Asc("version"). Asc("id"). Limit(size). @@ -356,6 +354,8 @@ func (this *IPItemDAO) CountAllEnabledIPItems(tx *dbs.Tx, ip string, listId int6 } return query. State(IPItemStateEnabled). + Where("(expiredAt=0 OR expiredAt>:expiredAt)"). + Param("expiredAt", time.Now().Unix()). Count() } @@ -372,6 +372,8 @@ func (this *IPItemDAO) ListAllEnabledIPItems(tx *dbs.Tx, ip string, listId int64 } _, err = query. State(IPItemStateEnabled). + Where("(expiredAt=0 OR expiredAt>:expiredAt)"). + Param("expiredAt", time.Now().Unix()). DescPk(). Offset(offset). Size(size). diff --git a/internal/rpc/services/service_ip_item.go b/internal/rpc/services/service_ip_item.go index 3a9300cd..406f2e30 100644 --- a/internal/rpc/services/service_ip_item.go +++ b/internal/rpc/services/service_ip_item.go @@ -9,6 +9,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "net" + "time" ) // IPItemService IP条目相关服务 @@ -328,6 +329,11 @@ func (this *IPItemService) ListIPItemsAfterVersion(ctx context.Context, req *pb. return nil, err } for _, item := range items { + // 是否已过期 + if item.ExpiredAt > 0 && int64(item.ExpiredAt) <= time.Now().Unix() { + item.State = models.IPItemStateDisabled + } + if len(item.Type) == 0 { item.Type = models.IPItemTypeIPv4 }