1.设置用户登录 Token 到期时间为租户对应权限到期时间

This commit is contained in:
2025-09-16 20:04:36 +08:00
parent e86e561c37
commit edfd9a083f
2 changed files with 15 additions and 5 deletions

View File

@@ -29,4 +29,10 @@ public class SystemUsersVO {
private String tokenName; private String tokenName;
private String tokenValue; private String tokenValue;
private Date expireTime;
private Date brotherExpireTime;
private Date aiExpireTime;
} }

View File

@@ -95,26 +95,30 @@ public class LoginService {
} }
} }
SystemTenant systemTenant = tenantMapper.selectById(user.getTenantId()); SystemTenant systemTenant = tenantMapper.selectById(user.getTenantId());
// 封装返回数据
SystemUsersVO vo = new SystemUsersVO();
BeanUtil.copyProperties(user, vo);
vo.setTokenName(StpUtil.getTokenName());
vo.setTokenValue(StpUtil.getTokenValue());
// 5. Sa-Token 登录 // 5. Sa-Token 登录
StpUtil.login(user.getId(), scene.getSaMode()); StpUtil.login(user.getId(), scene.getSaMode());
switch (scene) { switch (scene) {
case AI_CHAT: case AI_CHAT:
StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getAiExpireTime(),DateUtil.date())); StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getAiExpireTime(),DateUtil.date()));
vo.setAiExpireTime(systemTenant.getAiExpireTime());
break; break;
case HOST: case HOST:
StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getExpireTime(),DateUtil.date())); StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getExpireTime(),DateUtil.date()));
vo.setExpireTime(systemTenant.getExpireTime());
break; break;
case BIG_BROTHER: case BIG_BROTHER:
StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getBrotherExpireTime(),DateUtil.date())); StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getBrotherExpireTime(),DateUtil.date()));
vo.setBrotherExpireTime(systemTenant.getBrotherExpireTime());
break; break;
} }
// 6. 封装返回数据
SystemUsersVO vo = new SystemUsersVO();
BeanUtil.copyProperties(user, vo);
vo.setTokenName(StpUtil.getTokenName());
vo.setTokenValue(StpUtil.getTokenValue());
return vo; return vo;
} }