From e523764b0f300e5055d6f4bc680aa40d2590504f Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期六, 29 五月 2021 19:14:45 +0800
Subject: [PATCH] 发布 2.2.1

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java |  374 +++++++++++++++++++++++++++--------------------------
 1 files changed, 192 insertions(+), 182 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 87acff4..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;
 
@@ -33,197 +32,208 @@
 @Service
 public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements ISysDictTypeService {
 
-    @Autowired
-    private SysDictDataMapper dictDataMapper;
+	@Autowired
+	private SysDictTypeMapper dictTypeMapper;
 
-    /**
-     * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧瓧鍏稿埌缂撳瓨
-     */
-    @PostConstruct
-    public void init() {
-        List<SysDictType> dictTypeList = list();
-        for (SysDictType dictType : dictTypeList) {
-            List<SysDictData> dictDatas = dictDataMapper.selectList(
-                    new LambdaQueryWrapper<SysDictData>()
-                            .eq(SysDictData::getStatus, 0)
-                            .eq(SysDictData::getDictType, dictType.getDictType())
-                            .orderByAsc(SysDictData::getDictSort));
-            DictUtils.setDictCache(dictType.getDictType(), dictDatas);
-        }
-    }
+	@Autowired
+	private SysDictDataMapper dictDataMapper;
 
-    @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));
-    }
+	/**
+	 * 椤圭洰鍚姩鏃讹紝鍒濆鍖栧瓧鍏稿埌缂撳瓨
+	 */
+	@PostConstruct
+	public void init() {
+		loadingDictCache();
+	}
 
-    /**
-     * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀绫诲瀷
-     *
-     * @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")));
-    }
+	@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));
+	}
 
-    /**
-     * 鏍规嵁鎵�鏈夊瓧鍏哥被鍨�
-     *
-     * @return 瀛楀吀绫诲瀷闆嗗悎淇℃伅
-     */
-    @Override
-    public List<SysDictType> selectDictTypeAll() {
-        return list();
-    }
+	/**
+	 * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀绫诲瀷
+	 *
+	 * @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<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;
-    }
+	/**
+	 * 鏍规嵁鎵�鏈夊瓧鍏哥被鍨�
+	 *
+	 * @return 瀛楀吀绫诲瀷闆嗗悎淇℃伅
+	 */
+	@Override
+	public List<SysDictType> selectDictTypeAll() {
+		return list();
+	}
 
-    /**
-     * 鏍规嵁瀛楀吀绫诲瀷ID鏌ヨ淇℃伅
-     *
-     * @param dictId 瀛楀吀绫诲瀷ID
-     * @return 瀛楀吀绫诲瀷
-     */
-    @Override
-    public SysDictType selectDictTypeById(Long dictId) {
-        return getById(dictId);
-    }
+	/**
+	 * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鏁版嵁
+	 *
+	 * @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;
+	}
 
-    /**
-     * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ淇℃伅
-     *
-     * @param dictType 瀛楀吀绫诲瀷
-     * @return 瀛楀吀绫诲瀷
-     */
-    @Override
-    public SysDictType selectDictTypeByType(String dictType) {
-        return getOne(new LambdaQueryWrapper<SysDictType>().eq(SysDictType::getDictType, dictType));
-    }
+	/**
+	 * 鏍规嵁瀛楀吀绫诲瀷ID鏌ヨ淇℃伅
+	 *
+	 * @param dictId 瀛楀吀绫诲瀷ID
+	 * @return 瀛楀吀绫诲瀷
+	 */
+	@Override
+	public SysDictType selectDictTypeById(Long dictId) {
+		return getById(dictId);
+	}
 
