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 | 84 ++++++++++++++++++++++++++++-------------
1 files changed, 57 insertions(+), 27 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 aa5aebc..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,24 +1,41 @@
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.utils.DictUtils;
+import com.ruoyi.common.core.page.TableDataInfo;
+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.Arrays;
import java.util.List;
/**
* 瀛楀吀 涓氬姟灞傚鐞�
*
- * @author ruoyi
+ * @author Lion Li
*/
+@RequiredArgsConstructor
@Service
-public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements ISysDictDataService {
+public class SysDictDataServiceImpl implements ISysDictDataService {
+
+ private final SysDictDataMapper baseMapper;
+
+ @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);
+ }
/**
* 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀鏁版嵁
@@ -28,10 +45,11 @@
*/
@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));
+ 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));
}
/**
@@ -43,11 +61,11 @@
*/
@Override
public String selectDictLabel(String dictType, String dictValue) {
- return getOne(new LambdaQueryWrapper<SysDictData>()
+ return baseMapper.selectOne(new LambdaQueryWrapper<SysDictData>()
.select(SysDictData::getDictLabel)
.eq(SysDictData::getDictType, dictType)
.eq(SysDictData::getDictValue, dictValue))
- .getDictLabel();
+ .getDictLabel();
}
/**
@@ -58,35 +76,36 @@
*/
@Override
public SysDictData selectDictDataById(Long dictCode) {
- return getById(dictCode);
+ return baseMapper.selectById(dictCode);
}
/**
* 鎵归噺鍒犻櫎瀛楀吀鏁版嵁淇℃伅
*
* @param dictCodes 闇�瑕佸垹闄ょ殑瀛楀吀鏁版嵁ID
- * @return 缁撴灉
*/
@Override
- public int deleteDictDataByIds(Long[] dictCodes) {
- int row = baseMapper.deleteBatchIds(Arrays.asList(dictCodes));
- if (row > 0) {
- DictUtils.clearDictCache();
+ 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);
}
- return row;
}
/**
* 鏂板淇濆瓨瀛楀吀鏁版嵁淇℃伅
*
- * @param dictData 瀛楀吀鏁版嵁淇℃伅
+ * @param data 瀛楀吀鏁版嵁淇℃伅
* @return 缁撴灉
*/
@Override
- public int insertDictData(SysDictData dictData) {
- int row = baseMapper.insert(dictData);
+ public int insertDictData(SysDictData data) {
+ int row = baseMapper.insert(data);
if (row > 0) {
- DictUtils.clearDictCache();
+ List<SysDictData> dictDatas = baseMapper.selectDictDataByType(data.getDictType());
+ RedisUtils.setCacheObject(getCacheKey(data.getDictType()), dictDatas);
}
return row;
}
@@ -94,15 +113,26 @@
/**
* 淇敼淇濆瓨瀛楀吀鏁版嵁淇℃伅
*
- * @param dictData 瀛楀吀鏁版嵁淇℃伅
+ * @param data 瀛楀吀鏁版嵁淇℃伅
* @return 缁撴灉
*/
@Override
- public int updateDictData(SysDictData dictData) {
- int row = baseMapper.updateById(dictData);
+ public int updateDictData(SysDictData data) {
+ int row = baseMapper.updateById(data);
if (row > 0) {
- DictUtils.clearDictCache();
+ 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