Search in sources :

Example 1 with SysUserOnline

use of com.ruoyi.project.monitor.domain.SysUserOnline in project RuoYi-Vue-Oracle by yangzongzhuan.

the class SysUserOnlineServiceImpl method loginUserToUserOnline.

/**
 * 设置在线用户信息
 *
 * @param user 用户信息
 * @return 在线用户
 */
@Override
public SysUserOnline loginUserToUserOnline(LoginUser user) {
    if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser())) {
        return null;
    }
    SysUserOnline sysUserOnline = new SysUserOnline();
    sysUserOnline.setTokenId(user.getToken());
    sysUserOnline.setUserName(user.getUsername());
    sysUserOnline.setIpaddr(user.getIpaddr());
    sysUserOnline.setLoginLocation(user.getLoginLocation());
    sysUserOnline.setBrowser(user.getBrowser());
    sysUserOnline.setOs(user.getOs());
    sysUserOnline.setLoginTime(user.getLoginTime());
    if (StringUtils.isNotNull(user.getUser().getDept())) {
        sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
    }
    return sysUserOnline;
}
Also used : SysUserOnline(com.ruoyi.project.monitor.domain.SysUserOnline)

Example 2 with SysUserOnline

use of com.ruoyi.project.monitor.domain.SysUserOnline in project RuoYi-Vue-Oracle by yangzongzhuan.

the class SysUserOnlineController method list.

@PreAuthorize("@ss.hasPermi('monitor:online:list')")
@GetMapping("/list")
public TableDataInfo list(String ipaddr, String userName) {
    Collection<String> keys = redisCache.keys(Constants.LOGIN_TOKEN_KEY + "*");
    List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
    for (String key : keys) {
        LoginUser user = redisCache.getCacheObject(key);
        if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) {
            if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) {
                userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
            }
        } else if (StringUtils.isNotEmpty(ipaddr)) {
            if (StringUtils.equals(ipaddr, user.getIpaddr())) {
                userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
            }
        } else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser())) {
            if (StringUtils.equals(userName, user.getUsername())) {
                userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
            }
        } else {
            userOnlineList.add(userOnlineService.loginUserToUserOnline(user));
        }
    }
    Collections.reverse(userOnlineList);
    userOnlineList.removeAll(Collections.singleton(null));
    return getDataTable(userOnlineList);
}
Also used : SysUserOnline(com.ruoyi.project.monitor.domain.SysUserOnline) ArrayList(java.util.ArrayList) LoginUser(com.ruoyi.framework.security.LoginUser) GetMapping(org.springframework.web.bind.annotation.GetMapping) PreAuthorize(org.springframework.security.access.prepost.PreAuthorize)

Example 3 with SysUserOnline

use of com.ruoyi.project.monitor.domain.SysUserOnline in project RuoYi-Vue-fast by yangzongzhuan.

the class SysUserOnlineController method list.

@PreAuthorize("@ss.hasPermi('monitor:online:list')")
@GetMapping("/list")
public TableDataInfo list(String ipaddr, String userName) {
    Collection<String> keys = redisCache.keys(Constants.LOGIN_TOKEN_KEY + "*");
    List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
    for (String key : keys) {
        LoginUser user = redisCache.getCacheObject(key);
        if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) {
            if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) {
                userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
            }
        } else if (StringUtils.isNotEmpty(ipaddr)) {
            if (StringUtils.equals(ipaddr, user.getIpaddr())) {
                userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
            }
        } else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser())) {
            if (StringUtils.equals(userName, user.getUsername())) {
                userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
            }
        } else {
            userOnlineList.add(userOnlineService.loginUserToUserOnline(user));
        }
    }
    Collections.reverse(userOnlineList);
    userOnlineList.removeAll(Collections.singleton(null));
    return getDataTable(userOnlineList);
}
Also used : SysUserOnline(com.ruoyi.project.monitor.domain.SysUserOnline) ArrayList(java.util.ArrayList) LoginUser(com.ruoyi.framework.security.LoginUser) GetMapping(org.springframework.web.bind.annotation.GetMapping) PreAuthorize(org.springframework.security.access.prepost.PreAuthorize)

Example 4 with SysUserOnline

use of com.ruoyi.project.monitor.domain.SysUserOnline in project RuoYi-Vue-fast by yangzongzhuan.

the class SysUserOnlineServiceImpl method loginUserToUserOnline.

/**
 * 设置在线用户信息
 *
 * @param user 用户信息
 * @return 在线用户
 */
@Override
public SysUserOnline loginUserToUserOnline(LoginUser user) {
    if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser())) {
        return null;
    }
    SysUserOnline sysUserOnline = new SysUserOnline();
    sysUserOnline.setTokenId(user.getToken());
    sysUserOnline.setUserName(user.getUsername());
    sysUserOnline.setIpaddr(user.getIpaddr());
    sysUserOnline.setLoginLocation(user.getLoginLocation());
    sysUserOnline.setBrowser(user.getBrowser());
    sysUserOnline.setOs(user.getOs());
    sysUserOnline.setLoginTime(user.getLoginTime());
    if (StringUtils.isNotNull(user.getUser().getDept())) {
        sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
    }
    return sysUserOnline;
}
Also used : SysUserOnline(com.ruoyi.project.monitor.domain.SysUserOnline)

Aggregations

SysUserOnline (com.ruoyi.project.monitor.domain.SysUserOnline)4 LoginUser (com.ruoyi.framework.security.LoginUser)2 ArrayList (java.util.ArrayList)2 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)2 GetMapping (org.springframework.web.bind.annotation.GetMapping)2