Просмотр исходного кода

字典管理添加缓存读取

RuoYi лет назад: 5
Родитель
Сommit
b0af4a1c04

+ 5 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java

@@ -87,6 +87,11 @@ public class Constants
87
     public static final String SYS_CONFIG_KEY = "sys_config:";
87
     public static final String SYS_CONFIG_KEY = "sys_config:";
88
 
88
 
89
     /**
89
     /**
90
+     * 字典管理 cache key
91
+     */
92
+    public static final String SYS_DICT_KEY = "sys_dict:";
93
+
94
+    /**
90
      * 资源映射路径 前缀
95
      * 资源映射路径 前缀
91
      */
96
      */
92
     public static final String RESOURCE_PREFIX = "/profile";
97
     public static final String RESOURCE_PREFIX = "/profile";

+ 6 - 2
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictDataController.java

@@ -23,6 +23,7 @@ import com.ruoyi.common.log.enums.BusinessType;
23
 import com.ruoyi.common.security.utils.SecurityUtils;
23
 import com.ruoyi.common.security.utils.SecurityUtils;
24
 import com.ruoyi.system.domain.SysDictData;
24
 import com.ruoyi.system.domain.SysDictData;
25
 import com.ruoyi.system.service.ISysDictDataService;
25
 import com.ruoyi.system.service.ISysDictDataService;
26
+import com.ruoyi.system.service.ISysDictTypeService;
26
 
27
 
27
 /**
28
 /**
28
  * 数据字典信息
29
  * 数据字典信息
@@ -35,6 +36,9 @@ public class SysDictDataController extends BaseController
35
 {
36
 {
36
     @Autowired
37
     @Autowired
37
     private ISysDictDataService dictDataService;
38
     private ISysDictDataService dictDataService;
39
+    
40
+    @Autowired
41
+    private ISysDictTypeService dictTypeService;
38
 
42
 
39
     @PreAuthorize("@ss.hasPermi('system:dict:list')")
43
     @PreAuthorize("@ss.hasPermi('system:dict:list')")
40
     @GetMapping("/list")
44
     @GetMapping("/list")
@@ -68,10 +72,10 @@ public class SysDictDataController extends BaseController
68
     /**
72
     /**
69
      * 根据字典类型查询字典数据信息
73
      * 根据字典类型查询字典数据信息
70
      */
74
      */
71
-    @GetMapping(value = "/dictType/{dictType}")
75
+    @GetMapping(value = "/type/{dictType}")
72
     public AjaxResult dictType(@PathVariable String dictType)
76
     public AjaxResult dictType(@PathVariable String dictType)
73
     {
77
     {
74
-        return AjaxResult.success(dictDataService.selectDictDataByType(dictType));
78
+        return AjaxResult.success(dictTypeService.selectDictDataByType(dictType));
75
     }
79
     }
76
 
80
 
77
     /**
81
     /**

+ 12 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java

@@ -110,6 +110,18 @@ public class SysDictTypeController extends BaseController
110
     }
110
     }
111
 
111
 
112
     /**
112
     /**
113
+     * 清空缓存
114
+     */
115
+    @PreAuthorize("@ss.hasPermi('system:dict:remove')")
116
+    @Log(title = "字典类型", businessType = BusinessType.CLEAN)
117
+    @DeleteMapping("/clearCache")
118
+    public AjaxResult clearCache()
119
+    {
120
+        dictTypeService.clearCache();
121
+        return AjaxResult.success();
122
+    }
123
+
124
+    /**
113
      * 获取字典选择框列表
125
      * 获取字典选择框列表
114
      */
126
      */
115
     @GetMapping("/optionselect")
127
     @GetMapping("/optionselect")

+ 0 - 17
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java

@@ -1,7 +1,6 @@
1
 package com.ruoyi.system.service;
1
 package com.ruoyi.system.service;
2
 
2
 
3
 import java.util.List;
3
 import java.util.List;
4
-
5
 import com.ruoyi.system.domain.SysDictData;
4
 import com.ruoyi.system.domain.SysDictData;
6
 
5
 
