diff --git a/src/main/java/a8k/db/AppUser.java b/src/main/java/a8k/db/AppUser.java index 7aa5970..8a97350 100644 --- a/src/main/java/a8k/db/AppUser.java +++ b/src/main/java/a8k/db/AppUser.java @@ -10,13 +10,13 @@ public class AppUser extends UfActiveRecord { @JsonIgnore @UfActiveRecordField - public String password; + public String password = ""; @UfActiveRecordField - public Integer isAdmin; + public Integer isAdmin = 0; @UfActiveRecordField - public Integer isBuiltInUser; + public Integer isBuiltInUser = 0; // get table name public static String getTableName() { @@ -29,10 +29,16 @@ public class AppUser extends UfActiveRecord { } public Boolean isAdmin() { + if (isAdmin == null) { + return false; + } return isAdmin != 0; } public Boolean isBuiltInUser() { + if (isBuiltInUser == null) { + return false; + } return isBuiltInUser != 0; } } diff --git a/src/main/java/a8k/service/hardware/canbus/protocol/A8kEcode.java b/src/main/java/a8k/service/hardware/canbus/protocol/A8kEcode.java index a828fa9..39382d4 100644 --- a/src/main/java/a8k/service/hardware/canbus/protocol/A8kEcode.java +++ b/src/main/java/a8k/service/hardware/canbus/protocol/A8kEcode.java @@ -34,7 +34,8 @@ public enum A8kEcode { PasswdError(100, "密码错误"), // UsrNotExitError(101, "用户不存在"), // - + UsrExistError(102, "用户已存在"), // + UsrNotAllowBeDeleted(103, "用户不允许被删除"), // // // FOR HARDWARE diff --git a/src/main/java/a8k/service/usermgr/AppUserMgrService.java b/src/main/java/a8k/service/usermgr/AppUserMgrService.java index 5698c27..a0da737 100644 --- a/src/main/java/a8k/service/usermgr/AppUserMgrService.java +++ b/src/main/java/a8k/service/usermgr/AppUserMgrService.java @@ -63,4 +63,45 @@ public class AppUserMgrService { public AppRet> loginList() { return AppRet.success(getUserList()); } + + public AppRet addUser(String account, String password, int isAdmin) { + if (getUser(account) != null) { + return AppRet.fail(A8kEcode.UsrExistError); + } + var user = new AppUser(); + user.account = account; + user.password = password; + user.isAdmin = isAdmin; + user.save(); + return AppRet.success(user); + } + + public AppRet delUser(String account) { + var user = getUser(account); + if (user == null) { + return AppRet.fail(A8kEcode.UsrNotExitError); + } + if (user.isBuiltInUser == 1) { + return AppRet.fail(A8kEcode.UsrNotAllowBeDeleted); + } + user.delete(); + return AppRet.success(user); + } + + public AppRet modifyUser(String account, String password, int isAdmin) { + var user = getUser(account); + if (user == null) { + return AppRet.fail(A8kEcode.UsrNotExitError); + } + user.password = password; + user.isAdmin = isAdmin; + user.save(); + return AppRet.success(user); + } + + public AppRet getLoginUsrInfo() { + return AppRet.success(loginUsr); + } + + } diff --git a/zhaohe_app.db b/zhaohe_app.db index b169a85..465c4ef 100644 Binary files a/zhaohe_app.db and b/zhaohe_app.db differ