|
@@ -4,6 +4,8 @@ import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
import java.util.Collection;
|
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+
|
|
|
|
|
+import com.fs.common.core.domain.model.LoginUser;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
@@ -24,7 +26,7 @@ import com.fs.system.service.ISysUserOnlineService;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 在线用户监控
|
|
* 在线用户监控
|
|
|
- *
|
|
|
|
|
|
|
+ *
|
|
|
|
|
|
|
|
*/
|
|
*/
|
|
|
@RestController
|
|
@RestController
|
|
@@ -41,41 +43,41 @@ public class SysUserOnlineController extends BaseController
|
|
|
@GetMapping("/list")
|
|
@GetMapping("/list")
|
|
|
public TableDataInfo list(String ipaddr, String userName)
|
|
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 = (LoginUser) 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);
|
|
|
|
|
- throw new RuntimeException("未实现");
|
|
|
|
|
|
|
+ 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);
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|