From 229180e22383be04a4caaf28e6bfb527cf129c1d Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Mon, 24 May 2021 17:11:32 +0800
Subject: [PATCH] screen-manage                       更新字典模块,编辑操作不允许重复key插入

---
 screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
index cfca955..5c0cf16 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
@@ -75,11 +75,25 @@
         SysDictDataDTO dto = new SysDictDataDTO();
         //������
         SysDictData sysDictData = form.formConvertEntity();
-        //������������������������
+        //���������������������������
         QueryWrapper<SysDictData> existWrapper = new QueryWrapper<>();
         existWrapper.eq("is_delete", Constants.NOT_DELETE);
         existWrapper.eq("id", sysDictData.getId());
         SysDictData existData = sysDictDataMapper.selectOne(existWrapper);
+        //������key������������������������������������������������
+        if(!ObjectUtils.isEmpty(sysDictData.getDataKey())){
+            String key = sysDictData.getDataKey();
+            QueryWrapper<SysDictData> wrapper = new QueryWrapper<>();
+            wrapper.eq("is_delete", Constants.NOT_DELETE);
+            wrapper.eq("dataKey", key);
+            wrapper.eq("dict_type_id", existData.getDictTypeId());
+            SysDictData existKeyData = sysDictDataMapper.selectOne(wrapper);
+            if (!ObjectUtils.isEmpty(existKeyData)) {
+                dto.setCode(ResponseCodeEnum.DICTDATA_KEY_EXIST.getCode());
+                dto.setMsg(ResponseCodeEnum.DICTDATA_KEY_EXIST.getMsg());
+                return dto;
+            }
+        }
         //������������
         sysDictDataMapper.updateById(sysDictData);
         //������������
@@ -167,6 +181,17 @@
         return datas;
     }
 
+    @Override
+    public Map<String, SysDictData> getDictDatasByType(String type) {
+        Map<String, List<SysDictData>> allDictData = getAllDictData();
+        List<SysDictData> sysDictDatas = allDictData.get(type);
+        Map<String,SysDictData> result = new HashMap<>();
+        for (SysDictData sysDictData : sysDictDatas) {
+            result.put(sysDictData.getDataKey(),sysDictData);
+        }
+        return result;
+    }
+
 
     /**
      * @Description: ������������������������������������������������������������Map  Key��������������� value���������������

--
Gitblit v1.8.0