Commit 7ef9bc89 authored by 李德才's avatar 李德才

提供用户和系统的存取工具类

parent 66e0c0c4
package com.archser.aserver.util.redis;
import com.alibaba.fastjson.JSONObject;
import com.archser.aserver.model.System;
/**
* 获取系统信息 20201126 lidecai
*/
public class InfoSystem {
private static final String _INFO = "_INFO";
private static final String SYSTEM = "SYSTEM_";
/**
* 根据名称获取系统信息
*
* @param systemName
* @return
*/
public static System getSystem(String systemName) {
Object object = RedisConvert.getObject(SYSTEM + systemName + _INFO);
System system = JSONObject.parseObject(JSONObject.toJSONString(object), System.class);
if (system == null || system.getKeyid() == null) {
return getSystemByDatabase(systemName);
}
return system;
}
/**
* 备用方案,从数据库获取
*
* @param systemName
* @return
*/
public static System getSystemByDatabase(String systemName) {
System system = System.dao.template("getSystemPrivatekey", systemName).findFirst();
RedisConvert.saveObject(SYSTEM + systemName + _INFO, system);
return system;
}
}
package com.archser.aserver.util.redis;
import com.alibaba.fastjson.JSONObject;
import com.archser.aserver.model.User;
import java.io.Serializable;
public class InfoUser implements Serializable {
private static final String _INFO = "_INFO";
private static final String USER = "USER_";
/**
* 获取用户信息
*
* @param userName
* @return
*/
public static User getUser(String userName) {
Object object = RedisConvert.getObject(USER + userName + _INFO);
User user = JSONObject.parseObject(JSONObject.toJSONString(object), User.class);
if (user.getId() == null) {
return getUserByDataBase(userName);
}
return user;
}
/**
* 备用方案,从数据库获取用户信息
*
* @param userName
* @return
*/
private static User getUserByDataBase(String userName) {
User user = User.dao.template("getUser", userName).findFirst();
RedisConvert.saveObject(USER + userName + _INFO, user);
return user;
}
}
package com.archser.aserver.util.redis;
import com.alibaba.fastjson.JSONObject;
import com.jfinal.plugin.redis.Redis;
import java.util.Map;
/**
* Redis常用工具类 20201126 lidecai
*/
public class RedisConvert {
/**
* 单独存储对象属性
*
* @param key
* @param attribute
* @param value
*/
public static void saveObjectAttr(String key, String attribute, String value) {
Redis.use().hset(key, attribute, value);
}
/**
* 单独获取对象属性
*
* @param key
* @param attribute
* @return
*/
public static Object getObjectAttr(String key, String attribute) {
return Redis.use().hget(key, attribute);
}
/**
* 存储整个对象
*
* @param key
* @param object
*/
public static void saveObject(String key, Object object) {
Redis.use().hmset(key, objectToMap(object));
}
/**
* 获取整个对象
*
* @param key
* @return
*/
public static Object getObject(String key) {
return Redis.use().hgetAll(key);
}
/**
* 反射获取对象全部属性
*
* @param obj
* @return
*/
public static Map objectToMap(Object obj) {
return JSONObject.parseObject(JSONObject.toJSONString(obj), Map.class);
}
}
......@@ -4,7 +4,7 @@ jdbcUrl=jdbc:dm://39.104.21.218:5236
jdbc.driver=dm.jdbc.driver.DmDriver
user=archser_hywdtest
password=archser_hywdtest
basic.url=http://39.104.174.12:11028
basic.url=http://39.104.21.218:11028
devMode =true
engineDevMode=true
......
......@@ -87,7 +87,7 @@ select * from AS_USER where "USERNAME"=#para(0)
### 获取指定系统私钥
#sql("getSystemPrivatekey")
select "TYPE", KEYID, PRIVATEKEY, URL,TITLE from AS_SYSTEM where "NAME"=#para(0) and rownum =1
select * from AS_SYSTEM where "NAME"=#para(0) and rownum =1
#end
### 获取所有菜单
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment