Browse Source

修改用户查询条件,支持多个role参数

luoshi 2 years ago
parent
commit
6d1ac56897
1 changed files with 10 additions and 5 deletions
  1. 10 5
      src/main/java/com/qmth/ops/biz/query/UserQuery.java

+ 10 - 5
src/main/java/com/qmth/ops/biz/query/UserQuery.java

@@ -13,7 +13,7 @@ public class UserQuery extends BaseQuery<User> {
 
     private String loginNameStartWith;
 
-    private Role role;
+    private Role[] role;
 
     public Long getId() {
         return id;
@@ -31,16 +31,21 @@ public class UserQuery extends BaseQuery<User> {
         this.loginNameStartWith = loginNameStartWith;
     }
 
-    public Role getRole() {
+    public Role[] getRole() {
         return role;
     }
 
-    public void setRole(Role role) {
+    public void setRole(Role[] role) {
         this.role = role;
     }
 
     public LambdaQueryWrapper<User> build() {
-        return new LambdaQueryWrapper<User>().eq(id != null, User::getId, id).in(role != null, User::getRole, role)
-                .likeRight(loginNameStartWith != null, User::getLoginName, loginNameStartWith);
+        return new LambdaQueryWrapper<User>().eq(id != null, User::getId, id)
+                .likeRight(loginNameStartWith != null, User::getLoginName, loginNameStartWith)
+                .and(role != null && role.length > 0, wrapper -> {
+                    for (Role item : role) {
+                        wrapper.or().like(User::getRole, item);
+                    }
+                });
     }
 }