From a2d1160205170808553f5cee41c47cddebecf20c Mon Sep 17 00:00:00 2001
From: Live <1005297262@qq.com>
Date: 星期二, 09 六月 2020 11:38:16 +0800
Subject: [PATCH] add ruoyi-ui/public/robots.txt. 项目添加robots.txt 防止后台管理系统被搜索引擎收录
---
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 78 insertions(+), 7 deletions(-)
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java
index de784de..4f6f4c5 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java
@@ -1,11 +1,15 @@
package com.ruoyi.project.system.service.impl;
import java.util.List;
+import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.exception.CustomException;
+import com.ruoyi.common.utils.DictUtils;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.system.domain.SysDictData;
import com.ruoyi.project.system.domain.SysDictType;
import com.ruoyi.project.system.mapper.SysDictDataMapper;
import com.ruoyi.project.system.mapper.SysDictTypeMapper;
@@ -24,6 +28,20 @@
@Autowired
private SysDictDataMapper dictDataMapper;
+
+ /**
+ * 项目启动时,初始化字典到缓存
+ */
+ @PostConstruct
+ public void init()
+ {
+ List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll();
+ for (SysDictType dictType : dictTypeList)
+ {
+ List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
+ DictUtils.setDictCache(dictType.getDictType(), dictDatas);
+ }
+ }
/**
* 根据条件分页查询字典类型
@@ -46,6 +64,29 @@
public List<SysDictType> selectDictTypeAll()
{
return dictTypeMapper.selectDictTypeAll();
+ }
+
+ /**
+ * 根据字典类型查询字典数据
+ *
+ * @param dictType 字典类型
+ * @return 字典数据集合信息
+ */
+ @Override
+ public List<SysDictData> selectDictDataByType(String dictType)
+ {
+ List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
+ if (StringUtils.isNotNull(dictDatas))
+ {
+ return dictDatas;
+ }
+ dictDatas = dictDataMapper.selectDictDataByType(dictType);
+ if (StringUtils.isNotNull(dictDatas))
+ {
+ DictUtils.setDictCache(dictType, dictDatas);
+ return dictDatas;
+ }
+ return null;
}
/**
@@ -72,15 +113,35 @@
}
/**
- * 通过字典ID删除字典信息
+ * 批量删除字典类型信息
*
- * @param dictId 字典ID
+ * @param dictIds 需要删除的字典ID
* @return 结果
*/
- @Override
- public int deleteDictTypeById(Long dictId)
+ public int deleteDictTypeByIds(Long[] dictIds)
{
- return dictTypeMapper.deleteDictTypeById(dictId);
+ for (Long dictId : dictIds)
+ {
+ SysDictType dictType = selectDictTypeById(dictId);
+ if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0)
+ {
+ throw new CustomException(String.format("%1$s已分配,不能删除", dictType.getDictName()));
+ }
+ }
+ int count = dictTypeMapper.deleteDictTypeByIds(dictIds);
+ if (count > 0)
+ {
+ DictUtils.clearDictCache();
+ }
+ return count;
+ }
+
+ /**
+ * 清空缓存数据
+ */
+ public void clearCache()
+ {
+ DictUtils.clearDictCache();
}
/**
@@ -92,7 +153,12 @@
@Override
public int insertDictType(SysDictType dictType)
{
- return dictTypeMapper.insertDictType(dictType);
+ int row = dictTypeMapper.insertDictType(dictType);
+ if (row > 0)
+ {
+ DictUtils.clearDictCache();
+ }
+ return row;
}
/**
@@ -107,7 +173,12 @@
{
SysDictType oldDict = dictTypeMapper.selectDictTypeById(dictType.getDictId());
dictDataMapper.updateDictDataType(oldDict.getDictType(), dictType.getDictType());
- return dictTypeMapper.updateDictType(dictType);
+ int row = dictTypeMapper.updateDictType(dictType);
+ if (row > 0)
+ {
+ DictUtils.clearDictCache();
+ }
+ return row;
}
/**
--
Gitblit v1.9.2