[测评系统]--测评系统核心代码库
zhijie
2021-06-01 fb2ee921d9b3ae8c82a004a2f72b7f71713b8e0c
src/main/java/com/ots/project/tool/CacheServiceFactory.java
@@ -8,6 +8,9 @@
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * 缓存报告字典
 */
@Slf4j
public class CacheServiceFactory {
    private static final String MAQ_REPORT_LIBRARY = "MAQ_REPORT_LIBRARY";
@@ -15,7 +18,11 @@
    private static Cache<String, List<TLibraryCode>> lruCache = CacheUtil.newLRUCache(5);
    private CacheServiceFactory() {
    }
    /**
     * 获取缓存实例
     * @return
     */
    public static CacheServiceFactory getInstance() {
        if (Objects.isNull(instance)) {
            synchronized (CacheServiceFactory.class) {
@@ -26,10 +33,19 @@
        }
        return instance;
    }
    /**
     * 清除缓存
     */
    public void reLoad() {
        lruCache.clear();
        lruCache.put(MAQ_REPORT_LIBRARY, null);
    }
    /**
     * 获取所有报告缓存字典
     * @return
     */
    public List<TLibraryCode> getMAQReportLibrary() {
        List<TLibraryCode> maqReportLibraries = lruCache.get(MAQ_REPORT_LIBRARY);
        if (Objects.isNull(maqReportLibraries)) {
@@ -37,6 +53,12 @@
        }
        return maqReportLibraries;
    }
    /**
     * 根据报告字典ID获取报告字典
     * @param coreId
     * @return
     */
    public TLibraryCode getMAQReportLibrary(String coreId) {
        List<TLibraryCode> maqReportLibrary = getMAQReportLibrary();
        TLibraryCode library = null;
@@ -52,6 +74,11 @@
        }
        return library;
    }
    /**
     * 获取所有报告字典 加入缓存
     * @return
     */
    private List<TLibraryCode> loadExcel() {
        TLibraryCodeServiceImpl itLibraryCodeService = AppUtil.getObject("iTLibraryCodeService", TLibraryCodeServiceImpl.class);
        TLibraryCode libraryCode = new TLibraryCode();