From 1dbcd4ee6e871cc8303e11ca5024a1b52c1e3359 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 23 三月 2022 15:14:16 +0800
Subject: [PATCH] update 代码生成 支持界面动态配置切换数据源(找不到默认查 primary 数据源)
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java | 213 ++++++++++++++++++++++++++++------------------------
1 files changed, 114 insertions(+), 99 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
index 469c990..03de7c5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
@@ -1,14 +1,16 @@
package com.ruoyi.system.service.impl;
-import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.utils.DictUtils;
-import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.system.mapper.SysDictDataMapper;
import com.ruoyi.system.service.ISysDictDataService;
+import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -16,108 +18,121 @@
/**
* 瀛楀吀 涓氬姟灞傚鐞�
*
- * @author ruoyi
+ * @author Lion Li
*/
+@RequiredArgsConstructor
@Service
-public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements ISysDictDataService {
+public class SysDictDataServiceImpl implements ISysDictDataService {
- @Override
- public TableDataInfo<SysDictData> selectPageDictDataList(SysDictData dictData) {
- LambdaQueryWrapper<SysDictData> lqw = new LambdaQueryWrapper<SysDictData>()
- .eq(StrUtil.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
- .like(StrUtil.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
- .eq(StrUtil.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
- .orderByAsc(SysDictData::getDictSort);
- return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
- }
+ private final SysDictDataMapper baseMapper;
- /**
- * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀鏁版嵁
- *
- * @param dictData 瀛楀吀鏁版嵁淇℃伅
- * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
- */
- @Override
- public List<SysDictData> selectDictDataList(SysDictData dictData) {
- return list(new LambdaQueryWrapper<SysDictData>()
- .eq(StrUtil.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
- .like(StrUtil.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
- .eq(StrUtil.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
- .orderByAsc(SysDictData::getDictSort));
- }
+ @Override
+ public TableDataInfo<SysDictData> selectPageDictDataList(SysDictData dictData, PageQuery pageQuery) {
+ LambdaQueryWrapper<SysDictData> lqw = new LambdaQueryWrapper<SysDictData>()
+ .eq(StringUtils.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
+ .like(StringUtils.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
+ .eq(StringUtils.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
+ .orderByAsc(SysDictData::getDictSort);
+ Page<SysDictData> page = baseMapper.selectPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(page);
+ }
- /**
- * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏搁敭鍊兼煡璇㈠瓧鍏告暟鎹俊鎭�
- *
- * @param dictType 瀛楀吀绫诲瀷
- * @param dictValue 瀛楀吀閿��
- * @return 瀛楀吀鏍囩
- */
- @Override
- public String selectDictLabel(String dictType, String dictValue) {
- return getOne(new LambdaQueryWrapper<SysDictData>()
- .select(SysDictData::getDictLabel)
- .eq(SysDictData::getDictType, dictType)
- .eq(SysDictData::getDictValue, dictValue))
- .getDictLabel();
- }
+ /**
+ * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀鏁版嵁
+ *
+ * @param dictData 瀛楀吀鏁版嵁淇℃伅
+ * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
+ */
+ @Override
+ public List<SysDictData> selectDictDataList(SysDictData dictData) {
+ return baseMapper.selectList(new LambdaQueryWrapper<SysDictData>()
+ .eq(StringUtils.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
+ .like(StringUtils.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
+ .eq(StringUtils.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
+ .orderByAsc(SysDictData::getDictSort));
+ }
- /**
- * 鏍规嵁瀛楀吀鏁版嵁ID鏌ヨ淇℃伅
- *
- * @param dictCode 瀛楀吀鏁版嵁ID
- * @return 瀛楀吀鏁版嵁
- */
- @Override
- public SysDictData selectDictDataById(Long dictCode) {
- return getById(dictCode);
- }
+ /**
+ * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏搁敭鍊兼煡璇㈠瓧鍏告暟鎹俊鎭�
+ *
+ * @param dictType 瀛楀吀绫诲瀷
+ * @param dictValue 瀛楀吀閿��
+ * @return 瀛楀吀鏍囩
+ */
+ @Override
+ public String selectDictLabel(String dictType, String dictValue) {
+ return baseMapper.selectOne(new LambdaQueryWrapper<SysDictData>()
+ .select(SysDictData::getDictLabel)
+ .eq(SysDictData::getDictType, dictType)
+ .eq(SysDictData::getDictValue, dictValue))
+ .getDictLabel();
+ }
- /**
- * 鎵归噺鍒犻櫎瀛楀吀鏁版嵁淇℃伅
- *
- * @param dictCodes 闇�瑕佸垹闄ょ殑瀛楀吀鏁版嵁ID
- * @return 缁撴灉
- */
- @Override
- public void deleteDictDataByIds(Long[] dictCodes) {
- for (Long dictCode : dictCodes) {
- SysDictData data = selectDictDataById(dictCode);
- removeById(dictCode);
- List<SysDictData> dictDatas = baseMapper.selectDictDataByType(data.getDictType());
- DictUtils.setDictCache(data.getDictType(), dictDatas);
- }
- }
+ /**
+ * 鏍规嵁瀛楀吀鏁版嵁ID鏌ヨ淇℃伅
+ *
+ * @param dictCode 瀛楀吀鏁版嵁ID
+ * @return 瀛楀吀鏁版嵁
+ */
+ @Override
+ public SysDictData selectDictDataById(Long dictCode) {
+ return baseMapper.selectById(dictCode);
+ }
- /**
- * 鏂板淇濆瓨瀛楀吀鏁版嵁淇℃伅
- *
- * @param data 瀛楀吀鏁版嵁淇℃伅
- * @return 缁撴灉
- */
- @Override
- public int insertDictData(SysDictData data) {
- int row = baseMapper.insert(data);
- if (row > 0) {
- List<SysDictData> dictDatas = baseMapper.selectDictDataByType(data.getDictType());
- DictUtils.setDictCache(data.getDictType(), dictDatas);
- }
- return row;
- }
+ /**
+ * 鎵归噺鍒犻櫎瀛楀吀鏁版嵁淇℃伅
+ *
+ * @param dictCodes 闇�瑕佸垹闄ょ殑瀛楀吀鏁版嵁ID
+ */
+ @Override
+ public void deleteDictDataByIds(Long[] dictCodes) {
+ for (Long dictCode : dictCodes) {
+ SysDictData data = selectDictDataById(dictCode);
+ baseMapper.deleteById(dictCode);
+ List<SysDictData> dictDatas = baseMapper.selectDictDataByType(data.getDictType());
+ RedisUtils.setCacheObject(getCacheKey(data.getDictType()), dictDatas);
+ }
+ }
- /**
- * 淇敼淇濆瓨瀛楀吀鏁版嵁淇℃伅
- *
- * @param data 瀛楀吀鏁版嵁淇℃伅
- * @return 缁撴灉
- */
- @Override
- public int updateDictData(SysDictData data) {
- int row = baseMapper.updateById(data);
- if (row > 0) {
- List<SysDictData> dictDatas = baseMapper.selectDictDataByType(data.getDictType());
- DictUtils.setDictCache(data.getDictType(), dictDatas);
- }
- return row;
- }
+ /**
+ * 鏂板淇濆瓨瀛楀吀鏁版嵁淇℃伅
+ *
+ * @param data 瀛楀吀鏁版嵁淇℃伅
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertDictData(SysDictData data) {
+ int row = baseMapper.insert(data);
+ if (row > 0) {
+ List<SysDictData> dictDatas = baseMapper.selectDictDataByType(data.getDictType());
+ RedisUtils.setCacheObject(getCacheKey(data.getDictType()), dictDatas);
+ }
+ return row;
+ }
+
+ /**
+ * 淇敼淇濆瓨瀛楀吀鏁版嵁淇℃伅
+ *
+ * @param data 瀛楀吀鏁版嵁淇℃伅
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateDictData(SysDictData data) {
+ int row = baseMapper.updateById(data);
+ if (row > 0) {
+ List<SysDictData> dictDatas = baseMapper.selectDictDataByType(data.getDictType());
+ RedisUtils.setCacheObject(getCacheKey(data.getDictType()), dictDatas);
+ }
+ return row;
+ }
+
+ /**
+ * 璁剧疆cache key
+ *
+ * @param configKey 鍙傛暟閿�
+ * @return 缂撳瓨閿甼ey
+ */
+ String getCacheKey(String configKey) {
+ return Constants.SYS_DICT_KEY + configKey;
+ }
}
--
Gitblit v1.9.3