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.DeptInfo;
|
import com.vci.server.cache.CacheNames;
|
import com.vci.server.cache.redis.RedisUtil;
|
import com.vci.server.framework.systemConfig.stafforgmanage.dept.Department;
|
import com.vci.server.framework.systemConfig.stafforgmanage.dept.DepartmentService;
|
import com.vci.server.framework.utils.ObjectConvert;
|
|
public class DeptCacheUtil {
|
private static DeptCacheUtil _instance = null;
|
|
private DeptCacheUtil() {
|
|
}
|
|
public static DeptCacheUtil getInstance() {
|
if (_instance == null)
|
_instance = new DeptCacheUtil();
|
|
return _instance;
|
}
|
|
|
public static void initCache() {
|
getInstance().initUserCache();
|
}
|
|
public void clearCache() {
|
RedisUtil.getInstance().del(CacheNames.DEPTS);
|
}
|
|
public void setObject(Department dept) {
|
if (dept == null)
|
return;
|
|
setObject(ObjectConvert.changeDepartmentToDepartmentInfo(dept));
|
}
|
|
public void setObject(DeptInfo dept) {
|
if (dept == null)
|
return;
|
|
String json = JSONObject.toJSONString(dept);
|
RedisUtil.getInstance().hset(CacheNames.DEPTS, dept.id, json);
|
}
|
|
public void delObject(Department dept) {
|
if (dept == null || StringUtils.isBlank(dept.getId()))
|
return;
|
|
delObject(dept.getId());
|
}
|
|
public void delObject(DeptInfo user) {
|
if (user == null || StringUtils.isBlank(user.id))
|
return;
|
|
delObject(user.id);
|
}
|
|
public void delObject(String deptId) {
|
if (StringUtils.isBlank(deptId))
|
return;
|
|
RedisUtil.getInstance().hdel(CacheNames.DEPTS, deptId);
|
}
|
|
private void initUserCache() {
|
List<?> depts = new DepartmentService().getDepartmentList();
|
for (int i = 0; i < depts.size(); i++) {
|
Department dept = (Department)depts.get(i);
|
setObject(dept);
|
}
|
}
|
|
}
|