From 681ee2816cce98cc5520f980d2e01c587409545c Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 20 二月 2025 11:07:51 +0800 Subject: [PATCH] 字典改为树结构 --- system/src/main/resources/mapper/system/SysDictDataMapper.xml | 6 +++++- start/src/main/java/com/ycl/web/controller/system/SysDictDataController.java | 14 ++++++++++++++ common/src/main/java/com/ycl/common/core/domain/entity/SysDictData.java | 14 ++++++++++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/ycl/common/core/domain/entity/SysDictData.java b/common/src/main/java/com/ycl/common/core/domain/entity/SysDictData.java index 2273964..b3c4045 100644 --- a/common/src/main/java/com/ycl/common/core/domain/entity/SysDictData.java +++ b/common/src/main/java/com/ycl/common/core/domain/entity/SysDictData.java @@ -11,7 +11,7 @@ /** * 瀛楀吀鏁版嵁琛� sys_dict_data - * + * * @author ycl */ public class SysDictData extends BaseEntity @@ -25,6 +25,8 @@ /** 瀛楀吀鎺掑簭 */ @Excel(name = "瀛楀吀鎺掑簭", cellType = ColumnType.NUMERIC) private Long dictSort; + + private Long parentId; /** 瀛楀吀鏍囩 */ @Excel(name = "瀛楀吀鏍囩") @@ -153,7 +155,15 @@ { this.status = status; } - + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/start/src/main/java/com/ycl/web/controller/system/SysDictDataController.java b/start/src/main/java/com/ycl/web/controller/system/SysDictDataController.java index aa2ba0c..97bf97d 100644 --- a/start/src/main/java/com/ycl/web/controller/system/SysDictDataController.java +++ b/start/src/main/java/com/ycl/web/controller/system/SysDictDataController.java @@ -97,6 +97,9 @@ @Log(title = "瀛楀吀鏁版嵁", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@Validated @RequestBody SysDictData dict) { + if (dict.getDictCode().equals(dict.getParentId())) { + return error("淇敼瀛楀吀'" + dict.getDictLabel() + "'澶辫触锛屼笂绾у瓧鍏镐笉鑳介�夋嫨鑷繁"); + } dict.setUpdateBy(getUsername()); return toAjax(dictDataService.updateDictData(dict)); } @@ -111,4 +114,15 @@ dictDataService.deleteDictDataByIds(dictCodes); return success(); } + + + /** + * 鑾峰彇瀛楀吀鍒楄〃锛堜笉鍒嗛〉锛� + */ + @PreAuthorize("@ss.hasPermi('system:dict:list')") + @GetMapping("/dataList") + public AjaxResult dataList(SysDictData dictData) { + List<SysDictData> list = dictDataService.selectDictDataList(dictData); + return success(list); + } } diff --git a/system/src/main/resources/mapper/system/SysDictDataMapper.xml b/system/src/main/resources/mapper/system/SysDictDataMapper.xml index 1bd884a..8cdd912 100644 --- a/system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -18,10 +18,11 @@ <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> + <result property="parentId" column="parent_id" /> </resultMap> <sql id="selectDictDataVo"> - select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark + select dict_code, dict_sort,parent_id, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark from sys_dict_data </sql> @@ -75,6 +76,7 @@ update sys_dict_data <set> <if test="dictSort != null">dict_sort = #{dictSort},</if> + <if test="parentId != null">parent_id = #{parentId},</if> <if test="dictLabel != null and dictLabel != ''">dict_label = #{dictLabel},</if> <if test="dictValue != null and dictValue != ''">dict_value = #{dictValue},</if> <if test="dictType != null and dictType != ''">dict_type = #{dictType},</if> @@ -96,6 +98,7 @@ <insert id="insertDictData" parameterType="SysDictData"> insert into sys_dict_data( <if test="dictSort != null">dict_sort,</if> + <if test="parentId != null">parent_id,</if> <if test="dictLabel != null and dictLabel != ''">dict_label,</if> <if test="dictValue != null and dictValue != ''">dict_value,</if> <if test="dictType != null and dictType != ''">dict_type,</if> @@ -108,6 +111,7 @@ create_time )values( <if test="dictSort != null">#{dictSort},</if> + <if test="parentId != null">#{parentId},</if> <if test="dictLabel != null and dictLabel != ''">#{dictLabel},</if> <if test="dictValue != null and dictValue != ''">#{dictValue},</if> <if test="dictType != null and dictType != ''">#{dictType},</if> -- Gitblit v1.8.0