From 801cc584e53a91ec8ef5f509e28dd5883603e4b9 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 29 八月 2024 10:41:45 +0800
Subject: [PATCH] update 优化 代码生成表名判断 使用开头判断避免误判
---
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java | 38 ++++++++++++++------------------------
1 files changed, 14 insertions(+), 24 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java
index 60431ec..1be0b7f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java
@@ -1,13 +1,12 @@
package org.dromara.system.service.impl;
-import cn.dev33.satoken.context.SaHolder;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import org.dromara.common.core.constant.CacheConstants;
+import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.service.DictService;
@@ -26,7 +25,6 @@
import org.dromara.system.mapper.SysDictDataMapper;
import org.dromara.system.mapper.SysDictTypeMapper;
import org.dromara.system.service.ISysDictTypeService;
-import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@@ -74,9 +72,9 @@
LambdaQueryWrapper<SysDictType> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getDictName()), SysDictType::getDictName, bo.getDictName());
lqw.like(StringUtils.isNotBlank(bo.getDictType()), SysDictType::getDictType, bo.getDictType());
- lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysDictType::getStatus, bo.getStatus());
lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
SysDictType::getCreateTime, params.get("beginTime"), params.get("endTime"));
+ lqw.orderByAsc(SysDictType::getDictId);
return lqw;
}
@@ -123,10 +121,9 @@
* @param dictType 瀛楀吀绫诲瀷
* @return 瀛楀吀绫诲瀷
*/
- @Cacheable(cacheNames = CacheNames.SYS_DICT, key = "#dictType")
@Override
public SysDictTypeVo selectDictTypeByType(String dictType) {
- return baseMapper.selectVoById(new LambdaQueryWrapper<SysDictType>().eq(SysDictType::getDictType, dictType));
+ return baseMapper.selectVoOne(new LambdaQueryWrapper<SysDictType>().eq(SysDictType::getDictType, dictType));
}
/**
@@ -144,7 +141,7 @@
}
CacheUtils.evict(CacheNames.SYS_DICT, dictType.getDictType());
}
- baseMapper.deleteBatchIds(Arrays.asList(dictIds));
+ baseMapper.deleteByIds(Arrays.asList(dictIds));
}
/**
@@ -163,10 +160,11 @@
*/
@CachePut(cacheNames = CacheNames.SYS_DICT, key = "#bo.dictType")
@Override
- public List<SysDictTypeVo> insertDictType(SysDictTypeBo bo) {
+ public List<SysDictDataVo> insertDictType(SysDictTypeBo bo) {
SysDictType dict = MapstructUtils.convert(bo, SysDictType.class);
int row = baseMapper.insert(dict);
if (row > 0) {
+ // 鏂板 type 涓嬫棤 data 鏁版嵁 杩斿洖绌洪槻姝㈢紦瀛樼┛閫�
return new ArrayList<>();
}
throw new ServiceException("鎿嶄綔澶辫触");
@@ -217,16 +215,9 @@
* @param separator 鍒嗛殧绗�
* @return 瀛楀吀鏍囩
*/
- @SuppressWarnings("unchecked cast")
@Override
public String getDictLabel(String dictType, String dictValue, String separator) {
- // 浼樺厛浠庢湰鍦扮紦瀛樿幏鍙�
- List<SysDictDataVo> datas = (List<SysDictDataVo>) SaHolder.getStorage().get(CacheConstants.SYS_DICT_KEY + dictType);
- if (ObjectUtil.isNull(datas)) {
- datas = SpringUtils.getAopProxy(this).selectDictDataByType(dictType);
- SaHolder.getStorage().set(CacheConstants.SYS_DICT_KEY + dictType, datas);
- }
-
+ List<SysDictDataVo> datas = SpringUtils.getAopProxy(this).selectDictDataByType(dictType);
Map<String, String> map = StreamUtils.toMap(datas, SysDictDataVo::getDictValue, SysDictDataVo::getDictLabel);
if (StringUtils.containsAny(dictValue, separator)) {
return Arrays.stream(dictValue.split(separator))
@@ -245,16 +236,9 @@
* @param separator 鍒嗛殧绗�
* @return 瀛楀吀鍊�
*/
- @SuppressWarnings("unchecked cast")
@Override
public String getDictValue(String dictType, String dictLabel, String separator) {
- // 浼樺厛浠庢湰鍦扮紦瀛樿幏鍙�
- List<SysDictDataVo> datas = (List<SysDictDataVo>) SaHolder.getStorage().get(CacheConstants.SYS_DICT_KEY + dictType);
- if (ObjectUtil.isNull(datas)) {
- datas = SpringUtils.getAopProxy(this).selectDictDataByType(dictType);
- SaHolder.getStorage().set(CacheConstants.SYS_DICT_KEY + dictType, datas);
- }
-
+ List<SysDictDataVo> datas = SpringUtils.getAopProxy(this).selectDictDataByType(dictType);
Map<String, String> map = StreamUtils.toMap(datas, SysDictDataVo::getDictLabel, SysDictDataVo::getDictValue);
if (StringUtils.containsAny(dictLabel, separator)) {
return Arrays.stream(dictLabel.split(separator))
@@ -265,4 +249,10 @@
}
}
+ @Override
+ public Map<String, String> getAllDictByDictType(String dictType) {
+ List<SysDictDataVo> list = selectDictDataByType(dictType);
+ return StreamUtils.toMap(list, SysDictDataVo::getDictValue, SysDictDataVo::getDictLabel);
+ }
+
}
--
Gitblit v1.9.3