懒羊羊
2024-01-31 e57a8990ae56f657a59c435a0613c5f7a8728003
提交 | 用户 | 时间
e57a89 1 package com.jcdm.system.service.impl;
2
3 import org.springframework.stereotype.Service;
4 import com.jcdm.common.core.domain.model.LoginUser;
5 import com.jcdm.common.utils.StringUtils;
6 import com.jcdm.system.domain.SysUserOnline;
7 import com.jcdm.system.service.ISysUserOnlineService;
8
9 /**
10  * 在线用户 服务层处理
11  * 
12  * @author jc
13  */
14 @Service
15 public class SysUserOnlineServiceImpl implements ISysUserOnlineService
16 {
17     /**
18      * 通过登录地址查询信息
19      * 
20      * @param ipaddr 登录地址
21      * @param user 用户信息
22      * @return 在线用户信息
23      */
24     @Override
25     public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user)
26     {
27         if (StringUtils.equals(ipaddr, user.getIpaddr()))
28         {
29             return loginUserToUserOnline(user);
30         }
31         return null;
32     }
33
34     /**
35      * 通过用户名称查询信息
36      * 
37      * @param userName 用户名称
38      * @param user 用户信息
39      * @return 在线用户信息
40      */
41     @Override
42     public SysUserOnline selectOnlineByUserName(String userName, LoginUser user)
43     {
44         if (StringUtils.equals(userName, user.getUsername()))
45         {
46             return loginUserToUserOnline(user);
47         }
48         return null;
49     }
50
51     /**
52      * 通过登录地址/用户名称查询信息
53      * 
54      * @param ipaddr 登录地址
55      * @param userName 用户名称
56      * @param user 用户信息
57      * @return 在线用户信息
58      */
59     @Override
60     public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user)
61     {
62         if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
63         {
64             return loginUserToUserOnline(user);
65         }
66         return null;
67     }
68
69     /**
70      * 设置在线用户信息
71      * 
72      * @param user 用户信息
73      * @return 在线用户
74      */
75     @Override
76     public SysUserOnline loginUserToUserOnline(LoginUser user)
77     {
78         if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser()))
79         {
80             return null;
81         }
82         SysUserOnline sysUserOnline = new SysUserOnline();
83         sysUserOnline.setTokenId(user.getToken());
84         sysUserOnline.setUserName(user.getUsername());
85         sysUserOnline.setIpaddr(user.getIpaddr());
86         sysUserOnline.setLoginLocation(user.getLoginLocation());
87         sysUserOnline.setBrowser(user.getBrowser());
88         sysUserOnline.setOs(user.getOs());
89         sysUserOnline.setLoginTime(user.getLoginTime());
90         if (StringUtils.isNotNull(user.getUser().getDept()))
91         {
92             sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
93         }
94         return sysUserOnline;
95     }
96 }