This commit is contained in:
thinkgem
2025-09-22 12:53:47 +08:00
parent 4e6e499ba7
commit 736b687196
3 changed files with 13 additions and 13 deletions

View File

@@ -29,4 +29,5 @@
5.11.1 5.11.1
5.12.0 5.12.0
5.12.1 5.12.1
5.13.0 5.13.0
5.13.1

View File

@@ -37,4 +37,5 @@
5.11.1 5.11.1
5.12.0 5.12.0
5.12.1 5.12.1
5.13.0 5.13.0
5.13.1

View File

@@ -67,7 +67,7 @@ public class OnlineController extends BaseController{
public String list(Model model) { public String list(Model model) {
return "modules/sys/onlineList"; return "modules/sys/onlineList";
} }
/** /**
* 在线用户列表数据 * 在线用户列表数据
* @author ThinkGem * @author ThinkGem
@@ -75,12 +75,12 @@ public class OnlineController extends BaseController{
@RequiresPermissions("sys:online:view") @RequiresPermissions("sys:online:view")
@RequestMapping(value = "listData") @RequestMapping(value = "listData")
@ResponseBody @ResponseBody
public List<Map<String, Object>> listData(String isAllOnline, String isVisitor, String sessionId, public List<Map<String, Object>> listData(String isAllOnline, String isVisitor, String sessionId,
String userCode, String userName, String userType, String orderBy) { String userCode, String userName, String userType, String orderBy) {
List<Map<String, Object>> list = ListUtils.newArrayList(); List<Map<String, Object>> list = ListUtils.newArrayList();
boolean excludeLeave = !Global.YES.equals(isAllOnline); boolean excludeLeave = !Global.YES.equals(isAllOnline);
boolean excludeVisitor = !Global.YES.equals(isVisitor); boolean excludeVisitor = !Global.YES.equals(isVisitor);
Collection<Session> sessions = sessionDAO.getActiveSessions(excludeLeave, Collection<Session> sessions = sessionDAO.getActiveSessions(excludeLeave,
excludeVisitor, null, sessionId, userCode); excludeVisitor, null, sessionId, userCode);
long currentTime = System.currentTimeMillis(); long currentTime = System.currentTimeMillis();
for (Session session : sessions){ for (Session session : sessions){
@@ -93,7 +93,7 @@ public class OnlineController extends BaseController{
Map<String, Object> map = MapUtils.newLinkedHashMap(); Map<String, Object> map = MapUtils.newLinkedHashMap();
// 为了安全性,需要有权限的人才能看 // 为了安全性,需要有权限的人才能看
if (UserUtils.getSubject().isPermitted("sys:online:edit")){ if (UserUtils.getSubject().isPermitted("sys:online:edit")){
map.put("id", session.getId().toString()); map.put("id", session.getId().toString());
} }
map.put("startTimestamp", DateUtils.formatDateTime(session.getStartTimestamp())); map.put("startTimestamp", DateUtils.formatDateTime(session.getStartTimestamp()));
map.put("lastAccessTime", DateUtils.formatDateTime(session.getLastAccessTime())); map.put("lastAccessTime", DateUtils.formatDateTime(session.getLastAccessTime()));
@@ -155,14 +155,12 @@ public class OnlineController extends BaseController{
onlineTickOutMap = MapUtils.newConcurrentMap(); onlineTickOutMap = MapUtils.newConcurrentMap();
} }
Object pc = session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY); Object pc = session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
if (pc != null && pc instanceof PrincipalCollection){ if (pc instanceof PrincipalCollection){
Object pp = ((PrincipalCollection)pc).getPrimaryPrincipal(); Object pp = ((PrincipalCollection)pc).getPrimaryPrincipal();
if (pp != null) { if (pp instanceof LoginInfo){
if (pp instanceof LoginInfo){ LoginInfo loginInfo = ((LoginInfo)pp);
LoginInfo loginInfo = ((LoginInfo)pp); String key = loginInfo.getId()+"_"+loginInfo.getParam("deviceType", "pc");
String key = loginInfo.getId()+"_"+loginInfo.getParam("deviceType", "pc"); onlineTickOutMap.put(key, StringUtils.EMPTY);
onlineTickOutMap.put(key, StringUtils.EMPTY);
}
} }
} }
SysCacheUtils.put("onlineTickOutMap", onlineTickOutMap); SysCacheUtils.put("onlineTickOutMap", onlineTickOutMap);