可以在IP名单中搜索IP

This commit is contained in:
刘祥超
2021-10-22 12:18:53 +08:00
parent 3b8d1b4cd8
commit bd905ff1a9
3 changed files with 19 additions and 10 deletions

View File

@@ -177,18 +177,27 @@ func (this *IPItemDAO) UpdateIPItem(tx *dbs.Tx, itemId int64, ipFrom string, ipT
} }
// CountIPItemsWithListId 计算IP数量 // CountIPItemsWithListId 计算IP数量
func (this *IPItemDAO) CountIPItemsWithListId(tx *dbs.Tx, listId int64) (int64, error) { func (this *IPItemDAO) CountIPItemsWithListId(tx *dbs.Tx, listId int64, keyword string) (int64, error) {
return this.Query(tx). var query = this.Query(tx).
State(IPItemStateEnabled). State(IPItemStateEnabled).
Attr("listId", listId). Attr("listId", listId)
Count() if len(keyword) > 0 {
query.Where("(ipFrom LIKE :keyword OR ipTo LIKE :keyword)").
Param("keyword", "%"+keyword+"%")
}
return query.Count()
} }
// ListIPItemsWithListId 查找IP列表 // ListIPItemsWithListId 查找IP列表
func (this *IPItemDAO) ListIPItemsWithListId(tx *dbs.Tx, listId int64, offset int64, size int64) (result []*IPItem, err error) { func (this *IPItemDAO) ListIPItemsWithListId(tx *dbs.Tx, listId int64, keyword string, offset int64, size int64) (result []*IPItem, err error) {
_, err = this.Query(tx). var query = this.Query(tx).
State(IPItemStateEnabled). State(IPItemStateEnabled).
Attr("listId", listId). Attr("listId", listId)
if len(keyword) > 0 {
query.Where("(ipFrom LIKE :keyword OR ipTo LIKE :keyword)").
Param("keyword", "%"+keyword+"%")
}
_, err = query.
DescPk(). DescPk().
Slice(&result). Slice(&result).
Offset(offset). Offset(offset).

View File

@@ -178,7 +178,7 @@ func TestServerDAO_UpdateServerBandwidthLimitStatus(t *testing.T) {
MonthlySize: &shared.SizeCapacity{Count: 10, Unit: "mb"}, MonthlySize: &shared.SizeCapacity{Count: 10, Unit: "mb"},
TotalSize: nil, TotalSize: nil,
NoticePageBody: "", NoticePageBody: "",
}, 23) }, 23, false)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@@ -151,7 +151,7 @@ func (this *IPItemService) CountIPItemsWithListId(ctx context.Context, req *pb.C
} }
} }
count, err := models.SharedIPItemDAO.CountIPItemsWithListId(tx, req.IpListId) count, err := models.SharedIPItemDAO.CountIPItemsWithListId(tx, req.IpListId, req.Keyword)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -175,7 +175,7 @@ func (this *IPItemService) ListIPItemsWithListId(ctx context.Context, req *pb.Li
} }
} }
items, err := models.SharedIPItemDAO.ListIPItemsWithListId(tx, req.IpListId, req.Offset, req.Size) items, err := models.SharedIPItemDAO.ListIPItemsWithListId(tx, req.IpListId, req.Keyword, req.Offset, req.Size)
if err != nil { if err != nil {
return nil, err return nil, err
} }