From 3f0014c9b4a4f37333b081da24aa95ee7b2e2357 Mon Sep 17 00:00:00 2001 From: ziin Date: Mon, 16 Mar 2026 17:15:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 10244 bytes src/.DS_Store | Bin 0 -> 6148 bytes .../java/com/yupi/springbootinit/.DS_Store | Bin 0 -> 6148 bytes .../controller/UserController.java | 12 +++++ .../model/vo/user/SystemUsersVO.java | 12 ++++- .../service/SystemUsersService.java | 3 ++ .../service/impl/LoginService.java | 25 ++++++--- .../service/impl/SystemUsersServiceImpl.java | 51 +++++++++++++++--- tk-data-user.2026-03-11.0.gz | Bin 0 -> 219 bytes tk-data-user.2026-03-12.0.gz | Bin 0 -> 608 bytes tk-data-user.2026-03-13.0.gz | Bin 0 -> 639 bytes 11 files changed, 89 insertions(+), 14 deletions(-) create mode 100644 .DS_Store create mode 100644 src/.DS_Store create mode 100644 src/main/java/com/yupi/springbootinit/.DS_Store create mode 100644 tk-data-user.2026-03-11.0.gz create mode 100644 tk-data-user.2026-03-12.0.gz create mode 100644 tk-data-user.2026-03-13.0.gz diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b9340a4956f08d389ec589d80538f8d64de7ed1d GIT binary patch literal 10244 zcmeHMzi$&s6n+yY@h%CGkqDOtX(gH~0&$FiMAw+a2!SZj`2q!?V8@oR*!39Oxgc4Q z+#Xaklpqj2B~)~Pbk$vR?fnBOPC5w*gaqIGusyT3Qy`%`(2TVEcK3a6X5RPS?D~y~ zh^=jxmx%%*@^A>5n#E~E6MAtBwF&(M{Sbpa(KeN-av|hfrEm!C9ykUZ1C9a5fMdWh z@PA+c-)zym871A>G2j?*4D=Zg?}q?~kU1^8O3GIUPO=1moWx_S9+);|y2N109Qr`OA#+-Gl~m@$lsPdyGSd|blcU2fkZ@u-CEeLE;20QYK-BI@ zIzd|$Qqip6c?lXUCiWik(I?rY`6SR)s!?0j`8^z+h4#cKTv%N$Z1Jcet!MWF$bKIY z&*w{_>_aTzBTtszihc}zd0&0wmeKdce_%=ndh^2^t5hdW&EB3wf3DAgGv_)5o0{0W zprY*+J31a|`Q`oo5J;mR)3axPXa8KtO3y6Bz_-x|%e&bw29V5fifGH8=R_4cGfF-@ zx{IiC=~aZ-Hf#%a9~LGDBP=WrX<`8uBT%NNMBNYbAK!==jzkVT-XCdsu09E~$gsow9{(nwe_OZ2y3l&I{g=$NK8&m zCzF11CV8W9i|-WL#rAeSeyO#<%O`mb5J>h3|X*X6lDdC%dw|7_6S!T?{&_ne<|iUCr$7`riDprJsJ@yd6e$ z{+o1+7*moCYS|O_aM5@B*Fv)%^14WLflpEcL5gIWM-C9q~Nv8+Qoje_5PB4QumN~JwwKrCR(xJx#&DaE$ zEJS=vf=aEGpcJ6f-gvP%iCHv<78Bw##5_>eToX?Z>t3PRXRcB^cCOG`bM^iZbDgF( zUWrY7AS&?>nSAA&xnp7X%Z;zTsE`{gnH8+0Gip_3ktf+N$_>jWi*>)U7w5<1ettbX z|KOzjlv#b4*)k4e#bNH|P#j{JlR}Jc({a4^iZWWq@$;mGcr~%+L#+L(z2@Zy&5WDq z-!;d8W56-s7;p?Y24V~()O{fK|Idy8|37BsZXE-Tf$xa{HkmKv*WgjF4v#x0_Syp+ zH*tt2a9t&(2~Ki59#U?{<3{Y}{fI+g(?W`d>ztNdCGiC9zxXpCg>lbfXmjht)&F3m ZSI3(b9i9%huU!4FHmryChQ6u#|1&eC{#pP4 literal 0 HcmV?d00001 diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c8d52009d499fefbbefb1cf14626a00a748414f4 GIT binary patch literal 6148 zcmeHKy-veG47MRd1WP3r*zOf7v9Y98c!ExBP=W|jL#npynRy8|Mkd%9cmN)W&u0TU z5iueJwsiOT{Buq|DR(gu@${w|6OD){#}H&u21Lw*t}P1|C(9m-%kk{IZI%O@{8p1Z zdqxeN(G^`M&%e{2^nFcRmh(kBhb_OYtEa>IWs>@fHUyHfSeBj zL$EOH6ywo>DYgK>4CW}%rI(PLU|1M-its>KQ-PYw)?%=x!yYWIFzggHo!FWWw#x6# z3&-l%Kg4k2LeXbuz!^vx*w*Dp?*C(aGJ{Qin&K;Gz!~^s3~*M?$|+vT?$$4_CwFbY uIK>c=xK0!Z^yDW13pq#jqf`Asbi@^goucd__LvUzAAv}SPtL#(Fz^N-szv4i literal 0 HcmV?d00001 diff --git a/src/main/java/com/yupi/springbootinit/.DS_Store b/src/main/java/com/yupi/springbootinit/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..acfb0fa5473d291a3247864ae1bb970f69ee7af2 GIT binary patch literal 6148 zcmeHKPfNov6i>G4R)^4o!j1v217{t`@KWad0#@{(GFw};Sewyy?l1;D>lgBq_<4LU z$p&Nd;6=o}S6+U}`_qtLN?yYlk zUySpf8 z)^yrEIc^K5>&)6>+H*Q>(d{|2nbp`oI6S==J|{1!eA9$-`1X|S8l1yBbk?rz)yvXE zrjOvC=gxBoi2-7O7}x{`%-PpyZo*<|jl=*k@FNEBd=Q|BuEA2HIy#`i-$(S<5K*9y zcL_vc&^1_U1P=(;sen3_n=1y_>0lQo&NWzS)ai_?nc+QVW^QgMT+I%4p~4w=HBw6q z5Ch8$RQ1rt`hWiY{eL-$M#KOy@UIx)wShP2!;(yGU0EE~S^;_wih^;a#zhKrR4Im7 eEX6HQC14lW0dx(P8o>fWKLUydYKVbfW#9`X6HXEU literal 0 HcmV?d00001 diff --git a/src/main/java/com/yupi/springbootinit/controller/UserController.java b/src/main/java/com/yupi/springbootinit/controller/UserController.java index 9af6952..891110c 100644 --- a/src/main/java/com/yupi/springbootinit/controller/UserController.java +++ b/src/main/java/com/yupi/springbootinit/controller/UserController.java @@ -6,6 +6,7 @@ import com.yupi.springbootinit.model.dto.user.SystemUsersDTO; import com.yupi.springbootinit.model.enums.LoginSceneEnum; import com.yupi.springbootinit.model.vo.user.SystemUsersVO; import com.yupi.springbootinit.service.SystemLoginLogService; +import com.yupi.springbootinit.service.SystemUsersService; import com.yupi.springbootinit.service.impl.LoginService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -30,6 +31,9 @@ public class UserController { @Resource private SystemLoginLogService systemLoginLogService; + @Resource + private SystemUsersService systemUsersService; + // 用户登陆接口 @PostMapping("doLogin") public BaseResponse doLogin(@RequestBody SystemUsersDTO usersDTO) { @@ -71,11 +75,19 @@ public class UserController { return ResultUtils.success(loginService.logout()); } + @GetMapping("/current") + public BaseResponse getCurrentUser() { + return ResultUtils.success(systemUsersService.getCurrentUserInfo()); + } + @PostMapping("/bigbrother-logout") public BaseResponse bigBrotherLogout(@RequestBody SystemUsersDTO usersDTO){ return ResultUtils.success(loginService.bigBrotherLogout(usersDTO)); } + + + private void recordFailedDoLoginLog(SystemUsersDTO usersDTO, RuntimeException exception) { try { systemLoginLogService.recordDoLoginLog(usersDTO, null, false); diff --git a/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java b/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java index 13ca75c..6fd5f5d 100644 --- a/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java +++ b/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java @@ -50,5 +50,15 @@ public class SystemUsersVO { private Byte webAi; + private Boolean aiReplayEnabled; + + private Boolean crawlEnabled; + + private Boolean bigBrotherEnabled; + + private Boolean aiChatEnabled; + + private Boolean webAiEnabled; + private Integer points; -} \ No newline at end of file +} diff --git a/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java b/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java index f76437a..6a1c057 100644 --- a/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java +++ b/src/main/java/com/yupi/springbootinit/service/SystemUsersService.java @@ -7,6 +7,7 @@ package com.yupi.springbootinit.service; import com.baomidou.mybatisplus.extension.service.IService; import com.yupi.springbootinit.model.entity.SystemUsers; +import com.yupi.springbootinit.model.vo.user.SystemUsersVO; public interface SystemUsersService extends IService { @@ -26,4 +27,6 @@ public interface SystemUsersService extends IService { boolean checkAiCHatLoginRole(Long userId); boolean checkWebAILoginRole(Long userId); + + SystemUsersVO getCurrentUserInfo(); } diff --git a/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java b/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java index 5b827dd..c3bdd7f 100644 --- a/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java +++ b/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java @@ -106,23 +106,34 @@ public class LoginService { BeanUtil.copyProperties(user, vo); vo.setTokenName(StpUtil.getTokenName()); vo.setTokenValue(StpUtil.getTokenValue()); - vo.setAiExpireTime(systemTenant.getAiExpireTime()); + fillFeatureInfo(vo, user, systemTenant); return vo; case HOST: BeanUtil.copyProperties(user, vo); vo.setTokenName(StpUtil.getTokenName()); vo.setTokenValue(StpUtil.getTokenValue()); - vo.setExpireTime(systemTenant.getExpireTime()); - vo.setBrotherExpireTime(systemTenant.getBrotherExpireTime()); - vo.setAiExpireTime(systemTenant.getAiExpireTime()); - vo.setCrawl(user.getCrawl()); - vo.setAiChat(user.getAiChat()); - vo.setBigBrother(user.getBigBrother()); + fillFeatureInfo(vo, user, systemTenant); return vo; } return null; } + private void fillFeatureInfo(SystemUsersVO vo, SystemUsers user, SystemTenant tenant) { + vo.setExpireTime(tenant.getExpireTime()); + vo.setCrawlExpireTime(tenant.getCrawlExpireTime()); + vo.setBrotherExpireTime(tenant.getBrotherExpireTime()); + vo.setAiExpireTime(tenant.getAiExpireTime()); + vo.setAiReplayEnabled(isEnabled(user.getAiReplay())); + vo.setCrawlEnabled(isEnabled(user.getCrawl())); + vo.setBigBrotherEnabled(isEnabled(user.getBigBrother())); + vo.setAiChatEnabled(isEnabled(user.getAiChat())); + vo.setWebAiEnabled(isEnabled(user.getWebAi())); + } + + private boolean isEnabled(Byte value) { + return value != null && value == 1; + } + /** * 校验用户登录信息 * diff --git a/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java b/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java index 856baa3..5b402b5 100644 --- a/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java +++ b/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java @@ -1,22 +1,23 @@ package com.yupi.springbootinit.service.impl; +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yupi.springbootinit.common.ErrorCode; +import com.yupi.springbootinit.exception.BusinessException; import com.yupi.springbootinit.mapper.SystemTenantMapper; import com.yupi.springbootinit.model.entity.SystemTenant; import com.yupi.springbootinit.model.entity.SystemUsers; -import com.yupi.springbootinit.service.SystemTenantService; +import com.yupi.springbootinit.mapper.SystemUsersMapper; +import com.yupi.springbootinit.model.vo.user.SystemUsersVO; +import com.yupi.springbootinit.service.SystemUsersService; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import org.springframework.beans.factory.annotation.Autowired; - -import com.yupi.springbootinit.mapper.SystemUsersMapper; -import com.yupi.springbootinit.service.SystemUsersService; - import javax.annotation.Resource; /* * @author: ziin @@ -90,5 +91,43 @@ public class SystemUsersServiceImpl extends ServiceImplDMkFJgSYnDiSK5*Rj#K2e z%d%0zj?glw&JCPNHcAn!f{e`&#sbp>axF?`?<&bsxMn3IDU%b@PMI-}Y9UKCLvo5* zuv9ECx%VfW<+jj5PVO5R=V**@b6Sw8q;T^pj}bEni9!QXS=dxL%BSv|ce@o*vJ8`D z_p4fr0S#EP5&VrSh)7IV!WDvJl@UgE=Nxk@l-y%7Nl`!412ifvQ9GYs&jj9bNfIo> zkQip&nv&pBPL7rBs)>*f1}&&0aQo%k?dMNFzJER1_2s0uKfm@5#s`x#+!p=*K@@C< zA!g^D+2u)3+ho+6<+V=#<4%3QBh{gvo(&HRyVw!)UVS(?H6rSKu=Mi!BGY-_MCH}+ zFb#wy+!9jJL8}&$W+Qq+ZcogZ7Ja2s&xffh49*a9 z$AYVjEZBUGnoKJV$(@M&)&ndf$R8e_V`#OSXqF)GRPh<`sY?ScD4=x-#<6|&cus<; uWiNx+)Eb$2{sN2|TMtXYt&1OS3n^WbV{BloRR+}(8$SWWPuApR2><|^93?gY literal 0 HcmV?d00001 diff --git a/tk-data-user.2026-03-13.0.gz b/tk-data-user.2026-03-13.0.gz new file mode 100644 index 0000000000000000000000000000000000000000..3467b1b337042fd0c7ce31c6e4220065adf93c3c GIT binary patch literal 639 zcmV-_0)YJ=iwFP!00000|LxaHZqzUs0N_2R@De0q#m+kti+N-^EyKL0(}3CG6?^UM|amB zV@PNWBIkbYGC*F;y$E@MoBDtl2=D|j^z!~Z3}WHFp;lq&a#Fl{jS9XL60AZ`gsESq zk*4KSAx{gm%z1+LS-hb4mS@;hwKaluQ+u$yK!{9ALoUg9-z1aBM1l=?l8$gvHWxb^ z53-*#blsH2kRSSED0sXobG$)!w+y}aQp{kbD7bJ1k08bHD;)Q^=y5+x4+Gd}AA)W_ zf4%+m@%y(gmfv#Y&H~muy*2eM(w+py>8KT@v6h^uLvwAo@l08D`h@kSAgjx(^NF*~ z+B;)?GKc=IsW*?TOTBR}T9ckS^dZSd`M9%m&aSiLfCVWu3rFRl8pe*lUS9SSr?cIK zv&IS8PPT^f;V*D%6*#MgdmNlm!`;DII;{dnYq$ekr5&f%aC2Ew4Tu`C#2E&HohK={djQ6&Wz^pm}HRi7gq!HPkuz-cwy0j^Rx@)QN|^Mo@@z0x;MuH|giw3Sj$ ZdsxUlpR>40jDJ6i{{V&?c=T%!000MSIfMWJ literal 0 HcmV?d00001