syncOnlineData.jsp 1.23 KB
<%@ page language="java" contentType="application/json;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="weaver.hrm.online.HrmUserOnlineMap" %>
<%@page import="weaver.general.Util"%>
<%@page import="org.apache.commons.lang3.StringUtils"%>
<%@page import="weaver.login.LicenseCheckLogin"%>
<%@page import="weaver.general.BaseBean"%>

<%

	String type = Util.null2String(request.getParameter("type")) ;

	if("userOffline".equals(type)){
		// uid
		String uid = Util.null2String(request.getParameter("uid")) ;
		if(StringUtils.isNotBlank(uid)){
			new LicenseCheckLogin().userOffline(uid);
			Map userSessions = application == null ? null : (Map) application.getAttribute("userSessions");
			List<HttpSession> slist = (userSessions != null && userSessions.containsKey(uid)) ? (List<HttpSession>)userSessions.get(uid) : null;
			int lsize = slist == null ? 0 : slist.size();
			for(int i=0; i<lsize; i++){
				try{slist.get(i).setAttribute("userOffline","1");}catch(IllegalStateException e){}
			}
		}
		new BaseBean().writeLog("强制下线【"+uid+"】>>>"+uid) ;
		out.println("0");
		return ;
	}else{
		//out.clearBuffer();
		String jsonStr = HrmUserOnlineMap.getInstance().getCacheMapJSON();
		out.println(jsonStr);
	}
%>