From 7416d71d7cf4dc09116c5f387fea66ee7990d41b Mon Sep 17 00:00:00 2001 From: tb365 Date: Thu, 2 Sep 2021 14:13:19 +0800 Subject: [PATCH] fix(region): lb list search address fix --- pkg/compute/models/loadbalancers.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/loadbalancers.go b/pkg/compute/models/loadbalancers.go index c3aa49522f..c04d50a6b9 100644 --- a/pkg/compute/models/loadbalancers.go +++ b/pkg/compute/models/loadbalancers.go @@ -190,11 +190,16 @@ func (man *SLoadbalancerManager) ListItemFilter( return nil, err } - if len(query.Address) > 0 { + if len(query.Address) == 1 { + c1 := sqlchemy.In(q.Field("id"), ElasticipManager.Query("associate_id").Contains("ip_addr", query.Address[0])) + c2 := sqlchemy.Contains(q.Field("address"), query.Address[0]) + q = q.Filter(sqlchemy.OR(c1, c2)) + } else if len(query.Address) > 1 { c1 := sqlchemy.In(q.Field("id"), ElasticipManager.Query("associate_id").In("ip_addr", query.Address)) c2 := sqlchemy.In(q.Field("address"), query.Address) q = q.Filter(sqlchemy.OR(c1, c2)) } + if len(query.AddressType) > 0 { q = q.In("address_type", query.AddressType) }