From 1b10a9fb3af1903be1eca9b0ca071d7c5fd5c407 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Thu, 20 Mar 2025 09:38:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=20?= =?UTF-8?q?=E6=8F=90=E5=87=BA=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/sa/MyStpLogic.java | 9 ++++++++- .../account/service/impl/SysUserServiceImpl.java | 10 ++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java b/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java index 080a4ed8..43e9728b 100644 --- a/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java +++ b/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java @@ -15,6 +15,7 @@ import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpLogic; import cn.hutool.core.util.StrUtil; import com.czg.exception.ApiNotPrintException; +import com.czg.exception.CzgException; import lombok.Getter; import java.util.List; @@ -43,6 +44,7 @@ public class MyStpLogic { /** * 校验员工权限 + * * @param code 权限码 */ public void checkStaffPermission(String code) { @@ -53,7 +55,7 @@ public class MyStpLogic { /** * @param id 登录账号id - * @param shopName 店铺名称 + * @param shopName 店铺名称 * @param shopId 店铺id * @param loginType 登录类型枚举 * @param isAdmin 是否为管理员账号 @@ -93,6 +95,7 @@ public class MyStpLogic { /** * 获取当前店铺用户名,仅后台可用 + * * @return 店铺名称 */ public String getShopName() { @@ -113,6 +116,10 @@ public class MyStpLogic { Long shopId; int errType; if ("admin".equals(logic.getLoginType())) { + if (logic.getSession() == null) { + logout(); + throw new CzgException("请重新登录"); + } Object info = logic.getSession().get("shopId"); shopId = info instanceof Long l ? l : null; errType = 0; diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java index 4653c433..5cf8e52b 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java @@ -17,6 +17,7 @@ import com.czg.account.vo.SysUserDetailVO; import com.czg.exception.ApiNotPrintException; import com.czg.exception.CzgException; import com.czg.sa.StpKit; +import com.czg.service.RedisService; import com.czg.service.account.mapper.SysRoleMapper; import com.czg.service.account.mapper.SysUserMapper; import com.czg.service.account.mapper.SysUsersRolesMapper; @@ -47,6 +48,8 @@ public class SysUserServiceImpl extends ServiceImpl impl private SysRoleMapper sysRoleMapper; @Resource private SysUsersRolesMapper sysUsersRolesMapper; + @Resource + private RedisService redisService; @Override public SysUser addUser(String nickname, String accountName, String accountPwd, String phone, Long roleId) { @@ -232,7 +235,10 @@ public class SysUserServiceImpl extends ServiceImpl impl } sysUser.setPassword(SecureUtil.md5(sysUser.getId() + sysUserEditPwdDTO.getPassword())); - - return updateById(sysUser); + boolean isUp = updateById(sysUser); + if (isUp) { + redisService.del(STR."token:admin:session:\{sysUser.getId()}"); + } + return isUp; } }