提交 38e454ec 编写于 作者: O o2null

Merge branch 'fix/teamwork_cachekey' into 'develop'

考勤缓存修改

See merge request o2oa/o2oa!1371
...@@ -2,19 +2,21 @@ package com.x.attendance.assemble.control.service; ...@@ -2,19 +2,21 @@ package com.x.attendance.assemble.control.service;
import com.x.attendance.assemble.control.Business; import com.x.attendance.assemble.control.Business;
import com.x.attendance.entity.AttendanceSelfHoliday; import com.x.attendance.entity.AttendanceSelfHoliday;
import com.x.attendance.entity.AttendanceStatisticalCycle;
import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.cache.CacheManager;
import net.sf.ehcache.Ehcache; import com.x.base.core.project.cache.Cache.CacheCategory;
import net.sf.ehcache.Element; import com.x.base.core.project.cache.Cache.CacheKey;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
public class AttendanceSelfHolidayService { public class AttendanceSelfHolidayService {
private Ehcache cache_AttendanceSelfHoliday = ApplicationCache.instance().getCache( AttendanceSelfHoliday.class); private CacheCategory cache_AttendanceSelfHoliday = new CacheCategory( AttendanceSelfHoliday.class);
public AttendanceSelfHoliday get( EntityManagerContainer emc, String id ) throws Exception { public AttendanceSelfHoliday get( EntityManagerContainer emc, String id ) throws Exception {
if( id == null || id.isEmpty() ){ if( id == null || id.isEmpty() ){
...@@ -37,15 +39,18 @@ public class AttendanceSelfHolidayService { ...@@ -37,15 +39,18 @@ public class AttendanceSelfHolidayService {
} }
public List<AttendanceSelfHoliday> listWithPersonFromCache( EntityManagerContainer emc, String person, boolean debugger) throws Exception { public List<AttendanceSelfHoliday> listWithPersonFromCache( EntityManagerContainer emc, String person, boolean debugger) throws Exception {
String cacheKey = ApplicationCache.concreteCacheKey( "list#" + person ); //String cacheKey = ApplicationCache.concreteCacheKey( "list#" + person );
Element element = cache_AttendanceSelfHoliday.get(cacheKey); //Element element = cache_AttendanceSelfHoliday.get(cacheKey);
CacheKey cacheKey = new CacheKey("list#" + person);
Optional<?> optional = CacheManager.get(cache_AttendanceSelfHoliday, cacheKey);
if ((null != element) && (null != element.getObjectValue())) { if (optional.isPresent()) {
return (List<AttendanceSelfHoliday>) element.getObjectValue(); return ((List<AttendanceSelfHoliday>)optional.get());
}else{ }else{
List<String> ids = getByPersonName( emc, person ); List<String> ids = getByPersonName( emc, person );
List<AttendanceSelfHoliday> list = list( emc, ids ); List<AttendanceSelfHoliday> list = list( emc, ids );
cache_AttendanceSelfHoliday.put(new Element( cacheKey, list )); CacheManager.put(cache_AttendanceSelfHoliday, cacheKey,list);
return list; return list;
} }
} }
......
...@@ -4,6 +4,7 @@ import java.util.ArrayList; ...@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import com.x.attendance.assemble.common.date.DateOperation; import com.x.attendance.assemble.common.date.DateOperation;
...@@ -15,15 +16,16 @@ import com.x.base.core.container.EntityManagerContainer; ...@@ -15,15 +16,16 @@ import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory; import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.entity.annotation.CheckPersistType; import com.x.base.core.entity.annotation.CheckPersistType;
import com.x.base.core.entity.annotation.CheckRemoveType; import com.x.base.core.entity.annotation.CheckRemoveType;
import com.x.base.core.project.cache.ApplicationCache;
import com.x.base.core.project.cache.CacheManager;
import com.x.base.core.project.cache.Cache.CacheCategory;
import com.x.base.core.project.cache.Cache.CacheKey;
import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.logger.LoggerFactory;
import net.sf.ehcache.Ehcache;
import net.sf.ehcache.Element;
public class AttendanceStatisticalCycleService { public class AttendanceStatisticalCycleService {
private Ehcache cache_AttendanceStatisticalCycle = ApplicationCache.instance().getCache( AttendanceStatisticalCycle.class); private CacheCategory cache_AttendanceStatisticalCycle = new CacheCategory( AttendanceStatisticalCycle.class);
private static Logger logger = LoggerFactory.getLogger( AttendanceStatisticalCycleService.class ); private static Logger logger = LoggerFactory.getLogger( AttendanceStatisticalCycleService.class );
private UserManagerService userManagerService = new UserManagerService(); private UserManagerService userManagerService = new UserManagerService();
...@@ -35,12 +37,12 @@ public class AttendanceStatisticalCycleService { ...@@ -35,12 +37,12 @@ public class AttendanceStatisticalCycleService {
* @throws Exception * @throws Exception
*/ */
public Map<String, Map<String, List<AttendanceStatisticalCycle>>> getAllStatisticalCycleMapWithCache(Boolean debugger) throws Exception { public Map<String, Map<String, List<AttendanceStatisticalCycle>>> getAllStatisticalCycleMapWithCache(Boolean debugger) throws Exception {
String cacheKey = ApplicationCache.concreteCacheKey( "map#all" ); CacheKey cacheKey = new CacheKey("map#all");
Element element = cache_AttendanceStatisticalCycle.get(cacheKey);
Map<String, Map<String, List<AttendanceStatisticalCycle>>> statisticalCycleMap = null; Map<String, Map<String, List<AttendanceStatisticalCycle>>> statisticalCycleMap = null;
Optional<?> optional = CacheManager.get(cache_AttendanceStatisticalCycle, cacheKey);
if ((null != element) && (null != element.getObjectValue())) { if (optional.isPresent()) {
return (Map<String, Map<String, List<AttendanceStatisticalCycle>>>) element.getObjectValue(); return ((Map<String, Map<String, List<AttendanceStatisticalCycle>>>)optional.get());
}else{ }else{
return getCycleMapFormAllCycles( false ); return getCycleMapFormAllCycles( false );
} }
......
package com.x.attendance.assemble.control.service; package com.x.attendance.assemble.control.service;
import java.util.List; import java.util.List;
import java.util.Optional;
import com.x.attendance.assemble.control.Business; import com.x.attendance.assemble.control.Business;
import com.x.attendance.entity.AttendanceWorkDayConfig; import com.x.attendance.entity.AttendanceWorkDayConfig;
import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory; import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.cache.CacheManager;
import net.sf.ehcache.Ehcache; import com.x.base.core.project.cache.Cache.CacheCategory;
import net.sf.ehcache.Element; import com.x.base.core.project.cache.Cache.CacheKey;
public class AttendanceWorkDayConfigService { public class AttendanceWorkDayConfigService {
private Ehcache cache_AttendanceWorkDayConfig = ApplicationCache.instance().getCache( AttendanceWorkDayConfig.class); private CacheCategory cache_AttendanceWorkDayConfig = new CacheCategory( AttendanceWorkDayConfig.class);
/** /**
* 从缓存中获取所有的工作日配置 * 从缓存中获取所有的工作日配置
* @return * @return
* @throws Exception * @throws Exception
*/ */
public List<AttendanceWorkDayConfig> getAllWorkDayConfigWithCache(Boolean debugger) throws Exception { public List<AttendanceWorkDayConfig> getAllWorkDayConfigWithCache(Boolean debugger) throws Exception {
String cacheKey = ApplicationCache.concreteCacheKey( "list#all" ); CacheKey cacheKey = new CacheKey("list#all");
Element element = cache_AttendanceWorkDayConfig.get(cacheKey); Optional<?> optional = CacheManager.get(cache_AttendanceWorkDayConfig, cacheKey);
List<AttendanceWorkDayConfig> workDayConfigList = null; List<AttendanceWorkDayConfig> workDayConfigList = null;
if ((null != element) && (null != element.getObjectValue())) { if (optional.isPresent()) {
return (List<AttendanceWorkDayConfig>) element.getObjectValue(); return ((List<AttendanceWorkDayConfig>) optional.get());
}else{ }else{
return listAll(); return listAll();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册