From 7779cbca4da0581716f36b43c18001a3c8c23d6f Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 28 五月 2021 10:30:11 +0800
Subject: [PATCH] update 优化参数&字典缓存操作

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java |  368 +++++++++++++++++++++++++--------------------------
 1 files changed, 181 insertions(+), 187 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
index 04e6616..79a4036 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
@@ -21,7 +21,6 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.PostConstruct;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -36,210 +35,205 @@
 	@Autowired
 	private SysDictTypeMapper dictTypeMapper;
 
-    @Autowired
-    private SysDictDataMapper dictDataMapper;
+	@Autowired
+	private SysDictDataMapper dictDataMapper;
 
-    /**
-     * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧瓧鍏稿埌缂撳瓨
-     */
-    @PostConstruct
-    public void init() {
-        loadingDictCache();
-    }
+	/**
+	 * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧瓧鍏稿埌缂撳瓨
+	 */
+	@PostConstruct
+	public void init() {
+		loadingDictCache();
+	}
 
-    @Override
-    public TableDataInfo<SysDictType> selectPageDictTypeList(SysDictType dictType) {
-        Map<String, Object> params = dictType.getParams();
-        LambdaQueryWrapper<SysDictType> lqw = new LambdaQueryWrapper<SysDictType>()
-                .like(StrUtil.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
-                .eq(StrUtil.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
-                .like(StrUtil.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
-                .apply(Validator.isNotEmpty(params.get("beginTime")),
-                        "date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
-                        params.get("beginTime"))
-                .apply(Validator.isNotEmpty(params.get("endTime")),
-                        "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
-                        params.get("endTime"));
-        return PageUtils.buildDataInfo(page(PageUtils.buildPage(),lqw));
-    }
+	@Override
+	public TableDataInfo<SysDictType> selectPageDictTypeList(SysDictType dictType) {
+		Map<String, Object> params = dictType.getParams();
+		LambdaQueryWrapper<SysDictType> lqw = new LambdaQueryWrapper<SysDictType>()
+			.like(StrUtil.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
+			.eq(StrUtil.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
+			.like(StrUtil.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
+			.apply(Validator.isNotEmpty(params.get("beginTime")),
+				"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
+				params.get("beginTime"))
+			.apply(Validator.isNotEmpty(params.get("endTime")),
+				"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
+				params.get("endTime"));
+		return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
+	}
 
-    /**
-     * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀绫诲瀷
-     *
-     * @param dictType 瀛楀吀绫诲瀷淇℃伅
-     * @return 瀛楀吀绫诲瀷闆嗗悎淇℃伅
-     */
-    @Override
-    public List<SysDictType> selectDictTypeList(SysDictType dictType) {
-        Map<String, Object> params = dictType.getParams();
-        return list(new LambdaQueryWrapper<SysDictType>()
-                .like(StrUtil.isNotBlank(dictType.getDictName()),SysDictType::getDictName, dictType.getDictName())
-                .eq(StrUtil.isNotBlank(dictType.getStatus()),SysDictType::getStatus, dictType.getStatus())
-                .like(StrUtil.isNotBlank(dictType.getDictType()),SysDictType::getDictType, dictType.getDictType())
-                .apply(Validator.isNotEmpty(params.get("beginTime")),
-                        "date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
-                        params.get("beginTime"))
-                .apply(Validator.isNotEmpty(params.get("endTime")),
-                        "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
-                        params.get("endTime")));
-    }
+	/**
+	 * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀绫诲瀷
+	 *
+	 * @param dictType 瀛楀吀绫诲瀷淇℃伅
+	 * @return 瀛楀吀绫诲瀷闆嗗悎淇℃伅
+	 */
+	@Override
+	public List<SysDictType> selectDictTypeList(SysDictType dictType) {
+		Map<String, Object> params = dictType.getParams();
+		return list(new LambdaQueryWrapper<SysDictType>()
+			.like(StrUtil.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
+			.eq(StrUtil.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
+			.like(StrUtil.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
+			.apply(Validator.isNotEmpty(params.get("beginTime")),
+				"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
+				params.get("beginTime"))
+			.apply(Validator.isNotEmpty(params.get("endTime")),
+				"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
+				params.get("endTime")));
+	}
 
-    /**
-     * 鏍规嵁鎵�鏈夊瓧鍏哥被鍨�
-     *
-     * @return 瀛楀吀绫诲瀷闆嗗悎淇℃伅
-     */
-    @Override
-    public List<SysDictType> selectDictTypeAll() {
-        return list();
-    }
+	/**
+	 * 鏍规嵁鎵�鏈夊瓧鍏哥被鍨�
+	 *
+	 * @return 瀛楀吀绫诲瀷闆嗗悎淇℃伅
+	 */
+	@Override
+	public List<SysDictType> selectDictTypeAll() {
+		return list();
+	}
 
-    /**
-     * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鏁版嵁
-     *
-     * @param dictType 瀛楀吀绫诲瀷
-     * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
-     */
-    @Override
-    public List<SysDictData> selectDictDataByType(String dictType) {
-        List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
-        if (CollUtil.isNotEmpty(dictDatas)) {
-            return dictDatas;
-        }
-        dictDatas = dictDataMapper.selectList(new LambdaQueryWrapper<SysDictData>()
-                .eq(SysDictData::getStatus, 0)
-                .eq(SysDictData::getDictType, dictType)
-                .orderByAsc(SysDictData::getDictSort));
-        if (CollUtil.isNotEmpty(dictDatas)) {
-            DictUtils.setDictCache(dictType, dictDatas);
-            return dictDatas;
-        }
-        return null;
-    }
+	/**
+	 * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鏁版嵁
+	 *
+	 * @param dictType 瀛楀吀绫诲瀷
+	 * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
+	 */
+	@Override
+	public List<SysDictData> selectDictDataByType(String dictType) {
+		List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
+		if (CollUtil.isNotEmpty(dictDatas)) {
+			return dictDatas;
+		}
+		dictDatas = dictDataMapper.selectDictDataByType(dictType);
+		if (CollUtil.isNotEmpty(dictDatas)) {
+			DictUtils.setDictCache(dictType, dictDatas);
+			return dictDatas;
+		}
+		return null;
+	}
 
-    /**
-     * 鏍规嵁瀛楀吀绫诲瀷ID鏌ヨ淇℃伅
-     *
-     * @param dictId 瀛楀吀绫诲瀷ID
-     * @return 瀛楀吀绫诲瀷
-     */
-    @Override
-    public SysDictType selectDictTypeById(Long dictId) {
-        return getById(dictId);
-    }
+	/**
+	 * 鏍规嵁瀛楀吀绫诲瀷ID鏌ヨ淇℃伅
+	 *
+	 * @param dictId 瀛楀吀绫诲瀷ID
+	 * @return 瀛楀吀绫诲瀷
+	 */
+	@Override
+	public SysDictType selectDictTypeById(Long dictId) {
+		return getById(dictId);
+	}
 
-    /**
-     * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ淇℃伅
-     *
-     * @param dictType 瀛楀吀绫诲瀷
-     * @return 瀛楀吀绫诲瀷
-     */
-    @Override
-    public SysDictType selectDictTypeByType(String dictType) {
-        return getOne(new LambdaQueryWrapper<SysDictType>().eq(SysDictType::getDictType, dictType));
-    }
+	/**
+	 * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ淇℃伅
+	 *
+	 * @param dictType 瀛楀吀绫诲瀷
+	 * @return 瀛楀吀绫诲瀷
+	 */
+	@Override
+	public SysDictType selectDictTypeByType(String dictType) {
+		return getOne(new LambdaQueryWrapper<SysDictType>().eq(SysDictType::getDictType, dictType));
+	}
 
-    /**
-     * 鎵归噺鍒犻櫎瀛楀吀绫诲瀷淇℃伅
-     *
-     * @param dictIds 闇�瑕佸垹闄ょ殑瀛楀吀ID
-     * @return 缁撴灉
-     */
-    @Override
-    public void deleteDictTypeByIds(Long[] dictIds) {
-        for (Long dictId : dictIds) {
-            SysDictType dictType = selectDictTypeById(dictId);
-            if (dictDataMapper.selectCount(new LambdaQueryWrapper<SysDictData>()
-                    .eq(SysDictData::getDictType, dictType.getDictType())) > 0) {
-                throw new CustomException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", dictType.getDictName()));
-            }
-            dictTypeMapper.deleteDictTypeById(dictId);
-            DictUtils.removeDictCache(dictType.getDictType());
-        }
-    }
+	/**
+	 * 鎵归噺鍒犻櫎瀛楀吀绫诲瀷淇℃伅
+	 *
+	 * @param dictIds 闇�瑕佸垹闄ょ殑瀛楀吀ID
+	 * @return 缁撴灉
+	 */
+	@Override
+	public void deleteDictTypeByIds(Long[] dictIds) {
+		for (Long dictId : dictIds) {
+			SysDictType dictType = selectDictTypeById(dictId);
+			if (dictDataMapper.selectCount(new LambdaQueryWrapper<SysDictData>()
+				.eq(SysDictData::getDictType, dictType.getDictType())) > 0) {
+				throw new CustomException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", dictType.getDictName()));
+			}
+			dictTypeMapper.deleteById(dictId);
+			DictUtils.removeDictCache(dictType.getDictType());
+		}
+	}
 
-    /**
-     * 鍔犺浇瀛楀吀缂撳瓨鏁版嵁
-     */
-    public void loadingDictCache()
-    {
-        List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll();
-        for (SysDictType dictType : dictTypeList)
-        {
-            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
-            DictUtils.setDictCache(dictType.getDictType(), dictDatas);
-        }
-    }
+	/**
+	 * 鍔犺浇瀛楀吀缂撳瓨鏁版嵁
+	 */
+	@Override
+	public void loadingDictCache() {
+		List<SysDictType> dictTypeList = list();
+		for (SysDictType dictType : dictTypeList) {
+			List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
+			DictUtils.setDictCache(dictType.getDictType(), dictDatas);
+		}
+	}
 
-    /**
-     * 娓呯┖瀛楀吀缂撳瓨鏁版嵁
-     */
-    public void clearDictCache()
-    {
-        DictUtils.clearDictCache();
-    }
+	/**
+	 * 娓呯┖瀛楀吀缂撳瓨鏁版嵁
+	 */
+	@Override
+	public void clearDictCache() {
+		DictUtils.clearDictCache();
+	}
 
-    /**
-     * 閲嶇疆瀛楀吀缂撳瓨鏁版嵁
-     */
-    public void resetDictCache()
-    {
-        clearDictCache();
-        loadingDictCache();
-    }
+	/**
+	 * 閲嶇疆瀛楀吀缂撳瓨鏁版嵁
+	 */
+	@Override
+	public void resetDictCache() {
+		clearDictCache();
+		loadingDictCache();
+	}
 
-    /**
-     * 鏂板淇濆瓨瀛楀吀绫诲瀷淇℃伅
-     *
-     * @param dict 瀛楀吀绫诲瀷淇℃伅
-     * @return 缁撴灉
-     */
-    @Override
-    public int insertDictType(SysDictType dict) {
-        int row = baseMapper.insert(dict);
-        if (row > 0) {
+	/**
+	 * 鏂板淇濆瓨瀛楀吀绫诲瀷淇℃伅
+	 *
+	 * @param dict 瀛楀吀绫诲瀷淇℃伅
+	 * @return 缁撴灉
+	 */
+	@Override
+	public int insertDictType(SysDictType dict) {
+		int row = baseMapper.insert(dict);
+		if (row > 0) {
 			DictUtils.setDictCache(dict.getDictType(), null);
-        }
-        return row;
-    }
+		}
+		return row;
+	}
 
-    /**
-     * 淇敼淇濆瓨瀛楀吀绫诲瀷淇℃伅
-     * @param dict 瀛楀吀绫诲瀷淇℃伅
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int updateDictType(SysDictType dict)
-    {
+	/**
+	 * 淇敼淇濆瓨瀛楀吀绫诲瀷淇℃伅
+	 *
+	 * @param dict 瀛楀吀绫诲瀷淇℃伅
+	 * @return 缁撴灉
+	 */
+	@Override
+	@Transactional
+	public int updateDictType(SysDictType dict) {
 		SysDictType oldDict = getById(dict.getDictId());
 		dictDataMapper.update(null, new LambdaUpdateWrapper<SysDictData>()
 			.set(SysDictData::getDictType, dict.getDictType())
 			.eq(SysDictData::getDictType, oldDict.getDictType()));
 		int row = baseMapper.updateById(dict);
-        if (row > 0)
-        {
-            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType());
-            DictUtils.setDictCache(dict.getDictType(), dictDatas);
-        }
-        return row;
-    }
+		if (row > 0) {
+			List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType());
+			DictUtils.setDictCache(dict.getDictType(), dictDatas);
+		}
+		return row;
+	}
 
-    /**
-     * 鏍¢獙瀛楀吀绫诲瀷绉版槸鍚﹀敮涓�
-     *
-     * @param dict 瀛楀吀绫诲瀷
-     * @return 缁撴灉
-     */
-    @Override
-    public String checkDictTypeUnique(SysDictType dict) {
-        Long dictId = Validator.isNull(dict.getDictId()) ? -1L : dict.getDictId();
-        SysDictType dictType = getOne(new LambdaQueryWrapper<SysDictType>()
-                .eq(SysDictType::getDictType, dict.getDictType())
-                .last("limit 1"));
-        if (Validator.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
+	/**
+	 * 鏍¢獙瀛楀吀绫诲瀷绉版槸鍚﹀敮涓�
+	 *
+	 * @param dict 瀛楀吀绫诲瀷
+	 * @return 缁撴灉
+	 */
+	@Override
+	public String checkDictTypeUnique(SysDictType dict) {
+		Long dictId = Validator.isNull(dict.getDictId()) ? -1L : dict.getDictId();
+		SysDictType dictType = getOne(new LambdaQueryWrapper<SysDictType>()
+			.eq(SysDictType::getDictType, dict.getDictType())
+			.last("limit 1"));
+		if (Validator.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) {
+			return UserConstants.NOT_UNIQUE;
+		}
+		return UserConstants.UNIQUE;
+	}
 }

--
Gitblit v1.9.3