diff --git a/internal/db/models/ip_item_dao.go b/internal/db/models/ip_item_dao.go index f1b22d14..d956dd96 100644 --- a/internal/db/models/ip_item_dao.go +++ b/internal/db/models/ip_item_dao.go @@ -265,7 +265,7 @@ func (this *IPItemDAO) UpdateIPItem(tx *dbs.Tx, itemId int64, ipFrom string, ipT } // CountIPItemsWithListId 计算IP数量 -func (this *IPItemDAO) CountIPItemsWithListId(tx *dbs.Tx, listId int64, ipFrom string, ipTo string, keyword string) (int64, error) { +func (this *IPItemDAO) CountIPItemsWithListId(tx *dbs.Tx, listId int64, ipFrom string, ipTo string, keyword string, eventLevel string) (int64, error) { var query = this.Query(tx). State(IPItemStateEnabled). Attr("listId", listId) @@ -279,11 +279,14 @@ func (this *IPItemDAO) CountIPItemsWithListId(tx *dbs.Tx, listId int64, ipFrom s if len(ipTo) > 0 { query.Attr("ipTo", ipTo) } + if len(eventLevel) > 0 { + query.Attr("eventLevel", eventLevel) + } return query.Count() } // ListIPItemsWithListId 查找IP列表 -func (this *IPItemDAO) ListIPItemsWithListId(tx *dbs.Tx, listId int64, keyword string, ipFrom string, ipTo string, offset int64, size int64) (result []*IPItem, err error) { +func (this *IPItemDAO) ListIPItemsWithListId(tx *dbs.Tx, listId int64, keyword string, ipFrom string, ipTo string, eventLevel string, offset int64, size int64) (result []*IPItem, err error) { var query = this.Query(tx). State(IPItemStateEnabled). Attr("listId", listId) @@ -297,6 +300,9 @@ func (this *IPItemDAO) ListIPItemsWithListId(tx *dbs.Tx, listId int64, keyword s if len(ipTo) > 0 { query.Attr("ipTo", ipTo) } + if len(eventLevel) > 0 { + query.Attr("eventLevel", eventLevel) + } _, err = query. DescPk(). Slice(&result). @@ -372,7 +378,7 @@ func (this *IPItemDAO) ExistsEnabledItem(tx *dbs.Tx, itemId int64) (bool, error) } // CountAllEnabledIPItems 计算数量 -func (this *IPItemDAO) CountAllEnabledIPItems(tx *dbs.Tx, ip string, listId int64, unread bool) (int64, error) { +func (this *IPItemDAO) CountAllEnabledIPItems(tx *dbs.Tx, ip string, listId int64, unread bool, eventLevel string) (int64, error) { var query = this.Query(tx) if len(ip) > 0 { query.Attr("ipFrom", ip) @@ -385,6 +391,9 @@ func (this *IPItemDAO) CountAllEnabledIPItems(tx *dbs.Tx, ip string, listId int6 if unread { query.Attr("isRead", 0) } + if len(eventLevel) > 0 { + query.Attr("eventLevel", eventLevel) + } return query. State(IPItemStateEnabled). Where("(expiredAt=0 OR expiredAt>:expiredAt)"). @@ -393,7 +402,7 @@ func (this *IPItemDAO) CountAllEnabledIPItems(tx *dbs.Tx, ip string, listId int6 } // ListAllEnabledIPItems 搜索所有IP -func (this *IPItemDAO) ListAllEnabledIPItems(tx *dbs.Tx, ip string, listId int64, unread bool, offset int64, size int64) (result []*IPItem, err error) { +func (this *IPItemDAO) ListAllEnabledIPItems(tx *dbs.Tx, ip string, listId int64, unread bool, eventLevel string, offset int64, size int64) (result []*IPItem, err error) { var query = this.Query(tx) if len(ip) > 0 { query.Attr("ipFrom", ip) @@ -406,6 +415,9 @@ func (this *IPItemDAO) ListAllEnabledIPItems(tx *dbs.Tx, ip string, listId int64 if unread { query.Attr("isRead", 0) } + if len(eventLevel) > 0 { + query.Attr("eventLevel", eventLevel) + } _, err = query. State(IPItemStateEnabled). Where("(expiredAt=0 OR expiredAt>:expiredAt)"). diff --git a/internal/rpc/services/service_ip_item.go b/internal/rpc/services/service_ip_item.go index 429ec954..345c8e7c 100644 --- a/internal/rpc/services/service_ip_item.go +++ b/internal/rpc/services/service_ip_item.go @@ -170,7 +170,7 @@ func (this *IPItemService) CountIPItemsWithListId(ctx context.Context, req *pb.C } } - count, err := models.SharedIPItemDAO.CountIPItemsWithListId(tx, req.IpListId, req.Keyword, req.IpFrom, req.IpTo) + count, err := models.SharedIPItemDAO.CountIPItemsWithListId(tx, req.IpListId, req.Keyword, req.IpFrom, req.IpTo, req.EventLevel) if err != nil { return nil, err } @@ -194,7 +194,7 @@ func (this *IPItemService) ListIPItemsWithListId(ctx context.Context, req *pb.Li } } - items, err := models.SharedIPItemDAO.ListIPItemsWithListId(tx, req.IpListId, req.Keyword, req.IpFrom, req.IpTo, req.Offset, req.Size) + items, err := models.SharedIPItemDAO.ListIPItemsWithListId(tx, req.IpListId, req.Keyword, req.IpFrom, req.IpTo, req.EventLevel, req.Offset, req.Size) if err != nil { return nil, err } @@ -484,7 +484,7 @@ func (this *IPItemService) CountAllEnabledIPItems(ctx context.Context, req *pb.C if req.GlobalOnly { listId = firewallconfigs.GlobalListId } - count, err := models.SharedIPItemDAO.CountAllEnabledIPItems(tx, req.Ip, listId, req.Unread) + count, err := models.SharedIPItemDAO.CountAllEnabledIPItems(tx, req.Ip, listId, req.Unread, req.EventLevel) if err != nil { return nil, err } @@ -504,7 +504,7 @@ func (this *IPItemService) ListAllEnabledIPItems(ctx context.Context, req *pb.Li if req.GlobalOnly { listId = firewallconfigs.GlobalListId } - items, err := models.SharedIPItemDAO.ListAllEnabledIPItems(tx, req.Ip, listId, req.Unread, req.Offset, req.Size) + items, err := models.SharedIPItemDAO.ListAllEnabledIPItems(tx, req.Ip, listId, req.Unread, req.EventLevel, req.Offset, req.Size) if err != nil { return nil, err }