7
 /**
6
 /**
@@ -20,14 +19,6 @@ public interface ISysDictDataService
20
     public List<SysDictData> selectDictDataList(SysDictData dictData);
19
     public List<SysDictData> selectDictDataList(SysDictData dictData);
21
 
20
 
22
     /**
21
     /**
23
-     * 根据字典类型查询字典数据
24
-     * 
25
-     * @param dictType 字典类型
26
-     * @return 字典数据集合信息
27
-     */
28
-    public List<SysDictData> selectDictDataByType(String dictType);
29
-
30
-    /**
31
      * 根据字典类型和字典键值查询字典数据信息
22
      * 根据字典类型和字典键值查询字典数据信息
32
      * 
23
      * 
33
      * @param dictType 字典类型
24
      * @param dictType 字典类型
@@ -45,14 +36,6 @@ public interface ISysDictDataService
45
     public SysDictData selectDictDataById(Long dictCode);
36
     public SysDictData selectDictDataById(Long dictCode);
46
 
37
 
47
     /**
38
     /**
48
-     * 通过字典ID删除字典数据信息
49
-     * 
50
-     * @param dictCode 字典数据ID
51
-     * @return 结果
52
-     */
53
-    public int deleteDictDataById(Long dictCode);
54
-
55
-    /**
56
      * 批量删除字典数据信息
39
      * 批量删除字典数据信息
57
      * 
40
      * 
58
      * @param dictCodes 需要删除的字典数据ID
41
      * @param dictCodes 需要删除的字典数据ID

+ 14 - 9
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java

@@ -1,7 +1,7 @@
1
 package com.ruoyi.system.service;
1
 package com.ruoyi.system.service;
2
 
2
 
3
 import java.util.List;
3
 import java.util.List;
4
-
4
+import com.ruoyi.system.domain.SysDictData;
5
 import com.ruoyi.system.domain.SysDictType;
5
 import com.ruoyi.system.domain.SysDictType;
6
 
6
 
7
 /**
7
 /**
@@ -27,6 +27,14 @@ public interface ISysDictTypeService
27
     public List<SysDictType> selectDictTypeAll();
27
     public List<SysDictType> selectDictTypeAll();
28
 
28
 
29
     /**
29
     /**
30
+     * 根据字典类型查询字典数据
31
+     * 
32
+     * @param dictType 字典类型
33
+     * @return 字典数据集合信息
34
+     */
35
+    public List<SysDictData> selectDictDataByType(String dictType);
36
+
37
+    /**
30
      * 根据字典类型ID查询信息
38
      * 根据字典类型ID查询信息
31
      * 
39
      * 
32
      * @param dictId 字典类型ID
40
      * @param dictId 字典类型ID
@@ -43,14 +51,6 @@ public interface ISysDictTypeService
43
     public SysDictType selectDictTypeByType(String dictType);
51
     public SysDictType selectDictTypeByType(String dictType);
44
 
52
 
45
     /**
53
     /**
46
-     * 通过字典ID删除字典信息
47
-     * 
48
-     * @param dictId 字典ID
49
-     * @return 结果
50
-     */
51
-    public int deleteDictTypeById(Long dictId);
52
-
53
-    /**
54
      * 批量删除字典信息
54
      * 批量删除字典信息
55
      * 
55
      * 
56
      * @param dictIds 需要删除的字典ID
56
      * @param dictIds 需要删除的字典ID
@@ -59,6 +59,11 @@ public interface ISysDictTypeService
59
     public int deleteDictTypeByIds(Long[] dictIds);
59
     public int deleteDictTypeByIds(Long[] dictIds);
60
 
60
 
61
     /**
61
     /**
62
+     * 清空缓存数据
63
+     */
64
+    public void clearCache();
65
+
66
+    /**
62
      * 新增保存字典类型信息
67
      * 新增保存字典类型信息
63
      * 
68
      * 
64
      * @param dictType 字典类型信息
69
      * @param dictType 字典类型信息

+ 19 - 29
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java

@@ -1,13 +1,12 @@
1
 package com.ruoyi.system.service.impl;
1
 package com.ruoyi.system.service.impl;
2
 
2
 
3
 import java.util.List;
3
 import java.util.List;
4
-
5
 import org.springframework.beans.factory.annotation.Autowired;
4
 import org.springframework.beans.factory.annotation.Autowired;
6
 import org.springframework.stereotype.Service;
5
 import org.springframework.stereotype.Service;
7
-
8
 import com.ruoyi.system.domain.SysDictData;
6
 import com.ruoyi.system.domain.SysDictData;
9
 import com.ruoyi.system.mapper.SysDictDataMapper;
7
 import com.ruoyi.system.mapper.SysDictDataMapper;
10
 import com.ruoyi.system.service.ISysDictDataService;
8
 import com.ruoyi.system.service.ISysDictDataService;
9
+import com.ruoyi.system.utils.DictUtils;
11
 
10
 
12
 /**
11
 /**
13
  * 字典 业务层处理
12
  * 字典 业务层处理
@@ -33,18 +32,6 @@ public class SysDictDataServiceImpl implements ISysDictDataService
33
     }
32
     }
34
 
33
 
35
     /**
34
     /**
36
-     * 根据字典类型查询字典数据
37
-     * 
38
-     * @param dictType 字典类型
39
-     * @return 字典数据集合信息
40
-     */
41
-    @Override
42
-    public List<SysDictData> selectDictDataByType(String dictType)
43
-    {
44
-        return dictDataMapper.selectDictDataByType(dictType);
45
-    }
46
-
47
-    /**
48
      * 根据字典类型和字典键值查询字典数据信息
35
      * 根据字典类型和字典键值查询字典数据信息
49
      * 
36
      * 
50
      * @param dictType 字典类型
37
      * @param dictType 字典类型
@@ -70,18 +57,6 @@ public class SysDictDataServiceImpl implements ISysDictDataService
70
     }
57
     }
71
 
58
 
72
     /**
59
     /**
73
-     * 通过字典ID删除字典数据信息
74
-     * 
75
-     * @param dictCode 字典数据ID
76
-     * @return 结果
77
-     */
78
-    @Override
79
-    public int deleteDictDataById(Long dictCode)
80
-    {
81
-        return dictDataMapper.deleteDictDataById(dictCode);
82
-    }
83
-
84
-    /**
85
      * 批量删除字典数据信息
60
      * 批量删除字典数据信息
86
      * 
61
      * 
87
      * @param dictCodes 需要删除的字典数据ID
62
      * @param dictCodes 需要删除的字典数据ID
@@ -89,7 +64,12 @@ public class SysDictDataServiceImpl implements ISysDictDataService
89
      */
