use of top.longmarch.lmsys.entity.SysUser in project longmarch by yuyueqty.
the class DefaultUserDetailServiceImpl method getUserDetailByUserName.
@Override
public UserDetail getUserDetailByUserName(String username) {
SysUser sysUser = sysUserService.getUserByUsername(username);
if (sysUser == null) {
throw new AccountException("账号不存在");
}
if (StatusEnum.no(sysUser.getStatus())) {
throw new AccountException("账号已停用");
}
if (shiroProperties.getLockByDb()) {
if (StatusEnum.ok(sysUser.getLockStatus())) {
throw new AccountException("错误次数超过限制,账号已被锁定,请联系管理员解锁");
}
} else {
Object lock = CacheUtil.get(String.format(Constant.ACCOUNT_LOGIN_TRY_LOCK, username));
if (lock != null) {
throw new AccountException(String.format("错误次数超过限制,账号已被锁定%s分钟", Constant.ACCOUNT_LOGIN_TRY_NUM_TIME_OUT / 60));
}
}
UserDetail userDetail = new UserDetail();
userDetail.setUserId(sysUser.getId());
userDetail.setPassword(sysUser.getPassword());
userDetail.setUsername(sysUser.getUsername());
return userDetail;
}
use of top.longmarch.lmsys.entity.SysUser in project longmarch by yuyueqty.
the class ActiveUserServiceImpl method getActiveUserInfoByUserId.
@Override
public ActivityUserDetail getActiveUserInfoByUserId(Long userId) {
Cache<Object, Object> activeSessionCache = cacheManager.getCache(Constant.ACTIVITY_USER_CACHE);
String userIdKey = String.valueOf(userId);
if (activeSessionCache.get(userIdKey) != null) {
return (ActivityUserDetail) activeSessionCache.get(userIdKey);
}
ActivityUserDetail activityUserDetail = new ActivityUserDetail();
SysUser sysUser = sysUserService.getById(userId);
if (sysUser == null) {
return activityUserDetail;
}
activityUserDetail.setUserId(userId);
activityUserDetail.setUsername(sysUser.getUsername());
activityUserDetail.setNickname(sysUser.getNickname());
activityUserDetail.setAvatar(sysUser.getAvatar());
CoreEnums.Abc abc = CoreEnums.Abc.abc(sysUser.getAbc());
activityUserDetail.setAbc(abc.getCode());
activityUserDetail.setDeptId(sysUser.getDeptId());
activityUserDetail.setRoles(userDetailService.getRoleByUserId(userId, abc));
activityUserDetail.setAuthScopeEnum(userDetailService.getRoleAuthScopeByUserId(userId, abc));
activityUserDetail.setRoutes(userDetailService.getRouteByUserId(userId, abc));
activityUserDetail.setPermissions(userDetailService.getPermissionStrByUserId(userId, abc));
// 设置用户数据权限值
setDataAuthValue(activityUserDetail, sysUser);
activeSessionCache.put(userIdKey, activityUserDetail);
return activityUserDetail;
}
use of top.longmarch.lmsys.entity.SysUser in project longmarch by yuyueqty.
the class ActiveUserServiceImpl method getActiveUserSessionList.
@Override
public List<ActiveUserSession> getActiveUserSessionList() {
List<ActiveUserSession> activeUserSessionList = new ArrayList<>();
List<SysUser> sysUserList = sysUserService.list();
if (CollectionUtil.isNotEmpty(sysUserList)) {
for (SysUser sysUser : sysUserList) {
ActiveUserSession activeUserSession = null;
for (SimpleSession simpleSession : SessionUtil.getSessionList()) {
Object userId = simpleSession.getAttribute(Constant.USER_ID);
if (sysUser.getId().equals(userId)) {
activeUserSession = new ActiveUserSession(simpleSession);
if (activeUserSession.getOnline()) {
activeUserSession.setUserId(String.valueOf(sysUser.getId()));
activeUserSession.setUsername(sysUser.getUsername());
break;
}
}
}
if (activeUserSession == null) {
activeUserSession = new ActiveUserSession(sysUser);
}
List<MyMessage> myMessages = WebSocketService.get(activeUserSession.getUserId() + "-" + UserUtil.getUserId());
if (CollectionUtil.isNotEmpty(myMessages)) {
activeUserSession.setPeople(myMessages.size());
} else {
activeUserSession.setPeople(0);
}
activeUserSessionList.add(activeUserSession);
}
}
return activeUserSessionList;
}
use of top.longmarch.lmsys.entity.SysUser in project longmarch by yuyueqty.
the class CustomRealm method doGetAuthorizationInfo.
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo();
UserDetail userDetail = (UserDetail) principals.getPrimaryPrincipal();
if (log.isDebugEnabled()) {
log.debug("开始校验用户{}权限", userDetail.getUsername());
}
SysUser sysuser = userDetailService.getSysUserById(userDetail.getUserId());
if (sysuser == null) {
return simpleAuthorizationInfo;
}
Set<String> permissionStringSet = userDetailService.getPermissionStrByUserId(userDetail.getUserId(), CoreEnums.Abc.abc(sysuser.getAbc()));
// 所有用户默认拥有【activity:user:info】权限
permissionStringSet.add(Constant.ACTIVITY_USER_INFO);
simpleAuthorizationInfo.setStringPermissions(permissionStringSet);
return simpleAuthorizationInfo;
}
use of top.longmarch.lmsys.entity.SysUser in project longmarch by yuyueqty.
the class SysUserServiceImpl method unlock.
@Override
public Boolean unlock(Long userId) {
SysUser sysUser = getById(userId);
if (sysUser == null) {
throw new BusinessException(5000, "账号不存在");
}
CacheUtil.remove(String.format(Constant.ACCOUNT_LOGIN_TRY_LOCK, sysUser.getUsername()));
SysUser sysUserUpdate = new SysUser();
sysUserUpdate.setId(userId);
sysUserUpdate.setLockStatus(StatusEnum.YES.getCode());
return this.updateById(sysUserUpdate);
}
Aggregations