Commit ec00936532de83ac10166fca760022744eff10de

Authored by YunaiV
1 parent f6bb3386

1. 完成字典数据的迁移

ruoyi-ui/src/api/system/dict/data.js
@@ -3,7 +3,7 @@ import request from '@/utils/request' @@ -3,7 +3,7 @@ import request from '@/utils/request'
3 // 查询字典数据列表 3 // 查询字典数据列表
4 export function listData(query) { 4 export function listData(query) {
5 return request({ 5 return request({
6 - url: '/system/dict/data/list', 6 + url: '/system/dict-data/page',
7 method: 'get', 7 method: 'get',
8 params: query 8 params: query
9 }) 9 })
@@ -12,7 +12,7 @@ export function listData(query) { @@ -12,7 +12,7 @@ export function listData(query) {
12 // 查询字典数据详细 12 // 查询字典数据详细
13 export function getData(dictCode) { 13 export function getData(dictCode) {
14 return request({ 14 return request({
15 - url: '/system/dict/data/' + dictCode, 15 + url: '/system/dict-data/get?id=' + dictCode,
16 method: 'get' 16 method: 'get'
17 }) 17 })
18 } 18 }
@@ -20,7 +20,7 @@ export function getData(dictCode) { @@ -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/type/' + dictType, 23 + url: '/system/dict-data/type/' + dictType,
24 method: 'get' 24 method: 'get'
25 }) 25 })
26 } 26 }
@@ -28,7 +28,7 @@ export function getDicts(dictType) { @@ -28,7 +28,7 @@ export function getDicts(dictType) {
28 // 新增字典数据 28 // 新增字典数据
29 export function addData(data) { 29 export function addData(data) {
30 return request({ 30 return request({
31 - url: '/system/dict/data', 31 + url: '/system/dict-data/create',
32 method: 'post', 32 method: 'post',
33 data: data 33 data: data
34 }) 34 })
@@ -37,8 +37,8 @@ export function addData(data) { @@ -37,8 +37,8 @@ export function addData(data) {
37 // 修改字典数据 37 // 修改字典数据
38 export function updateData(data) { 38 export function updateData(data) {
39 return request({ 39 return request({
40 - url: '/system/dict/data',  
41 - method: 'put', 40 + url: '/system/dict-data/update',
  41 + method: 'post',
42 data: data 42 data: data
43 }) 43 })
44 } 44 }
@@ -46,8 +46,8 @@ export function updateData(data) { @@ -46,8 +46,8 @@ export function updateData(data) {
46 // 删除字典数据 46 // 删除字典数据
47 export function delData(dictCode) { 47 export function delData(dictCode) {
48 return request({ 48 return request({
49 - url: '/system/dict/data/' + dictCode,  
50 - method: 'delete' 49 + url: '/system/dict-data/delete?id=' + dictCode,
  50 + method: 'post'
51 }) 51 })
52 } 52 }
53 53
ruoyi-ui/src/api/system/dict/type.js
@@ -53,9 +53,9 @@ export function exportType(query) { @@ -53,9 +53,9 @@ export function exportType(query) {
53 } 53 }
54 54
55 // 获取字典选择框列表 55 // 获取字典选择框列表
56 -export function optionselect() { 56 +export function listAllSimple() {
57 return request({ 57 return request({
58 - url: '/system/dict-type/optionselect', 58 + url: '/system/dict-type/list-all-simple',
59 method: 'get' 59 method: 'get'
60 }) 60 })
61 } 61 }
ruoyi-ui/src/views/system/dict/data.vue
@@ -5,15 +5,15 @@ @@ -5,15 +5,15 @@
5 <el-select v-model="queryParams.dictType" size="small"> 5 <el-select v-model="queryParams.dictType" size="small">
6 <el-option 6 <el-option
7 v-for="item in typeOptions" 7 v-for="item in typeOptions"
8 - :key="item.dictId"  
9 - :label="item.dictName"  
10 - :value="item.dictType" 8 + :key="item.id"
  9 + :label="item.name"
  10 + :value="item.type"
11 /> 11 />
12 </el-select> 12 </el-select>
13 </el-form-item> 13 </el-form-item>
14 - <el-form-item label="字典标签" prop="dictLabel"> 14 + <el-form-item label="字典标签" prop="label">
15 <el-input 15 <el-input
16 - v-model="queryParams.dictLabel" 16 + v-model="queryParams.label"
17 placeholder="请输入字典标签" 17 placeholder="请输入字典标签"
18 clearable 18 clearable
19 size="small" 19 size="small"
@@ -24,9 +24,9 @@ @@ -24,9 +24,9 @@
24 <el-select v-model="queryParams.status" placeholder="数据状态" clearable size="small"> 24 <el-select v-model="queryParams.status" placeholder="数据状态" clearable size="small">
25 <el-option 25 <el-option
26 v-for="dict in statusOptions" 26 v-for="dict in statusOptions"
27 - :key="dict.dictValue"  
28 - :label="dict.dictLabel"  
29 - :value="dict.dictValue" 27 + :key="dict.value"
  28 + :label="dict.label"
  29 + :value="dict.value"
30 /> 30 />
31 </el-select> 31 </el-select>
32 </el-form-item> 32 </el-form-item>
@@ -48,26 +48,6 @@ @@ -48,26 +48,6 @@
48 </el-col> 48 </el-col>
49 <el-col :span="1.5"> 49 <el-col :span="1.5">
50 <el-button 50 <el-button
51 - type="success"  
52 - icon="el-icon-edit"  
53 - size="mini"  
54 - :disabled="single"  
55 - @click="handleUpdate"  
56 - v-hasPermi="['system:dict:edit']"  
57 - >修改</el-button>  
58 - </el-col>  
59 - <el-col :span="1.5">  
60 - <el-button  
61 - type="danger"  
62 - icon="el-icon-delete"  
63 - size="mini"  
64 - :disabled="multiple"  
65 - @click="handleDelete"  
66 - v-hasPermi="['system:dict:remove']"  
67 - >删除</el-button>  
68 - </el-col>  
69 - <el-col :span="1.5">  
70 - <el-button  
71 type="warning" 51 type="warning"
72 icon="el-icon-download" 52 icon="el-icon-download"
73 size="mini" 53 size="mini"
@@ -78,12 +58,11 @@ @@ -78,12 +58,11 @@
78 <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> 58 <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
79 </el-row> 59 </el-row>
80 60
81 - <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">  
82 - <el-table-column type="selection" width="55" align="center" />  
83 - <el-table-column label="字典编码" align="center" prop="dictCode" />  
84 - <el-table-column label="字典标签" align="center" prop="dictLabel" />  
85 - <el-table-column label="字典键值" align="center" prop="dictValue" />  
86 - <el-table-column label="字典排序" align="center" prop="dictSort" /> 61 + <el-table v-loading="loading" :data="dataList" >
  62 + <el-table-column label="字典编码" align="center" prop="id" />
  63 + <el-table-column label="字典标签" align="center" prop="label" />
  64 + <el-table-column label="字典键值" align="center" prop="value" />
  65 + <el-table-column label="字典排序" align="center" prop="sort" />
87 <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> 66 <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
88 <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> 67 <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
89 <el-table-column label="创建时间" align="center" prop="createTime" width="180"> 68 <el-table-column label="创建时间" align="center" prop="createTime" width="180">
@@ -114,7 +93,7 @@ @@ -114,7 +93,7 @@
114 <pagination 93 <pagination
115 v-show="total>0" 94 v-show="total>0"
116 :total="total" 95 :total="total"
117 - :page.sync="queryParams.pageNum" 96 + :page.sync="queryParams.pageNo"
118 :limit.sync="queryParams.pageSize" 97 :limit.sync="queryParams.pageSize"
119 @pagination="getList" 98 @pagination="getList"
120 /> 99 />
@@ -125,22 +104,22 @@ @@ -125,22 +104,22 @@
125 <el-form-item label="字典类型"> 104 <el-form-item label="字典类型">
126 <el-input v-model="form.dictType" :disabled="true" /> 105 <el-input v-model="form.dictType" :disabled="true" />
127 </el-form-item> 106 </el-form-item>
128 - <el-form-item label="数据标签" prop="dictLabel">  
129 - <el-input v-model="form.dictLabel" placeholder="请输入数据标签" /> 107 + <el-form-item label="数据标签" prop="label">
  108 + <el-input v-model="form.label" placeholder="请输入数据标签" />
130 </el-form-item> 109 </el-form-item>
131 - <el-form-item label="数据键值" prop="dictValue">  
132 - <el-input v-model="form.dictValue" placeholder="请输入数据键值" /> 110 + <el-form-item label="数据键值" prop="value">
  111 + <el-input v-model="form.value" placeholder="请输入数据键值" />
133 </el-form-item> 112 </el-form-item>
134 - <el-form-item label="显示排序" prop="dictSort">  
135 - <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> 113 + <el-form-item label="显示排序" prop="sort">
  114 + <el-input-number v-model="form.sort" controls-position="right" :min="0" />
136 </el-form-item> 115 </el-form-item>
137 <el-form-item label="状态" prop="status"> 116 <el-form-item label="状态" prop="status">
138 <el-radio-group v-model="form.status"> 117 <el-radio-group v-model="form.status">
139 <el-radio 118 <el-radio
140 - v-for="dict in statusOptions"  
141 - :key="dict.dictValue"  
142 - :label="dict.dictValue"  
143 - >{{dict.dictLabel}}</el-radio> 119 + v-for="dict in statusDictDatas"
  120 + :key="parseInt(dict.value)"
  121 + :label="parseInt(dict.value)"
  122 + >{{dict.label}}</el-radio>
144 </el-radio-group> 123 </el-radio-group>
145 </el-form-item> 124 </el-form-item>
146 <el-form-item label="备注" prop="remark"> 125 <el-form-item label="备注" prop="remark">
@@ -157,7 +136,10 @@ @@ -157,7 +136,10 @@
157 136
158 <script> 137 <script>
159 import { listData, getData, delData, addData, updateData, exportData } from "@/api/system/dict/data"; 138 import { listData, getData, delData, addData, updateData, exportData } from "@/api/system/dict/data";
160 -import { listType, getType } from "@/api/system/dict/type"; 139 +import { listAllSimple, getType } from "@/api/system/dict/type";
  140 +
  141 +import { SysCommonStatusEnum } from '@/utils/constants'
  142 +import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict'
161 143
162 export default { 144 export default {
163 name: "Data", 145 name: "Data",
@@ -165,12 +147,6 @@ export default { @@ -165,12 +147,6 @@ export default {
165 return { 147 return {
166 // 遮罩层 148 // 遮罩层
167 loading: true, 149 loading: true,
168 - // 选中数组  
169 - ids: [],  
170 - // 非单个禁用  
171 - single: true,  
172 - // 非多个禁用  
173 - multiple: true,  
174 // 显示搜索条件 150 // 显示搜索条件
175 showSearch: true, 151 showSearch: true,
176 // 总条数 152 // 总条数
@@ -189,7 +165,7 @@ export default { @@ -189,7 +165,7 @@ export default {
189 typeOptions: [], 165 typeOptions: [],
190 // 查询参数 166 // 查询参数
191 queryParams: { 167 queryParams: {
192 - pageNum: 1, 168 + pageNo: 1,
193 pageSize: 10, 169 pageSize: 10,
194 dictName: undefined, 170 dictName: undefined,
195 dictType: undefined, 171 dictType: undefined,
@@ -199,53 +175,55 @@ export default { @@ -199,53 +175,55 @@ export default {
199 form: {}, 175 form: {},
200 // 表单校验 176 // 表单校验
201 rules: { 177 rules: {
202 - dictLabel: [ 178 + label: [
203 { required: true, message: "数据标签不能为空", trigger: "blur" } 179 { required: true, message: "数据标签不能为空", trigger: "blur" }
204 ], 180 ],
205 - dictValue: [ 181 + value: [
206 { required: true, message: "数据键值不能为空", trigger: "blur" } 182 { required: true, message: "数据键值不能为空", trigger: "blur" }
207 ], 183 ],
208 - dictSort: [ 184 + sort: [
209 { required: true, message: "数据顺序不能为空", trigger: "blur" } 185 { required: true, message: "数据顺序不能为空", trigger: "blur" }
210 ] 186 ]
211 - } 187 + },
  188 +
  189 + // 枚举
  190 + CommonStatusEnum: SysCommonStatusEnum,
  191 + // 数据字典
  192 + statusDictDatas: getDictDatas(DICT_TYPE.SYS_COMMON_STATUS)
212 }; 193 };
213 }, 194 },
214 created() { 195 created() {
215 const dictId = this.$route.params && this.$route.params.dictId; 196 const dictId = this.$route.params && this.$route.params.dictId;
216 this.getType(dictId); 197 this.getType(dictId);
217 this.getTypeList(); 198 this.getTypeList();
218 - this.getDicts("sys_normal_disable").then(response => {  
219 - this.statusOptions = response.data;  
220 - });  
221 }, 199 },
222 methods: { 200 methods: {
223 /** 查询字典类型详细 */ 201 /** 查询字典类型详细 */
224 getType(dictId) { 202 getType(dictId) {
225 getType(dictId).then(response => { 203 getType(dictId).then(response => {
226 - this.queryParams.dictType = response.data.dictType;  
227 - this.defaultDictType = response.data.dictType; 204 + this.queryParams.dictType = response.data.type;
  205 + this.defaultDictType = response.data.type;
228 this.getList(); 206 this.getList();
229 }); 207 });
230 }, 208 },
231 /** 查询字典类型列表 */ 209 /** 查询字典类型列表 */
232 getTypeList() { 210 getTypeList() {
233 - listType().then(response => {  
234 - this.typeOptions = response.rows; 211 + listAllSimple().then(response => {
  212 + this.typeOptions = response.data;
235 }); 213 });
236 }, 214 },
237 /** 查询字典数据列表 */ 215 /** 查询字典数据列表 */
238 getList() { 216 getList() {
239 this.loading = true; 217 this.loading = true;
240 listData(this.queryParams).then(response => { 218 listData(this.queryParams).then(response => {
241 - this.dataList = response.rows;  
242 - this.total = response.total; 219 + this.dataList = response.data.list;
  220 + this.total = response.data.total;
243 this.loading = false; 221 this.loading = false;
244 }); 222 });
245 }, 223 },
246 // 数据状态字典翻译 224 // 数据状态字典翻译
247 statusFormat(row, column) { 225 statusFormat(row, column) {
248 - return this.selectDictLabel(this.statusOptions, row.status); 226 + return getDictDataLabel(DICT_TYPE.SYS_COMMON_STATUS, row.status)
249 }, 227 },
250 // 取消按钮 228 // 取消按钮
251 cancel() { 229 cancel() {
@@ -255,18 +233,18 @@ export default { @@ -255,18 +233,18 @@ export default {
255 // 表单重置 233 // 表单重置
256 reset() { 234 reset() {
257 this.form = { 235 this.form = {
258 - dictCode: undefined,  
259 - dictLabel: undefined,  
260 - dictValue: undefined,  
261 - dictSort: 0,  
262 - status: "0", 236 + id: undefined,
  237 + label: undefined,
  238 + value: undefined,
  239 + sort: 0,
  240 + status: SysCommonStatusEnum.ENABLE,
263 remark: undefined 241 remark: undefined
264 }; 242 };
265 this.resetForm("form"); 243 this.resetForm("form");
266 }, 244 },
267 /** 搜索按钮操作 */ 245 /** 搜索按钮操作 */
268 handleQuery() { 246 handleQuery() {
269 - this.queryParams.pageNum = 1; 247 + this.queryParams.pageNo = 1;
270 this.getList(); 248 this.getList();
271 }, 249 },
272 /** 重置按钮操作 */ 250 /** 重置按钮操作 */
@@ -282,17 +260,11 @@ export default { @@ -282,17 +260,11 @@ export default {
282 this.title = "添加字典数据"; 260 this.title = "添加字典数据";
283 this.form.dictType = this.queryParams.dictType; 261 this.form.dictType = this.queryParams.dictType;
284 }, 262 },
285 - // 多选框选中数据  
286 - handleSelectionChange(selection) {  
287 - this.ids = selection.map(item => item.dictCode)  
288 - this.single = selection.length!=1  
289 - this.multiple = !selection.length  
290 - },  
291 /** 修改按钮操作 */ 263 /** 修改按钮操作 */
292 handleUpdate(row) { 264 handleUpdate(row) {
293 this.reset(); 265 this.reset();
294 - const dictCode = row.dictCode || this.ids  
295 - getData(dictCode).then(response => { 266 + const id = row.id || this.ids
  267 + getData(id).then(response => {
296 this.form = response.data; 268 this.form = response.data;
297 this.open = true; 269 this.open = true;
298 this.title = "修改字典数据"; 270 this.title = "修改字典数据";
@@ -302,7 +274,7 @@ export default { @@ -302,7 +274,7 @@ export default {
302 submitForm: function() { 274 submitForm: function() {
303 this.$refs["form"].validate(valid => { 275 this.$refs["form"].validate(valid => {
304 if (valid) { 276 if (valid) {
305 - if (this.form.dictCode != undefined) { 277 + if (this.form.id !== undefined) {
306 updateData(this.form).then(response => { 278 updateData(this.form).then(response => {
307 this.msgSuccess("修改成功"); 279 this.msgSuccess("修改成功");
308 this.open = false; 280 this.open = false;
@@ -320,13 +292,13 @@ export default { @@ -320,13 +292,13 @@ export default {
320 }, 292 },
321 /** 删除按钮操作 */ 293 /** 删除按钮操作 */
322 handleDelete(row) { 294 handleDelete(row) {
323 - const dictCodes = row.dictCode || this.ids;  
324 - this.$confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?', "警告", { 295 + const ids = row.id;
  296 + this.$confirm('是否确认删除字典编码为"' + ids + '"的数据项?', "警告", {
325 confirmButtonText: "确定", 297 confirmButtonText: "确定",
326 cancelButtonText: "取消", 298 cancelButtonText: "取消",
327 type: "warning" 299 type: "warning"
328 }).then(function() { 300 }).then(function() {
329 - return delData(dictCodes); 301 + return delData(ids);
330 }).then(() => { 302 }).then(() => {
331 this.getList(); 303 this.getList();
332 this.msgSuccess("删除成功"); 304 this.msgSuccess("删除成功");
@@ -347,4 +319,4 @@ export default { @@ -347,4 +319,4 @@ export default {
347 } 319 }
348 } 320 }
349 }; 321 };
350 -</script>  
351 \ No newline at end of file 322 \ No newline at end of file
  323 +</script>
ruoyi-ui/src/views/system/dict/index.vue
@@ -314,12 +314,6 @@ export default { @@ -314,12 +314,6 @@ export default {
314 }).then(response => { 314 }).then(response => {
315 this.download(response.msg); 315 this.download(response.msg);
316 }) 316 })
317 - },  
318 - /** 清理缓存按钮操作 */  
319 - handleClearCache() {  
320 - clearCache().then(response => {  
321 - this.msgSuccess("清理成功");  
322 - });  
323 } 317 }
324 } 318 }
325 }; 319 };
src/main/java/cn/iocoder/dashboard/modules/system/controller/dict/SysDictTypeController.java
@@ -2,11 +2,9 @@ package cn.iocoder.dashboard.modules.system.controller.dict; @@ -2,11 +2,9 @@ package cn.iocoder.dashboard.modules.system.controller.dict;
2 2
3 import cn.iocoder.dashboard.common.pojo.CommonResult; 3 import cn.iocoder.dashboard.common.pojo.CommonResult;
4 import cn.iocoder.dashboard.common.pojo.PageResult; 4 import cn.iocoder.dashboard.common.pojo.PageResult;
5 -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeCreateReqVO;  
6 -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePageReqVO;  
7 -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeRespVO;  
8 -import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO; 5 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.*;
9 import cn.iocoder.dashboard.modules.system.convert.dict.SysDictTypeConvert; 6 import cn.iocoder.dashboard.modules.system.convert.dict.SysDictTypeConvert;
  7 +import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
10 import cn.iocoder.dashboard.modules.system.service.dict.SysDictTypeService; 8 import cn.iocoder.dashboard.modules.system.service.dict.SysDictTypeService;
11 import io.swagger.annotations.Api; 9 import io.swagger.annotations.Api;
12 import io.swagger.annotations.ApiImplicitParam; 10 import io.swagger.annotations.ApiImplicitParam;
@@ -15,6 +13,7 @@ import org.springframework.validation.annotation.Validated; @@ -15,6 +13,7 @@ import org.springframework.validation.annotation.Validated;
15 import org.springframework.web.bind.annotation.*; 13 import org.springframework.web.bind.annotation.*;
16 14
17 import javax.annotation.Resource; 15 import javax.annotation.Resource;
  16 +import java.util.List;
18 17
19 import static cn.iocoder.dashboard.common.pojo.CommonResult.success; 18 import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
20 19
@@ -69,14 +68,13 @@ public class SysDictTypeController { @@ -69,14 +68,13 @@ public class SysDictTypeController {
69 } 68 }
70 69
71 70
72 -// /**  
73 -// * 获取字典选择框列表  
74 -// */  
75 -// @GetMapping("/optionselect")  
76 -// public AjaxResult optionselect() {  
77 -// List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();  
78 -// return AjaxResult.success(dictTypes);  
79 -// } 71 + @GetMapping("/list-all-simple")
  72 + @ApiOperation(value = "获得全部字典类型列表", notes = "包括开启 + 禁用的字典类型,主要用于前端的下拉选项")
  73 + // 无需添加权限认证,因为前端全局都需要
  74 + public CommonResult<List<SysDictTypeSimpleRespVO>> listSimpleDictTypes() {
  75 + List<SysDictTypeDO> list = dictTypeService.listDictTypes();
  76 + return success(SysDictTypeConvert.INSTANCE.convertList(list));
  77 + }
80 78
81 // 79 //
82 // @Log(title = "字典类型", businessType = BusinessType.EXPORT) 80 // @Log(title = "字典类型", businessType = BusinessType.EXPORT)
src/main/java/cn/iocoder/dashboard/modules/system/controller/dict/vo/type/SysDictTypeSimpleRespVO.java
@@ -13,9 +13,12 @@ import lombok.NoArgsConstructor; @@ -13,9 +13,12 @@ import lombok.NoArgsConstructor;
13 public class SysDictTypeSimpleRespVO { 13 public class SysDictTypeSimpleRespVO {
14 14
15 @ApiModelProperty(value = "字典类型编号", required = true, example = "1024") 15 @ApiModelProperty(value = "字典类型编号", required = true, example = "1024")
16 - private Integer id; 16 + private Long id;
17 17
18 @ApiModelProperty(value = "字典类型名称", required = true, example = "芋道") 18 @ApiModelProperty(value = "字典类型名称", required = true, example = "芋道")
19 private String name; 19 private String name;
20 20
  21 + @ApiModelProperty(value = "字典类型", required = true, example = "sys_common_sex")
  22 + private String type;
  23 +
21 } 24 }
src/main/java/cn/iocoder/dashboard/modules/system/convert/dict/SysDictTypeConvert.java
@@ -3,6 +3,7 @@ package cn.iocoder.dashboard.modules.system.convert.dict; @@ -3,6 +3,7 @@ package cn.iocoder.dashboard.modules.system.convert.dict;
3 import cn.iocoder.dashboard.common.pojo.PageResult; 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeCreateReqVO; 4 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeCreateReqVO;
5 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeRespVO; 5 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeRespVO;
  6 +import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeSimpleRespVO;
6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO; 7 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO;
7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO; 8 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
8 import com.baomidou.mybatisplus.core.metadata.IPage; 9 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -10,6 +11,8 @@ import org.mapstruct.Mapper; @@ -10,6 +11,8 @@ import org.mapstruct.Mapper;
10 import org.mapstruct.Mapping; 11 import org.mapstruct.Mapping;
11 import org.mapstruct.factory.Mappers; 12 import org.mapstruct.factory.Mappers;
12 13
  14 +import java.util.List;
  15 +
13 @Mapper 16 @Mapper
14 public interface SysDictTypeConvert { 17 public interface SysDictTypeConvert {
15 18
@@ -26,4 +29,6 @@ public interface SysDictTypeConvert { @@ -26,4 +29,6 @@ public interface SysDictTypeConvert {
26 29
27 SysDictTypeDO convert(SysDictTypeUpdateReqVO bean); 30 SysDictTypeDO convert(SysDictTypeUpdateReqVO bean);
28 31
  32 + List<SysDictTypeSimpleRespVO> convertList(List<SysDictTypeDO> list);
  33 +
29 } 34 }
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dao/dict/SysDictTypeMapper.java
@@ -4,10 +4,13 @@ import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX; @@ -4,10 +4,13 @@ import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
4 import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils; 4 import cn.iocoder.dashboard.framework.mybatis.core.util.MyBatisUtils;
5 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePageReqVO; 5 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePageReqVO;
6 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO; 6 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
  7 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7 import com.baomidou.mybatisplus.core.mapper.BaseMapper; 8 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
8 import com.baomidou.mybatisplus.core.metadata.IPage; 9 import com.baomidou.mybatisplus.core.metadata.IPage;
9 import org.apache.ibatis.annotations.Mapper; 10 import org.apache.ibatis.annotations.Mapper;
10 11
  12 +import java.util.List;
  13 +
11 @Mapper 14 @Mapper
12 public interface SysDictTypeMapper extends BaseMapper<SysDictTypeDO> { 15 public interface SysDictTypeMapper extends BaseMapper<SysDictTypeDO> {
13 16
@@ -27,4 +30,8 @@ public interface SysDictTypeMapper extends BaseMapper&lt;SysDictTypeDO&gt; { @@ -27,4 +30,8 @@ public interface SysDictTypeMapper extends BaseMapper&lt;SysDictTypeDO&gt; {
27 return selectOne(new QueryWrapperX<SysDictTypeDO>().eq("name", name)); 30 return selectOne(new QueryWrapperX<SysDictTypeDO>().eq("name", name));
28 } 31 }
29 32
  33 + default List<SysDictTypeDO> selectList() {
  34 + return selectList(new QueryWrapper<>());
  35 + }
  36 +
30 } 37 }
src/main/java/cn/iocoder/dashboard/modules/system/service/dict/SysDictTypeService.java
@@ -6,6 +6,8 @@ import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePa @@ -6,6 +6,8 @@ import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypePa
6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO; 6 import cn.iocoder.dashboard.modules.system.controller.dict.vo.type.SysDictTypeUpdateReqVO;
7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO; 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
8 8
  9 +import java.util.List;
  10 +
9 /** 11 /**
10 * 字典类型 Service 接口 12 * 字典类型 Service 接口
11 * 13 *
@@ -59,4 +61,11 @@ public interface SysDictTypeService { @@ -59,4 +61,11 @@ public interface SysDictTypeService {
59 */ 61 */
60 void deleteDictType(Long id); 62 void deleteDictType(Long id);
61 63
  64 + /**
  65 + * 获得全部字典类型列表
  66 + *
  67 + * @return 字典类型列表
  68 + */
  69 + List<SysDictTypeDO> listDictTypes();
  70 +
62 } 71 }
src/main/java/cn/iocoder/dashboard/modules/system/service/dict/impl/SysDictTypeServiceImpl.java
@@ -15,6 +15,8 @@ import org.springframework.transaction.annotation.Transactional; @@ -15,6 +15,8 @@ import org.springframework.transaction.annotation.Transactional;
15 15
16 import javax.annotation.Resource; 16 import javax.annotation.Resource;
17 17
  18 +import java.util.List;
  19 +
18 import static cn.iocoder.dashboard.modules.system.enums.SysErrorCodeConstants.*; 20 import static cn.iocoder.dashboard.modules.system.enums.SysErrorCodeConstants.*;
19 21
20 /** 22 /**
@@ -74,6 +76,11 @@ public class SysDictTypeServiceImpl implements SysDictTypeService { @@ -74,6 +76,11 @@ public class SysDictTypeServiceImpl implements SysDictTypeService {
74 // TODO 发送 MQ 消息 76 // TODO 发送 MQ 消息
75 } 77 }
76 78
  79 + @Override
  80 + public List<SysDictTypeDO> listDictTypes() {
  81 + return dictTypeMapper.selectList();
  82 + }
  83 +
77 @Transactional 84 @Transactional
78 public void deleteDictType0(Long id) { 85 public void deleteDictType0(Long id) {
79 // 校验是否存在 86 // 校验是否存在