| | |
| | | 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); |
| | | //清除缓存 |
| | |
| | | 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:数据集合 |