kaiyu
2021-05-24 229180e22383be04a4caaf28e6bfb527cf129c1d
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:数据集合