From 4215afff5ee1bec56b72aa1581b807f6e2b09f16 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 30 Jul 2024 11:41:08 +0800 Subject: [PATCH] update --- src/main/java/a8k/db/AppUser.java | 9 +++ .../a8k/service/usermgr/AppUserMgrService.java | 66 +++++++++++++++++++++ .../java/a8k/service/usermgr/UserMgrService.java | 59 ------------------ .../V100_3__create_table_AppUserTable.sql | 9 +++ zhaohe_app.db | Bin 487424 -> 487424 bytes 5 files changed, 84 insertions(+), 59 deletions(-) create mode 100644 src/main/java/a8k/service/usermgr/AppUserMgrService.java delete mode 100644 src/main/java/a8k/service/usermgr/UserMgrService.java create mode 100644 src/main/resources/db/migration/V100_3__create_table_AppUserTable.sql diff --git a/src/main/java/a8k/db/AppUser.java b/src/main/java/a8k/db/AppUser.java index 82fff64..7aa5970 100644 --- a/src/main/java/a8k/db/AppUser.java +++ b/src/main/java/a8k/db/AppUser.java @@ -15,6 +15,8 @@ public class AppUser extends UfActiveRecord { @UfActiveRecordField public Integer isAdmin; + @UfActiveRecordField + public Integer isBuiltInUser; // get table name public static String getTableName() { @@ -26,4 +28,11 @@ public class AppUser extends UfActiveRecord { return this.password.equals(password); } + public Boolean isAdmin() { + return isAdmin != 0; + } + + public Boolean isBuiltInUser() { + return isBuiltInUser != 0; + } } diff --git a/src/main/java/a8k/service/usermgr/AppUserMgrService.java b/src/main/java/a8k/service/usermgr/AppUserMgrService.java new file mode 100644 index 0000000..5698c27 --- /dev/null +++ b/src/main/java/a8k/service/usermgr/AppUserMgrService.java @@ -0,0 +1,66 @@ +package a8k.service.usermgr; + +import a8k.appbase.appret.AppRet; +import a8k.db.AppUser; +import a8k.service.hardware.canbus.protocol.A8kEcode; +import com.iflytop.uf.UfActiveRecord; +import jakarta.annotation.PostConstruct; +import org.slf4j.Logger; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public class AppUserMgrService { + static Logger logger = org.slf4j.LoggerFactory.getLogger(AppUserMgrService.class); + + AppUser loginUsr; + + @PostConstruct + public void init() { + logger.info("UserMgrService init"); + AppUser admin = getUser("管理员"); + if (admin == null) { + admin = new AppUser(); + admin.account = "管理员"; + admin.password = "0000"; + admin.isAdmin = 1; + admin.isBuiltInUser = 1; + admin.save(); + } + + } + + List getUserList() { + return UfActiveRecord.find(AppUser.class); + } + + AppUser getUser(String account) { + return UfActiveRecord.findOne(AppUser.class, Map.of("account", account)); + } + + // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + // EXT FUNC + // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + public AppRet login(String account, String password) { + var user = getUser(account); + if (user == null) { + return AppRet.fail(A8kEcode.UsrNotExitError); + } + if (!user.matchPassword(password)) { + return AppRet.fail(A8kEcode.PasswdError); + } + loginUsr = user; + return AppRet.success(user); + } + + public AppRet getLoginUsr() { + return AppRet.success(loginUsr); + } + + public AppRet> loginList() { + return AppRet.success(getUserList()); + } +} diff --git a/src/main/java/a8k/service/usermgr/UserMgrService.java b/src/main/java/a8k/service/usermgr/UserMgrService.java deleted file mode 100644 index 7357251..0000000 --- a/src/main/java/a8k/service/usermgr/UserMgrService.java +++ /dev/null @@ -1,59 +0,0 @@ -package a8k.service.usermgr; - -import a8k.appbase.appret.AppRet; -import a8k.db.AppUser; -import a8k.service.hardware.canbus.protocol.A8kEcode; -import com.iflytop.uf.UfActiveRecord; -import jakarta.annotation.PostConstruct; -import org.slf4j.Logger; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; - -@Component -public class UserMgrService { - static Logger logger = org.slf4j.LoggerFactory.getLogger(UserMgrService.class); - - AppUser loginUsr; - - @PostConstruct - public void init() { - logger.info("UserMgrService init"); - - - - } - - List getUserList() { - return UfActiveRecord.find(AppUser.class); - } - - AppUser getUser(String account) { - return UfActiveRecord.findOne(AppUser.class, Map.of("account", account)); - } - - // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - // EXTFUNC - // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - - public AppRet login(String account, String password) { - var user = getUser(account); - if (user == null) { - return AppRet.fail(A8kEcode.UsrNotExitError); - } - if (!user.matchPassword(password)) { - return AppRet.fail(A8kEcode.PasswdError); - } - loginUsr = user; - return AppRet.success(user); - } - - public AppRet getLoginUsr() { - return AppRet.success(loginUsr); - } - - public AppRet> loginList() { - return AppRet.success(getUserList()); - } -} diff --git a/src/main/resources/db/migration/V100_3__create_table_AppUserTable.sql b/src/main/resources/db/migration/V100_3__create_table_AppUserTable.sql new file mode 100644 index 0000000..a49d373 --- /dev/null +++ b/src/main/resources/db/migration/V100_3__create_table_AppUserTable.sql @@ -0,0 +1,9 @@ +CREATE TABLE "AppUserTable" +( + "id" text NOT NULL, + "account" text, + "password" text, + "isAdmin" integer, + "isBuiltInUser" integer, + PRIMARY KEY ("id") +); \ No newline at end of file diff --git a/zhaohe_app.db b/zhaohe_app.db index de035f16de447142cd6922234c26e1f2ff7b2083..b169a858db3492089e468d6600ed578f4c43129f 100644 GIT binary patch delta 787 zcmZp8AlvXjc7n9vTLuP(av&}NVs0RwKT*e+^(}*5S;xkd1^fbRypat22l;LI&hbU? zp5%?(tSI2hTc5|q%_wd!9L~aP&B)1SXkegcoLrQeSdywxl9-f}s^C~q5L%pC6awM| z2l|8oRm2;|$3xV_gVn?%tI;bi%z3r>(@rA;BNJT%b6sNt1p{L%V@oSzLp^hIQ@%zX zR-lEk!lhsfSvTL1)nO7~@nURr=ZSoU+1)ze* zAO+v~Kk>iif5HD4sNg(5D+@CxBU|$e`}P<1jN4z>Gf7_H=0DEB$lu4n-^bs#S<#@0 z-`1RoEmU5VlheR5EyWRH@8(#>e1W}*X(QWw=0eux%zE3EJ}|Q|^Jg${0yQ!)m^U)A ziF>O~|JcbWA&(r!@rKAeW9AbKoZE9gGutvUG6HS;8`D_Q$iObHs>;}`4UQmW)yQlk z=O9Y7P|8eE0?|+~*^pf{TPZO)IlnZo1SV0ET2Z0{ zRbG%-TwI=C1k;2pm09eVlAD{ObWQ{tHiN^eREP}%7RXEMsP s&;P~@#4JF}x_$mPwhT)~uIU^G?ApA>z;FU#P`WPz#?Ar$We)5H0Cc|N!TVvwvoRQfnb1p%&UZLmU2dc6PQ@%H8#D zTjA+QeIWXz;bCK9s80m-MXaIzdBGSX5dWYLCWwEC^r4y<2}X>@7=L>l;WVZ_bD7-S z?#yStzwi8hb94OKn&a2jys*0Ex+F=@K=Yv`p`Cj1VN!EldL;AiS@#vCsU~?*Qr=g# zG=18%H+gZc9nUA{F0R=uH`OQ$lJci=OSz%^s4UF2T>e5ixzM#1o-c;ae^YKMKPijw z{7dE8#hw$3J(2mv9(mQ};YK1g$0e!ZQUk01tNx{Wz3#KRTwO!$tF=25KO~+{JQTkW zAB6#<|MwG&TfV?b&Rp8g7kZ7RrJ@KO$fBL#Ul>}?7z z73383BHst=e0d*Ch|CxRk`gpsg$b|uvKhWy8!Y&x3DO5a@08qG?~B4?*`ve#+j7Bd zLGGx-V2alr&U+5#t#~5CryS;I^MhHR`J&IyPuv}PV0Ao=_DC(kn=o|C&>?nM^i8lM zx$(@{?rdQQdK03sJ1=(Uvs@Gk{aJTvqJ$U{`RQ>kRP5a!Pj`oet3cRRBEYEI-$Opj zxX!VvNH!i_6;F5V0e@m&%j>uHvE0rncT8*(6YN-O{D@dy48i!oeev|hJyKhMfU%{Q z`{UWnz_iHwRRIi)@&1)1LTm685H>%aAJ64Pejq0@RYjp1_~43C7%f2&0NrIkDm0em zs$v+%{8s)9=GzqQz0~oy( zaipdkQ5{CJ47~rIax5L+-1T!r!YFqZCUhWTdKiC^2|*88cOZ z3AbgadW=mCu9PvS{)O35J;ow7Yl^4UFsP3JQ>-u-lBDX8#*(GdYqf-GV%M>d;Sh#& z=3wMlwt-B?W|nO+lXJJcM5&}o5mzi!T)M`oX^l1BUdhJr!^0*rRGlK7dpfcWp&~|9 zsxwvPg6owll}xEv>Ax2$PLxj*!&W6J`pL%aQk$g_gLuqDOqd?hp|lZYj*VR1Qe9zU z!G!nE^6t;V85eHCAmfMov(uHw6va3s7sz(0l`&VNp6wt{6+osYEh3wk7Ibw+ZAz)j zoscucStb;gO=a_wQ(`GT92|geLm(V`8W&(Y62j$3SGk9%MJ&V#RXxIVYU%6_y?ini zmt?DOC`pq1P6ucwjv%^FT?9rGq3bOHqkUL$S$Ftj%?rR5%k|8Y&%fjt~LVdyrL9%$u411D@DK(OgT>FK7$n9Yf2 zq