Sfoglia il codice sorgente

user模型增加enable属性,控制禁用/启用

luoshi 2 anni fa
parent
commit
95bec81462

+ 3 - 0
src/main/java/com/qmth/ops/api/controller/admin/UserController.java

@@ -38,6 +38,9 @@ public class UserController {
         if (user == null) {
             throw new ParameterException("登录名错误");
         }
+        if (!user.getEnable()) {
+            throw new ParameterException("用户已禁用");
+        }
         if (!user.buildPassword(form.getPassword()).equals(user.getPassword())) {
             throw new ParameterException("密码错误");
         }

+ 12 - 0
src/main/java/com/qmth/ops/api/dto/UserForm.java

@@ -39,6 +39,9 @@ public class UserForm {
     @Size(min = 1, message = "role不能为空", groups = InsertGroup.class)
     private Role[] role;
 
+    @NotBlank(message = "enable不能为空", groups = InsertGroup.class)
+    private Boolean enable;
+
     public Long getId() {
         return id;
     }
@@ -79,6 +82,14 @@ public class UserForm {
         this.role = role;
     }
 
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+
     public User build() {
         User user = new User();
         user.setId(id);
@@ -86,6 +97,7 @@ public class UserForm {
         user.setName(name);
         user.setPassword(password);
         user.setRole(role);
+        user.setEnable(enable);
         return user;
     }
 }

+ 10 - 0
src/main/java/com/qmth/ops/biz/domain/User.java

@@ -29,6 +29,8 @@ public class User implements Serializable {
     @TableField(typeHandler = JacksonTypeHandler.class)
     private Role[] role;
 
+    private Boolean enable;
+
     @JsonIgnore
     private String exportSecret;
 
@@ -79,6 +81,14 @@ public class User implements Serializable {
         this.role = role;
     }
 
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+
     public String getExportSecret() {
         return exportSecret;
     }

+ 11 - 1
src/main/java/com/qmth/ops/biz/query/UserQuery.java

@@ -15,6 +15,8 @@ public class UserQuery extends BaseQuery<User> {
 
     private Role[] role;
 
+    private Boolean enable;
+
     public Long getId() {
         return id;
     }
@@ -39,10 +41,18 @@ public class UserQuery extends BaseQuery<User> {
         this.role = role;
     }
 
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+
     public LambdaQueryWrapper<User> build() {
         return new LambdaQueryWrapper<User>().eq(id != null, User::getId, id)
                 .likeRight(loginNameStartWith != null, User::getLoginName, loginNameStartWith)
-                .and(role != null && role.length > 0, wrapper -> {
+                .eq(enable != null, User::getEnable, enable).and(role != null && role.length > 0, wrapper -> {
                     for (Role item : role) {
                         wrapper.or().like(User::getRole, item);
                     }

+ 3 - 0
src/main/java/com/qmth/ops/biz/service/UserService.java

@@ -53,6 +53,9 @@ public class UserService extends ServiceImpl<UserDao, User> {
         if (user.getPassword() != null) {
             previous.buildPassword(user.getPassword());
         }
+        if (user.getEnable() != null) {
+            previous.setEnable(user.getEnable());
+        }
         previous.setUpdateTime(System.currentTimeMillis());
         userDao.updateById(previous);
         return previous;

+ 1 - 0
src/main/resources/script/init.sql

@@ -77,6 +77,7 @@ CREATE TABLE `user`
     `name`          varchar(64)         NOT NULL DEFAULT '',
     `password`      varchar(64)         NOT NULL DEFAULT '',
     `role`          varchar(64)         NOT NULL DEFAULT '',
+    `enable`        tinyint(1)          NOT NULL DEFAULT 1,
     `export_secret` varchar(64)         NOT NULL DEFAULT '',
     `access_token`  varchar(64)                  DEFAULT NULL,
     `create_time`   bigint(20)          NOT NULL,