diff --git a/cash-api/account-server/src/main/java/com/czg/controller/user/UserAuthorizationController.java b/cash-api/account-server/src/main/java/com/czg/controller/user/UserAuthorizationController.java index dbf3e429..3e548b41 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/user/UserAuthorizationController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/user/UserAuthorizationController.java @@ -38,7 +38,7 @@ public class UserAuthorizationController { */ @PostMapping("/test") public CzgResult login() { - StpKit.USER.login(1L, null, MyStpLogic.LoginType.USER, false); +// StpKit.USER.login(1L, null, MyStpLogic.LoginType.USER, false); return CzgResult.success(StpKit.USER.getTokenValue()); } } 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 3f9e0d23..c1781ba0 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 @@ -44,18 +44,28 @@ public class MyStpLogic { * @param loginType 登录类型枚举 * @param isAdmin 是否为管理员账号 */ - public void login(Long id, Long shopId, LoginType loginType, boolean isAdmin) { + public void login(Long id, String account, Long shopId, LoginType loginType, boolean isAdmin) { StpLogic logic = getLogic(); logic.login(id); if (loginType.equals(LoginType.MANAGER) && shopId == null) { throw new ApiNotPrintException("管理端登录必须传递店铺id"); } - SaSession session = logic.getSession().set("userId", id).set("isAdmin", isAdmin).set("isManager", loginType.equals(LoginType.MANAGER)).set("loginType", loginType); + SaSession session = logic.getSession().set("userId", id).set("isAdmin", isAdmin).set("isManager", loginType.equals(LoginType.MANAGER)) + .set("loginType", loginType).set("account", account); if (shopId != null) { session.set("shopId", shopId); } } + /** + * 获取当前登录账号名称 管理端为用户账号 客户端为openId + * @return 账号或openId + */ + public String getAccount() { + StpLogic logic = getLogic(); + return (String) logic.getSession().get("account"); + } + /** * 获取店铺id * diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java index 5d386c43..d8b969e6 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AuthorizationServiceImpl.java @@ -123,7 +123,7 @@ public class AuthorizationServiceImpl implements AuthorizationService { } } - StpKit.USER.login(user.getId(), shopInfo.getId(), isStaff ? MyStpLogic.LoginType.STAFF :MyStpLogic.LoginType.MANAGER, user.getIsAdmin()); + StpKit.USER.login(user.getId(), user.getAccount(), shopInfo.getId(), isStaff ? MyStpLogic.LoginType.STAFF :MyStpLogic.LoginType.MANAGER, user.getIsAdmin()); // 查询角色 List roleList = sysRoleService.getByUserId(user.getId()); List roleNames = roleList.stream().map(SysRole::getName).collect(Collectors.toList()); diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UserAuthorizationServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UserAuthorizationServiceImpl.java index 4b4147cb..87c5e620 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UserAuthorizationServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UserAuthorizationServiceImpl.java @@ -64,7 +64,7 @@ public class UserAuthorizationServiceImpl implements UserAuthorizationService { userInfo.setLastLoginTime(DateUtil.date().toLocalDateTime()); userInfoService.saveOrUpdate(userInfo); // StpKit.USER.login(userInfo.getId()); - StpKit.USER.login(userInfo.getId(), null, MyStpLogic.LoginType.USER, false); + StpKit.USER.login(userInfo.getId(), openId, null, MyStpLogic.LoginType.USER, false); return new LoginTokenDTO(StpKit.USER.getTokenValue(), userInfo); } }