类 SysUserOnlineServiceImpl
java.lang.Object
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl<SysUserOnlineMapper,SysUserOnline>
io.github.mangocrisp.spring.taybct.module.system.service.impl.SysUserOnlineServiceImpl
- 所有已实现的接口:
com.baomidou.mybatisplus.extension.service.IService<SysUserOnline>
,ISysUserOnlineService
,io.github.mangocrisp.spring.taybct.tool.core.bean.service.IBaseService<SysUserOnline>
@Service
@AutoConfiguration
public class SysUserOnlineServiceImpl
extends com.baomidou.mybatisplus.extension.service.impl.ServiceImpl<SysUserOnlineMapper,SysUserOnline>
implements ISysUserOnlineService
针对表【sys_user_online(在线用户)】的数据库操作Service实现
-
字段概要
字段修饰符和类型字段说明(专用程序包) ExecutorService
private static final String
protected IForceAllClientUserByRole
protected org.springframework.jdbc.core.JdbcTemplate
protected ILoginCacheClear
protected io.github.mangocrisp.spring.taybct.tool.core.message.IMessageSendService
private String
private static final String
protected io.github.mangocrisp.spring.taybct.tool.core.bean.ISecurityUtil
protected SysOauth2ClientMapper
protected io.github.mangocrisp.spring.taybct.tool.core.constant.ISysParamsObtainService
protected ISysParamsService
protected SysRoleMapper
protected SysTenantMapper
protected SysUserMapper
protected SysUserRoleMapper
private static final String
protected io.github.mangocrisp.spring.taybct.tool.core.mybatis.handle.ITenantSupplier
从类继承的字段 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
baseMapper, entityClass, log, mapperClass, typeArguments
从接口继承的字段 com.baomidou.mybatisplus.extension.service.IService
DEFAULT_BATCH_SIZE
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明boolean
chooseTenant
(String tenantId) 登录选择租户void
clearCache
(Collection<SysUser> entityList) 清除缓存void
清理超时的登录private com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<SysUserOnline>
filterTenant
(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<SysUserOnline> queryWrapper) 过滤租户boolean
根据 jti 来删除来踢掉线boolean
强制登出void
forceAllClientUser
(String username, String message) 强退所有当前用户登录的客户端void
forceAllClientUserById
(String message, Long... userId) 根据用户id强退所有当前用户登录的状态void
forceAllClientUserByRole
(String message, Long... roleId) 根据角色 id 强退相关用户登录的所有客户端void
forceAllClientUsers
(String message, String clientId) 强退所有和这个客户端有相关登录操作的用户private String
获取到当前登录用户的 access tokenboolean
login
(com.alibaba.fastjson2.JSONObject token, boolean sendLoginLog) version 1.0.1
登录成功之后,需要选择租户才给登录进入首页, 选择了租户之后,就需要再调用一下这个接口来记录是使用租户登录了。boolean
登出操作private void
下线获取在线用户列表com.baomidou.mybatisplus.core.metadata.IPage<SysUserOnline>
onlinePage
(Map<String, Object> sqlQueryParams) 在线分页void
发送登录日志从类继承的方法 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
closeSqlSession, currentMapperClass, currentModelClass, executeBatch, executeBatch, executeBatch, getBaseMapper, getEntityClass, getMap, getObj, getOne, getOneOpt, getSqlSessionFactory, getSqlStatement, removeBatchByIds, removeBatchByIds, removeById, removeById, removeByIds, retBool, saveBatch, saveOrUpdate, saveOrUpdateBatch, sqlSessionBatch, sqlStatement, updateBatchById
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 io.github.mangocrisp.spring.taybct.tool.core.bean.service.IBaseService
customizeGetById, customizeList, customizeList, customizePage, customizePage, customizeQueryPage, customizeQueryPage, customizeQueryWrapper, customizeQueryWrapper, customizeRemoveById, customizeRemoveByIds, customizeSave, customizeSaveBatch, customizeUpdateBatchById, customizeUpdateById, mergeQueryExpansion, queryExpansion, removeExpansion, saveExpansion
从接口继承的方法 com.baomidou.mybatisplus.extension.service.IService
count, count, exists, getBaseMapper, getById, getEntityClass, getMap, getObj, getOne, getOne, getOneOpt, getOneOpt, getOptById, ktQuery, ktUpdate, lambdaQuery, lambdaQuery, lambdaUpdate, list, list, list, list, listByIds, listByMap, listMaps, listMaps, listMaps, listMaps, listObjs, listObjs, listObjs, listObjs, page, page, pageMaps, pageMaps, query, remove, removeBatchByIds, removeBatchByIds, removeBatchByIds, removeBatchByIds, removeById, removeById, removeById, removeByIds, removeByIds, removeByMap, save, saveBatch, saveBatch, saveOrUpdate, saveOrUpdate, saveOrUpdateBatch, saveOrUpdateBatch, update, update, update, updateBatchById, updateBatchById, updateById
从接口继承的方法 io.github.mangocrisp.spring.taybct.module.system.service.ISysUserOnlineService
login
-
字段详细资料
-
redisTemplate
-
sysOauth2ClientMapper
-
messageSendService
@Autowired(required=false) protected io.github.mangocrisp.spring.taybct.tool.core.message.IMessageSendService messageSendService -
sysUserMapper
-
sysUserRoleMapper
-
tenantSupplier
@Autowired(required=false) protected io.github.mangocrisp.spring.taybct.tool.core.mybatis.handle.ITenantSupplier tenantSupplier -
sysTenantMapper
-
sysRoleMapper
-
sysParamsService
-
sysParamsObtainService
@Autowired(required=false) protected io.github.mangocrisp.spring.taybct.tool.core.constant.ISysParamsObtainService sysParamsObtainService -
securityUtil
@Autowired(required=false) protected io.github.mangocrisp.spring.taybct.tool.core.bean.ISecurityUtil securityUtil -
jdbcTemplate
@Autowired(required=false) protected org.springframework.jdbc.core.JdbcTemplate jdbcTemplate -
TABLE_NAME
- 另请参阅:
-
PK_FILTER
- 另请参阅:
-
DELETE_OAUTH2_AUTHORIZATION_SQL
- 另请参阅:
-
loginCacheClear
-
forceAllClientUserByRole
-
module
-
cachedThreadPool
ExecutorService cachedThreadPool
-
-
构造器详细资料
-
SysUserOnlineServiceImpl
public SysUserOnlineServiceImpl()
-
-
方法详细资料
-
chooseTenant
从接口复制的说明:ISysUserOnlineService
登录选择租户- 指定者:
chooseTenant
在接口中ISysUserOnlineService
- 参数:
tenantId
- 租户 id- 返回:
- boolean
-
getAccessTokenValue
获取到当前登录用户的 access token -
login
public boolean login(com.alibaba.fastjson2.JSONObject token, boolean sendLoginLog) 从接口复制的说明:ISysUserOnlineService
version 1.0.1
登录成功之后,需要选择租户才给登录进入首页, 选择了租户之后,就需要再调用一下这个接口来记录是使用租户登录了。
选择租户的时候,会把 jti 和 tenant id 作为 kv 存入 redis,在网关 做过滤的时候使用 jti 查询到 tenant id ,然后存入到 Payload 里面,然后就可以使用SecurityUtil#getTenantId()
去获取这个 tenant id 了,如果没有在 redis 里面获取到 tenant id,就使用默认的 租户 id
登录成功后记录操作
- 指定者:
login
在接口中ISysUserOnlineService
- 参数:
token
- 用户登录信息sendLoginLog
- 是否发送登录日志- 返回:
- boolean
-
sendLogin
发送登录日志- 参数:
client
- 客户端tenantId
- 租户username
- 用户名module
- 模块
-
logoff
从接口复制的说明:ISysUserOnlineService
登出操作- 指定者:
logoff
在接口中ISysUserOnlineService
- 参数:
token
- 用户登录信息message
- 被登出的原因- 返回:
- boolean
-
onlineList
从接口复制的说明:ISysUserOnlineService
获取在线用户列表- 指定者:
onlineList
在接口中ISysUserOnlineService
- 返回:
List<SysUserOnline>
-
filterTenant
private com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<SysUserOnline> filterTenant(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<SysUserOnline> queryWrapper) 过滤租户 -
onlinePage
public com.baomidou.mybatisplus.core.metadata.IPage<SysUserOnline> onlinePage(Map<String, Object> sqlQueryParams) 从接口复制的说明:ISysUserOnlineService
在线分页- 指定者:
onlinePage
在接口中ISysUserOnlineService
- 参数:
sqlQueryParams
- 分页信息- 返回:
<E extends IPage<SysUserOnline>> E
-
offline
下线 -
force
从接口复制的说明:ISysUserOnlineService
强制登出- 指定者:
force
在接口中ISysUserOnlineService
- 参数:
message
- 被登出的原因clientId
- 客户端标识username
- 用户名- 返回:
- 是否操作成功
-
force
从接口复制的说明:ISysUserOnlineService
根据 jti 来删除来踢掉线- 指定者:
force
在接口中ISysUserOnlineService
- 参数:
jti
- JWT Token idmessage
- 被登出的原因- 返回:
- boolean
-
forceAllClientUsers
从接口复制的说明:ISysUserOnlineService
强退所有和这个客户端有相关登录操作的用户- 指定者:
forceAllClientUsers
在接口中ISysUserOnlineService
- 参数:
message
- 被登出的原因clientId
- 客户端 id
-
forceAllClientUserByRole
从接口复制的说明:ISysUserOnlineService
根据角色 id 强退相关用户登录的所有客户端- 指定者:
forceAllClientUserByRole
在接口中ISysUserOnlineService
- 参数:
message
- 被登出的原因roleId
- 角色 id
-
forceAllClientUserById
从接口复制的说明:ISysUserOnlineService
根据用户id强退所有当前用户登录的状态- 指定者:
forceAllClientUserById
在接口中ISysUserOnlineService
- 参数:
message
- 被登出的原因userId
- 用户 id
-
forceAllClientUser
强退所有当前用户登录的客户端- 指定者:
forceAllClientUser
在接口中ISysUserOnlineService
- 参数:
username
- 用户 idmessage
- 被登出的原因
-
clearCache
清除缓存- 指定者:
clearCache
在接口中ISysUserOnlineService
- 参数:
entityList
- 用户集合
-
clearExpires
public void clearExpires()从接口复制的说明:ISysUserOnlineService
清理超时的登录- 指定者:
clearExpires
在接口中ISysUserOnlineService
-