64
      */
90
     public int deleteDictDataByIds(Long[] dictCodes)
65
     public int deleteDictDataByIds(Long[] dictCodes)
91
     {
66
     {
92
-        return dictDataMapper.deleteDictDataByIds(dictCodes);
67
+        int row = dictDataMapper.deleteDictDataByIds(dictCodes);
68
+        if (row > 0)
69
+        {
70
+            DictUtils.clearDictCache();
71
+        }
72
+        return row;
93
     }
73
     }
94
 
74
 
95
     /**
75
     /**
@@ -101,7 +81,12 @@ public class SysDictDataServiceImpl implements ISysDictDataService
101
     @Override
81
     @Override
102
     public int insertDictData(SysDictData dictData)
82
     public int insertDictData(SysDictData dictData)
103
     {
83
     {
104
-        return dictDataMapper.insertDictData(dictData);
84
+        int row = dictDataMapper.insertDictData(dictData);
85
+        if (row > 0)
86
+        {
87
+            DictUtils.clearDictCache();
88
+        }
89
+        return row;
105
     }
90
     }
106
 
91
 
107
     /**
92
     /**
@@ -113,6 +98,11 @@ public class SysDictDataServiceImpl implements ISysDictDataService
113
     @Override
98
     @Override
114
     public int updateDictData(SysDictData dictData)
99
     public int updateDictData(SysDictData dictData)
115
     {
100
     {
116
-        return dictDataMapper.updateDictData(dictData);
101
+        int row = dictDataMapper.updateDictData(dictData);
102
+        if (row > 0)
103
+        {
104
+            DictUtils.clearDictCache();
105
+        }
106
+        return row;
117
     }
107
     }
118
 }
108
 }

+ 73 - 15
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java

@@ -1,17 +1,19 @@
1
 package com.ruoyi.system.service.impl;
1
 package com.ruoyi.system.service.impl;
2
 
2
 
3
 import java.util.List;
3
 import java.util.List;
4
-
4
+import javax.annotation.PostConstruct;
5
 import org.springframework.beans.factory.annotation.Autowired;
5
 import org.springframework.beans.factory.annotation.Autowired;
6
 import org.springframework.stereotype.Service;
6
 import org.springframework.stereotype.Service;
7
 import org.springframework.transaction.annotation.Transactional;
7
 import org.springframework.transaction.annotation.Transactional;
8
-
9
 import com.ruoyi.common.core.constant.UserConstants;
8
 import com.ruoyi.common.core.constant.UserConstants;
9
+import com.ruoyi.common.core.exception.CustomException;
10
 import com.ruoyi.common.core.utils.StringUtils;
10
 import com.ruoyi.common.core.utils.StringUtils;
11
+import com.ruoyi.system.domain.SysDictData;
11
 import com.ruoyi.system.domain.SysDictType;
12
 import com.ruoyi.system.domain.SysDictType;
12
 import com.ruoyi.system.mapper.SysDictDataMapper;
13
 import com.ruoyi.system.mapper.SysDictDataMapper;
13
 import com.ruoyi.system.mapper.SysDictTypeMapper;
14
 import com.ruoyi.system.mapper.SysDictTypeMapper;
14
 import com.ruoyi.system.service.ISysDictTypeService;
15
 import com.ruoyi.system.service.ISysDictTypeService;
16
+import com.ruoyi.system.utils.DictUtils;
15
 
17
 
16
 /**
18
 /**
17
  * 字典 业务层处理
19
  * 字典 业务层处理
@@ -28,6 +30,20 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
28
     private SysDictDataMapper dictDataMapper;
30
     private SysDictDataMapper dictDataMapper;
29
 
31
 
30
     /**
32
     /**
33
+     * 项目启动时,初始化字典到缓存
34
+     */
35
+    @PostConstruct
36
+    public void init()
37
+    {
38
+        List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll();
39
+        for (SysDictType dictType : dictTypeList)
40
+        {
41
+            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
42
+            DictUtils.setDictCache(dictType.getDictType(), dictDatas);
43
+        }
44
+    }
45
+
46
+    /**
31
      * 根据条件分页查询字典类型
47
      * 根据条件分页查询字典类型
32
      * 
48
      * 
33
      * @param dictType 字典类型信息
49
      * @param dictType 字典类型信息
@@ -51,6 +67,29 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
51
     }
67
     }
52
 
68
 
53
     /**
69
     /**
70
+     * 根据字典类型查询字典数据
71
+     * 
72
+     * @param dictType 字典类型
73
+     * @return 字典数据集合信息
74
+     */
75
+    @Override
76
+    public List<SysDictData> selectDictDataByType(String dictType)
77
+    {
78
+        List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
79
+        if (StringUtils.isNotNull(dictDatas))
80
+        {
81
+            return dictDatas;
82
+        }
83
+        dictDatas = dictDataMapper.selectDictDataByType(dictType);
84
+        if (StringUtils.isNotNull(dictDatas))
85
+        {
86
+            DictUtils.setDictCache(dictType, dictDatas);
87
+            return dictDatas;
88
+        }
89
+        return null;
90
+    }
91
+
92
+    /**
54
      * 根据字典类型ID查询信息
93
      * 根据字典类型ID查询信息
55
      * 
94
      * 
56
      * @param dictId 字典类型ID
95
      * @param dictId 字典类型ID
@@ -74,26 +113,35 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
74
     }
113
     }
75
 
114
 
76
     /**
115
     /**
77
-     * 通过字典ID删除字典信息
116
+     * 批量删除字典类型信息
78
      * 
117
      * 
79
-     * @param dictId 字典ID
118
+     * @param dictIds 需要删除的字典ID
80
      * @return 结果
119
      * @return 结果
81
      */
