liujiaji 6397d906b5 src_app 移除
src_app_fresh 添加
2018-06-11 13:40:56 +08:00

182 lines
5.3 KiB
Java

package com.base.helper;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.amarsoft.are.ARE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.BizObjectQuery;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.base.constant.RestfullConstant;
import com.base.tool.ExpireTool;
import com.base.util.BizObjectUtil;
public class SessionHelper {
public static List<Map<String, Object>> getSessionTokenByToken(String sToken) {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
BizObject bo = null;
try {
BizObjectManager bom = JBOFactory
.getBizObjectManager("jbo.app.TOKEN_SESSION");
BizObjectQuery boq = bom.createQuery("TOKEN=:TOKEN").setParameter(
"TOKEN", sToken);
bo = boq.getSingleResult(false);
} catch (JBOException e) {
ARE.getLog().error(e);
}
if (bo == null)
return list;
BizObjectUtil boUtil = new BizObjectUtil();
list.add(boUtil.bizObject2MapValue(bo));
return list;
}
public static List<Map<String, Object>> getSessionTokenBySession(
HttpServletRequest req) {
String sUserId = (String) req.getSession()
.getAttribute(
(String) RestfullConstant.sessionProperty.get("USERID"
.toLowerCase()));
String sToken = (String) req.getSession()
.getAttribute(
(String) RestfullConstant.sessionProperty.get("TOKEN"
.toLowerCase()));
String sExpire = new Date().getTime() + "";
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
BizObject bo = null;
try {
BizObjectManager bom = JBOFactory
.getBizObjectManager("jbo.app.TOKEN_SESSION");
BizObjectQuery boq = bom
.createQuery(
"TOKEN=:TOKEN AND USER_ID=:USER_ID AND EXPIRE_IN > :EXPIRE_IN")
.setParameter("TOKEN", sToken)
.setParameter("USER_ID", sUserId)
.setParameter("EXPIRE_IN", sExpire);
bo = boq.getSingleResult(false);
} catch (JBOException e) {
ARE.getLog().error(e);
}
if (bo == null)
return list;
BizObjectUtil boUtil = new BizObjectUtil();
list.add(boUtil.bizObject2MapValue(bo));
return list;
}
public static List<Map<String, Object>> getSessionTokenByUserId(
String sUserId) {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
BizObject bo = null;
try {
BizObjectManager bom = JBOFactory
.getBizObjectManager("jbo.app.TOKEN_SESSION");
BizObjectQuery boq = bom.createQuery("USER_ID=:USER_ID")
.setParameter("USER_ID", sUserId);
bo = boq.getSingleResult(false);
} catch (JBOException e) {
ARE.getLog().error(e);
}
if (bo == null)
return list;
BizObjectUtil boUtil = new BizObjectUtil();
list.add(boUtil.bizObject2MapValue(bo));
return list;
}
public static void save(JBOTransaction tx, Map<String, Object> map)
throws JBOException {
try {
BizObjectManager bom = JBOFactory
.getBizObjectManager("jbo.app.TOKEN_SESSION");
BizObject bo = bom.newObject();
;
for (String key : map.keySet()) {
bo.setAttributeValue(key.toUpperCase(), map.get(key));
}
if (bo == null)
return;
tx.join(bom);
bom.saveObject(bo);
tx.commit();
} catch (JBOException e) {
ARE.getLog().error(e);
}
}
public static Long edit(JBOTransaction tx, HttpServletRequest req)
throws JBOException {
try {
BizObjectManager bom = JBOFactory
.getBizObjectManager("jbo.app.TOKEN_SESSION");
String sUserId = (String) req.getSession().getAttribute("userid");
String sToken = (String) req.getSession().getAttribute("token");
String sExpire = ExpireTool.getExpireTime() + "";
BizObjectQuery boq = bom
.createQuery("USER_ID=:USER_ID AND TOKEN=:TOKEN")
.setParameter("USER_ID", sUserId)
.setParameter("TOKEN", sToken);
BizObject bo = boq.getSingleResult(true);
if (bo == null)
return 0l;
bo.setAttributeValue("EXPIRE_IN", sExpire);
tx.join(bom);
bom.saveObject(bo);
tx.commit();
req.getSession().setAttribute("expire", sExpire);
return Long.valueOf(sExpire);
} catch (JBOException e) {
ARE.getLog().error(e);
return 0l;
}
}
public static void removerByUserId(JBOTransaction tx, String sUserId)
throws JBOException {
try {
BizObjectManager bom = JBOFactory
.getBizObjectManager("jbo.app.TOKEN_SESSION");
BizObjectQuery boq = bom.createQuery("USER_ID=:USER_ID")
.setParameter("USER_ID", sUserId);
BizObject bo = boq.getSingleResult(true);
if (bo == null)
return;
tx.join(bom);
bom.deleteObject(bo);
tx.commit();
} catch (JBOException e) {
ARE.getLog().error(e);
}
}
public static void removerAll() throws JBOException {
try {
BizObjectManager bom = JBOFactory
.getBizObjectManager("jbo.app.TOKEN_SESSION");
BizObjectQuery boq = bom.createQuery("1=1");
@SuppressWarnings("unchecked")
List<BizObject> bos = boq.getResultList(true);
for (BizObject bo : bos) {
bom.deleteObject(bo);
}
} catch (JBOException e) {
ARE.getLog().error(e);
}
}
}