|
@@ -1,15 +1,13 @@
|
|
|
package org.eco.system.service.impl;
|
|
|
|
|
|
-import cn.dev33.satoken.context.SaHolder;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import org.eco.common.core.exception.BusinessException;
|
|
|
-import org.eco.system.domain.SysDictType;
|
|
|
-import org.eco.system.domain.bo.SysDictTypeBo;
|
|
|
-import org.eco.system.domain.vo.SysDictTypeVo;
|
|
|
-import org.eco.common.core.constant.CacheConstants;
|
|
|
+import com.mybatisflex.core.paginate.Page;
|
|
|
+import com.mybatisflex.core.query.QueryWrapper;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
import org.eco.common.core.constant.CacheNames;
|
|
|
import org.eco.common.core.constant.UserConstants;
|
|
|
import org.eco.common.core.core.page.PageResult;
|
|
|
+import org.eco.common.core.exception.BusinessException;
|
|
|
import org.eco.common.core.service.DictService;
|
|
|
import org.eco.common.core.utils.MapstructUtils;
|
|
|
import org.eco.common.core.utils.SpringUtils;
|
|
@@ -18,13 +16,13 @@ import org.eco.common.core.utils.StringUtils;
|
|
|
import org.eco.common.orm.core.page.PageQuery;
|
|
|
import org.eco.common.orm.core.service.impl.BaseServiceImpl;
|
|
|
import org.eco.common.redis.utils.CacheUtils;
|
|
|
+import org.eco.system.domain.SysDictType;
|
|
|
+import org.eco.system.domain.bo.SysDictTypeBo;
|
|
|
import org.eco.system.domain.vo.SysDictDataVo;
|
|
|
+import org.eco.system.domain.vo.SysDictTypeVo;
|
|
|
import org.eco.system.mapper.SysDictTypeMapper;
|
|
|
import org.eco.system.service.ISysDictDataService;
|
|
|
import org.eco.system.service.ISysDictTypeService;
|
|
|
-import com.mybatisflex.core.paginate.Page;
|
|
|
-import com.mybatisflex.core.query.QueryWrapper;
|
|
|
-import jakarta.annotation.Resource;
|
|
|
import org.springframework.cache.annotation.CachePut;
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -233,16 +231,16 @@ public class SysDictTypeServiceImpl extends BaseServiceImpl<SysDictTypeMapper, S
|
|
|
* @param separator 分隔符
|
|
|
* @return 字典标签
|
|
|
*/
|
|
|
- @SuppressWarnings("unchecked cast")
|
|
|
@Override
|
|
|
public String getDictLabel(String dictType, String dictValue, String separator) {
|
|
|
- // 优先从本地缓存获取
|
|
|
- List<SysDictDataVo> lists = (List<SysDictDataVo>) SaHolder.getStorage().get(CacheConstants.SYS_DICT_KEY + dictType);
|
|
|
+ return getDictResult(dictType, dictValue, separator);
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getDictResult(String dictType, String dictValue, String separator) {
|
|
|
+ List<SysDictDataVo> lists = SpringUtils.getAopProxy(this).selectDictDataByType(dictType);
|
|
|
if (ObjectUtil.isNull(lists)) {
|
|
|
- lists = SpringUtils.getAopProxy(this).selectDictDataByType(dictType);
|
|
|
- SaHolder.getStorage().set(CacheConstants.SYS_DICT_KEY + dictType, lists);
|
|
|
+ return StringUtils.EMPTY;
|
|
|
}
|
|
|
-
|
|
|
Map<String, String> map = StreamUtils.toMap(lists, SysDictDataVo::getDictValue, SysDictDataVo::getDictLabel);
|
|
|
if (StringUtils.containsAny(dictValue, separator)) {
|
|
|
return Arrays.stream(dictValue.split(separator))
|
|
@@ -261,24 +259,9 @@ public class SysDictTypeServiceImpl extends BaseServiceImpl<SysDictTypeMapper, S
|
|
|
* @param separator 分隔符
|
|
|
* @return 字典值
|
|
|
*/
|
|
|
- @SuppressWarnings("unchecked cast")
|
|
|
@Override
|
|
|
public String getDictValue(String dictType, String dictLabel, String separator) {
|
|
|
- // 优先从本地缓存获取
|
|
|
- List<SysDictDataVo> lists = (List<SysDictDataVo>) SaHolder.getStorage().get(CacheConstants.SYS_DICT_KEY + dictType);
|
|
|
- if (ObjectUtil.isNull(lists)) {
|
|
|
- lists = SpringUtils.getAopProxy(this).selectDictDataByType(dictType);
|
|
|
- SaHolder.getStorage().set(CacheConstants.SYS_DICT_KEY + dictType, lists);
|
|
|
- }
|
|
|
-
|
|
|
- Map<String, String> map = StreamUtils.toMap(lists, SysDictDataVo::getDictLabel, SysDictDataVo::getDictValue);
|
|
|
- if (StringUtils.containsAny(dictLabel, separator)) {
|
|
|
- return Arrays.stream(dictLabel.split(separator))
|
|
|
- .map(l -> map.getOrDefault(l, StringUtils.EMPTY))
|
|
|
- .collect(Collectors.joining(separator));
|
|
|
- } else {
|
|
|
- return map.getOrDefault(dictLabel, StringUtils.EMPTY);
|
|
|
- }
|
|
|
+ return getDictResult(dictType, dictLabel, separator);
|
|
|
}
|
|
|
|
|
|
@Override
|