120
      */
82
-    @Override
83
-    public int deleteDictTypeById(Long dictId)
121
+    public int deleteDictTypeByIds(Long[] dictIds)
84
     {
122
     {
85
-        return dictTypeMapper.deleteDictTypeById(dictId);
123
+        for (Long dictId : dictIds)
124
+        {
125
+            SysDictType dictType = selectDictTypeById(dictId);
126
+            if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0)
127
+            {
128
+                throw new CustomException(String.format("%1$s已分配,不能删除", dictType.getDictName()));
129
+            }
130
+        }
131
+        int count = dictTypeMapper.deleteDictTypeByIds(dictIds);
132
+        if (count > 0)
133
+        {
134
+            DictUtils.clearDictCache();
135
+        }
136
+        return count;
86
     }
137
     }
87
 
138
 
88
     /**
139
     /**
89
-     * 批量删除字典类型信息
90
-     * 
91
-     * @param dictIds 需要删除的字典ID
92
-     * @return 结果
140
+     * 清空缓存数据
93
      */
141
      */
94
-    public int deleteDictTypeByIds(Long[] dictIds)
142
+    public void clearCache()
95
     {
143
     {
96
-        return dictTypeMapper.deleteDictTypeByIds(dictIds);
144
+        DictUtils.clearDictCache();
97
     }
145
     }
