package com.vci.server.framework.cache;
|
|
import java.util.List;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.vci.corba.framework.data.RoleInfo;
|
import com.vci.server.cache.CacheNames;
|
import com.vci.server.cache.redis.RedisUtil;
|
import com.vci.server.framework.systemConfig.stafforgmanage.role.Role;
|
import com.vci.server.framework.systemConfig.stafforgmanage.role.RoleService;
|
import com.vci.server.framework.utils.ObjectConvert;
|
|
public class RoleCacheUtil {
|
private static RoleCacheUtil _instance = null;
|
|
private RoleCacheUtil() {
|
|
}
|
|
public static RoleCacheUtil getInstance() {
|
if (_instance == null)
|
_instance = new RoleCacheUtil();
|
|
return _instance;
|
}
|
|
|
public static void initCache() {
|
getInstance().initRoleCache();
|
}
|
|
public void clearCache() {
|
RedisUtil.getInstance().del(CacheNames.ROLES);
|
}
|
|
public void setObject(Role obj) {
|
if (obj == null)
|
return;
|
|
setObject(ObjectConvert.changeRoleToRoleInfo(obj));
|
}
|
|
public void setObject(RoleInfo role) {
|
if (role == null)
|
return;
|
|
String json = JSONObject.toJSONString(role);
|
RedisUtil.getInstance().hset(CacheNames.ROLES, role.id, json);
|
RedisUtil.getInstance().hset(CacheNames.ROLES, "MAP-" + role.name, role.id);
|
}
|
|
public void delObject(Role obj) {
|
if (obj == null || StringUtils.isBlank(obj.getId()))
|
return;
|
|
RedisUtil.getInstance().hdel(CacheNames.ROLES, "MAP-" + obj.getName());
|
delObject(obj.getId());
|
}
|
|
public void delObject(RoleInfo obj) {
|
if (obj == null || StringUtils.isBlank(obj.id))
|
return;
|
|
RedisUtil.getInstance().hdel(CacheNames.ROLES, "MAP-" + obj.name);
|
delObject(obj.id);
|
}
|
|
public void delObject(String dept) {
|
if (StringUtils.isBlank(dept))
|
return;
|
|
RedisUtil.getInstance().hdel(CacheNames.ROLES, dept);
|
}
|
|
private void initRoleCache() {
|
RedisUtil.getInstance().del(CacheNames.ROLES);
|
|
List<?> objs = new RoleService().getRoleList();
|
for (int i = 0; i < objs.size(); i++) {
|
Role obj = (Role)objs.get(i);
|
setObject(obj);
|
}
|
}
|
|
|
}
|