♻️ Refactor av data structure

This commit is contained in:
Daniel 2023-07-13 23:59:39 +08:00
parent 19fcd1a034
commit 1bc9a317a5
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -206,7 +206,7 @@ func (value *Value) CompareOperator(other *Value, operator FilterOperator) bool
if nil != value.MSelect && nil != other.MSelect && 0 < len(value.MSelect) && 0 < len(other.MSelect) { if nil != value.MSelect && nil != other.MSelect && 0 < len(value.MSelect) && 0 < len(other.MSelect) {
switch operator { switch operator {
case FilterOperatorIsEqual: case FilterOperatorIsEqual, FilterOperatorContains:
contains := false contains := false
for _, v := range value.MSelect { for _, v := range value.MSelect {
for _, v2 := range other.MSelect { for _, v2 := range other.MSelect {
@ -217,7 +217,7 @@ func (value *Value) CompareOperator(other *Value, operator FilterOperator) bool
} }
} }
return contains return contains
case FilterOperatorIsNotEqual: case FilterOperatorIsNotEqual, FilterOperatorDoesNotContain:
contains := false contains := false
for _, v := range value.MSelect { for _, v := range value.MSelect {
for _, v2 := range other.MSelect { for _, v2 := range other.MSelect {
@ -229,9 +229,9 @@ func (value *Value) CompareOperator(other *Value, operator FilterOperator) bool
} }
return !contains return !contains
case FilterOperatorIsEmpty: case FilterOperatorIsEmpty:
return 0 == len(value.MSelect) return 0 == len(value.MSelect) || 1 == len(value.MSelect) && "" == value.MSelect[0].Content
case FilterOperatorIsNotEmpty: case FilterOperatorIsNotEmpty:
return 0 != len(value.MSelect) return 0 != len(value.MSelect) && !(1 == len(value.MSelect) && "" == value.MSelect[0].Content)
} }
} }
return true return true