98
 
146
 
99
     /**
147
     /**
@@ -105,7 +153,12 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
105
     @Override
153
     @Override
106
     public int insertDictType(SysDictType dictType)
154
     public int insertDictType(SysDictType dictType)
107
     {
155
     {
108
-        return dictTypeMapper.insertDictType(dictType);
156
+        int row = dictTypeMapper.insertDictType(dictType);
157
+        if (row > 0)
158
+        {
159
+            DictUtils.clearDictCache();
160
+        }
161
+        return row;
109
     }
162
     }
110
 
163
 
111
     /**
164
     /**
@@ -120,7 +173,12 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
120
     {
173
     {
121
         SysDictType oldDict = dictTypeMapper.selectDictTypeById(dictType.getDictId());
174
         SysDictType oldDict = dictTypeMapper.selectDictTypeById(dictType.getDictId());
122
         dictDataMapper.updateDictDataType(oldDict.getDictType(), dictType.getDictType());
175
         dictDataMapper.updateDictDataType(oldDict.getDictType(), dictType.getDictType());
123
-        return dictTypeMapper.updateDictType(dictType);
176
+        int row = dictTypeMapper.updateDictType(dictType);
177
+        if (row > 0)
178
+        {
179
+            DictUtils.clearDictCache();
180
+        }
181
+        return row;
124
     }
182
     }
125
 
183
 
126
     /**
184
     /**

+ 65 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/utils/DictUtils.java

@@ -0,0 +1,65 @@
1
+package com.ruoyi.system.utils;
2
+
3
+import java.util.Collection;
4
+import java.util.List;
5
+import com.ruoyi.common.core.constant.Constants;
6
+import com.ruoyi.common.core.utils.SpringUtils;
7
+import com.ruoyi.common.core.utils.StringUtils;
8
+import com.ruoyi.common.redis.service.RedisService;
9
+import com.ruoyi.system.domain.SysDictData;
10
+
11
+/**
12
+ * 字典工具类
13
+ * 
14
+ * @author ruoyi
15
+ */
16
+public class DictUtils
17
+{
18
+    /**
19
+     * 设置字典缓存
20
+     * 
21
+     * @param key 参数键
22
+     * @param dictDatas 字典数据列表
23
+     */
24
+    public static void setDictCache(String key, List<SysDictData> dictDatas)
25
+    {
26
+        SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas);
27
+    }
28
+
29
+    /**
30
+     * 获取字典缓存
31
+     * 
32
+     * @param key 参数键
33
+     * @return dictDatas 字典数据列表
34
+     */
35
+    public static List<SysDictData> getDictCache(String key)
36
+    {
37
+        Object cacheObj = SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(key));
38
+        if (StringUtils.isNotNull(cacheObj))
39
+        {
40
+            List<SysDictData> DictDatas = StringUtils.cast(cacheObj);
41
+            return DictDatas;
42
+        }
43
+        return null;
44
+    }
45
+
46
+    /**
47
+     * 清空字典缓存
48
+     */
49
+    public static void clearDictCache()
50
+    {
51
+        Collection<String> keys = SpringUtils.getBean(RedisService.class).keys(Constants.SYS_DICT_KEY + "*");
52
+        SpringUtils.getBean(RedisService.class).deleteObject(keys);
53
+    }
54
+
55
+    /**
56
+     * 设置cache key
57
+     * 
58
+     * @param configKey 参数键
59
+     * @return 缓存键key
60
+     */
61
+    public static String getCacheKey(String configKey)
62
+    {
63
+        return Constants.SYS_DICT_KEY + configKey;
64
+    }
65
+}

