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