package com.vci.server.cache;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.vci.corba.framework.data.DeptInfo;
|
import com.vci.corba.framework.data.RoleInfo;
|
import com.vci.corba.framework.data.UserInfo;
|
import com.vci.server.cache.redis.RedisUtil;
|
|
public final class OrgCacheProvider {
|
|
public static UserInfo getUser(String name) {
|
String json = RedisUtil.getInstance().hget(CacheNames.USERS, name.toLowerCase());
|
if (StringUtils.isBlank(json))
|
return null;
|
|
return JSONObject.parseObject(json, UserInfo.class);
|
}
|
|
public static UserInfo getUserByID(String userId) {
|
String userName = RedisUtil.getInstance().hget(CacheNames.USERS, userId);
|
if (StringUtils.isBlank(userName))
|
return null;
|
|
String json = RedisUtil.getInstance().hget(CacheNames.USERS, userName.toLowerCase());
|
if (StringUtils.isBlank(json))
|
return null;
|
|
return JSONObject.parseObject(json, UserInfo.class);
|
}
|
|
public static UserInfo[] getUsers(String[] names) {
|
List<UserInfo> lstObj = new ArrayList<UserInfo>();
|
|
for (int i = 0; i < names.length; i++) {
|
if (StringUtils.isBlank(names[i]))
|
continue;
|
|
String json = RedisUtil.getInstance().hget(CacheNames.USERS, names[i].toLowerCase());
|
if (StringUtils.isBlank(json))
|
continue;
|
|
lstObj.add(JSONObject.parseObject(json, UserInfo.class));
|
}
|
|
return lstObj.toArray(new UserInfo[0]);
|
}
|
|
|
public static UserInfo[] getUsers() {
|
List<UserInfo> lstAI = new ArrayList<UserInfo>();
|
|
Map<String, String> map = RedisUtil.getInstance().hgetAll(CacheNames.USERS);
|
String[] keys = map.keySet().toArray(new String[0]);
|
for (String key : keys) {
|
if (key.startsWith("MAP-"))
|
continue;
|
String json = map.get(key);
|
if (StringUtils.isBlank(json))
|
continue;
|
|
lstAI.add(JSONObject.parseObject(json, UserInfo.class));
|
}
|
|
return lstAI.toArray(new UserInfo[0]);
|
}
|
|
//========================================================================
|
public static DeptInfo getDepartment(String id) {
|
String json = RedisUtil.getInstance().hget(CacheNames.DEPTS, id);
|
if (StringUtils.isBlank(json))
|
return null;
|
|
return JSONObject.parseObject(json, DeptInfo.class);
|
}
|
|
public static DeptInfo[] getDepts(String[] ids) {
|
List<DeptInfo> lstObj = new ArrayList<DeptInfo>();
|
|
for (int i = 0; i < ids.length; i++) {
|
if (StringUtils.isBlank(ids[i]))
|
continue;
|
|
String json = RedisUtil.getInstance().hget(CacheNames.DEPTS, ids[i]);
|
if (StringUtils.isBlank(json))
|
continue;
|
|
lstObj.add(JSONObject.parseObject(json, DeptInfo.class));
|
}
|
|
return lstObj.toArray(new DeptInfo[0]);
|
}
|
|
|
public static DeptInfo[] getDepts() {
|
List<DeptInfo> lstAI = new ArrayList<DeptInfo>();
|
|
Map<String, String> map = RedisUtil.getInstance().hgetAll(CacheNames.DEPTS);
|
String[] jsons = map.values().toArray(new String[0]);
|
for (int i = 0; i < jsons.length; i++) {
|
if (StringUtils.isBlank(jsons[i]))
|
continue;
|
|
lstAI.add(JSONObject.parseObject(jsons[i], DeptInfo.class));
|
}
|
|
return lstAI.toArray(new DeptInfo[0]);
|
}
|
|
///============================
|
public static RoleInfo getRole(String id) {
|
String json = RedisUtil.getInstance().hget(CacheNames.ROLES, id);
|
if (StringUtils.isBlank(json))
|
return null;
|
|
return JSONObject.parseObject(json, RoleInfo.class);
|
}
|
|
public static RoleInfo getRoleByName(String name) {
|
String json = RedisUtil.getInstance().hget(CacheNames.ROLES, "MAP-" + name);
|
if (StringUtils.isBlank(json))
|
return null;
|
|
return getRole(json);
|
}
|
|
public static RoleInfo[] getRoles(String[] ids) {
|
List<RoleInfo> lstObj = new ArrayList<RoleInfo>();
|
|
for (int i = 0; i < ids.length; i++) {
|
if (StringUtils.isBlank(ids[i]))
|
continue;
|
|
String json = RedisUtil.getInstance().hget(CacheNames.ROLES, ids[i]);
|
if (StringUtils.isBlank(json))
|
continue;
|
|
lstObj.add(JSONObject.parseObject(json, RoleInfo.class));
|
}
|
|
return lstObj.toArray(new RoleInfo[0]);
|
}
|
|
|
public static RoleInfo[] getRoles() {
|
List<RoleInfo> lstObj = new ArrayList<RoleInfo>();
|
|
Map<String, String> map = RedisUtil.getInstance().hgetAll(CacheNames.ROLES);
|
String[] keys = map.keySet().toArray(new String[0]);
|
for (String key : keys) {
|
if (key.startsWith("MAP-"))
|
continue;
|
String json = map.get(key);
|
if (StringUtils.isBlank(json))
|
continue;
|
|
lstObj.add(JSONObject.parseObject(json, RoleInfo.class));
|
}
|
|
return lstObj.toArray(new RoleInfo[0]);
|
}
|
|
// public static RoleInfo[] getRolesByUser(String userName) {
|
// if (StringUtils.isBlank(userName))
|
// return new RoleInfo[0];
|
//
|
// String temp = RedisUtil.getInstance().hget(CacheNames.USERROLES, userName.toLowerCase());
|
// String[] oids = temp.split(";");
|
//
|
// return getRoles(oids);
|
// }
|
|
// public static RoleInfo[] getRolesByUserId(String userId) {
|
// if (StringUtils.isBlank(userId))
|
// return new RoleInfo[0];
|
//
|
// String temp = RedisUtil.getInstance().hget(CacheNames.USERROLES, userId.toLowerCase());
|
// String[] oids = temp.split(";");
|
//
|
// return getRoles(oids);
|
// }
|
}
|