-    /**
-     * 鎵归噺鍒犻櫎瀛楀吀绫诲瀷淇℃伅
-     *
-     * @param dictIds 闇�瑕佸垹闄ょ殑瀛楀吀ID
-     * @return 缁撴灉
-     */
-    @Override
-    public int 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()));
-            }
-        }
-        int count = baseMapper.deleteBatchIds(Arrays.asList(dictIds));
-        if (count > 0) {
-            DictUtils.clearDictCache();
-        }
-        return count;
-    }
+	/**
+	 * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ淇℃伅
+	 *
+	 * @param dictType 瀛楀吀绫诲瀷
+	 * @return 瀛楀吀绫诲瀷
+	 */
+	@Override
+	public SysDictType selectDictTypeByType(String dictType) {
+		return getOne(new LambdaQueryWrapper<SysDictType>().eq(SysDictType::getDictType, dictType));
+	}
 
-    /**
-     * 娓呯┖缂撳瓨鏁版嵁
-     */
-    @Override
-    public void clearCache() {
-        DictUtils.clearDictCache();
-    }
+	/**
+	 * 鎵归噺鍒犻櫎瀛楀吀绫诲瀷淇℃伅
+	 *
+	 * @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());
+		}
+	}
 
-    /**
-     * 鏂板淇濆瓨瀛楀吀绫诲瀷淇℃伅
-     *
-     * @param dictType 瀛楀吀绫诲瀷淇℃伅
-     * @return 缁撴灉
-     */
-    @Override
-    public int insertDictType(SysDictType dictType) {
-        int row = baseMapper.insert(dictType);
-        if (row > 0) {
-            DictUtils.clearDictCache();
-        }
-        return row;
-    }
+	/**
+	 * 鍔犺浇瀛楀吀缂撳瓨鏁版嵁
+	 */
+	@Override
+	public void loadingDictCache() {
+		List<SysDictType> dictTypeList = list();
+		for (SysDictType dictType : dictTypeList) {
+			List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
+			DictUtils.setDictCache(dictType.getDictType(), dictDatas);
+		}
+	}
 
-    /**
-     * 淇敼淇濆瓨瀛楀吀绫诲瀷淇℃伅
-     *
-     * @param dictType 瀛楀吀绫诲瀷淇℃伅
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int updateDictType(SysDictType dictType) {
-        SysDictType oldDict = getById(dictType.getDictId());
-        dictDataMapper.update(null, new LambdaUpdateWrapper<SysDictData>()
-                .set(SysDictData::getDictType, dictType.getDictType())
-                .eq(SysDictData::getDictType, oldDict.getDictType()));
-        int row = baseMapper.updateById(dictType);
-        if (row > 0) {
-            DictUtils.clearDictCache();
-        }
-        return row;
-    }
+	/**
+	 * 娓呯┖瀛楀吀缂撳瓨鏁版嵁
+	 */
+	@Override
+	public void clearDictCache() {
+		DictUtils.clearDictCache();
+	}
 
-    /**
-     * 鏍¢獙瀛楀吀绫诲瀷绉版槸鍚﹀敮涓�
-     *
-     * @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;
-    }
+	/**
+	 * 閲嶇疆瀛楀吀缂撳瓨鏁版嵁
+	 */
+	@Override
+	public void resetDictCache() {
+		clearDictCache();
+		loadingDictCache();
+	}
+
+	/**
+	 * 鏂板淇濆瓨瀛楀吀绫诲瀷淇℃伅
+	 *
+	 * @param dict 瀛楀吀绫诲瀷淇℃伅
+	 * @return 缁撴灉
+	 */
+	@Override
+	public int insertDictType(SysDictType dict) {
+		int row = baseMapper.insert(dict);
+		if (row > 0) {
+			DictUtils.setDictCache(dict.getDictType(), null);
+		}
+		return row;
+	}
+
+	/**
+	 * 淇敼淇濆瓨瀛楀吀绫诲瀷淇℃伅
+	 *
+	 * @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;
+	}
+
+	/**
+	 * 鏍¢獙瀛楀吀绫诲瀷绉版槸鍚﹀敮涓�
+	 *
+	 * @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