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); } } }