mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	IP名单查看所有IP时不显示过期IP/节点同步IP名单时将过期Item设置为已删除
This commit is contained in:
		@@ -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).
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user