+ 1 - 1
ruoyi-ui/src/api/system/dict/data.js

@@ -20,7 +20,7 @@ export function getData(dictCode) {
20
 // 根据字典类型查询字典数据信息
20
 // 根据字典类型查询字典数据信息
21
 export function getDicts(dictType) {
21
 export function getDicts(dictType) {
22
   return request({
22
   return request({
23
-    url: '/system/dict/data/dictType/' + dictType,
23
+    url: '/system/dict/data/type/' + dictType,
24
     method: 'get'
24
     method: 'get'
25
   })
25
   })
26
 }
26
 }

+ 8 - 0
ruoyi-ui/src/api/system/dict/type.js

@@ -43,6 +43,14 @@ export function delType(dictId) {
43
   })
43
   })
44
 }
44
 }
45
 
45
 
46
+// 清理参数缓存
47
+export function clearCache() {
48
+  return request({
49
+    url: '/system/dict/type/clearCache',
50
+    method: 'delete'
51
+  })
52
+}
53
+
46
 // 获取字典选择框列表
54
 // 获取字典选择框列表
47
 export function optionselect() {
55
 export function optionselect() {
48
   return request({
56
   return request({

+ 0 - 1
ruoyi-ui/src/views/system/config/index.vue

@@ -341,7 +341,6 @@ export default {
341
     },
341
     },
342
     /** 清理缓存按钮操作 */
342
     /** 清理缓存按钮操作 */
343
     handleClearCache() {
343
     handleClearCache() {
344
-      const queryParams = this.queryParams;
345
       clearCache().then(response => {
344
       clearCache().then(response => {
346
         if (response.code === 200) {
345
         if (response.code === 200) {
347
           this.msgSuccess("清理成功");
346
           this.msgSuccess("清理成功");

+ 20 - 1
ruoyi-ui/src/views/system/dict/index.vue

@@ -94,6 +94,15 @@
94
           v-hasPermi="['system:dict:export']"
94
           v-hasPermi="['system:dict:export']"
95
         >导出</el-button>
95
         >导出</el-button>
96
       </el-col>
96
       </el-col>
97
+      <el-col :span="1.5">
98
+        <el-button
99
+          type="danger"
100
+          icon="el-icon-refresh"
101
+          size="mini"
102
+          @click="handleClearCache"
103
+          v-hasPermi="['system:dict:remove']"
104
+        >清理缓存</el-button>
105
+      </el-col>
97
     </el-row>
106
     </el-row>
98
 
107
 
99
     <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
108
     <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
@@ -173,7 +182,7 @@
173
 </template>
182
 </template>
174
 
183
 
175
 <script>
184
 <script>
176
-import { listType, getType, delType, addType, updateType } from "@/api/system/dict/type";
185
+import { listType, getType, delType, addType, updateType, clearCache } from "@/api/system/dict/type";
177
 
186
 
178
 export default {
187
 export default {
179
   name: "Dict",
188
   name: "Dict",
@@ -333,6 +342,16 @@ export default {
333
       this.download('system/dict/type/export', {
342
       this.download('system/dict/type/export', {
334
         ...this.queryParams
343
         ...this.queryParams
335
       }, `type_${new Date().getTime()}.xlsx`)
344
       }, `type_${new Date().getTime()}.xlsx`)
345
+    },
346
+    /** 清理缓存按钮操作 */
347
+    handleClearCache() {
348
+      clearCache().then(response => {
349
+        if (response.code === 200) {
350
+          this.msgSuccess("清理成功");
351
+        } else {
352
+          this.msgError(response.msg);
353
+        }
354
+      });
336
     }
355
     }
337
   }
356
   }
338
 };
357
 };