From a45180e16db685064fb91fcc5ee51cf404d73b0b Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Wed, 16 Oct 2024 15:03:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E5=80=BC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysDictDataController.java | 6 ++--- .../service/impl/SysDictDataServiceImpl.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDictDataController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDictDataController.java index 5fac135..573d9ce 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDictDataController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDictDataController.java @@ -117,9 +117,8 @@ public class SysDictDataController extends BaseController return toAjax(dictDataService.insertDictData(dict)); }catch (Exception e){ log.error(e.toString(),e); + return error("系统错误, " + e.getMessage()); } - return error("系统错误"); - } /** @@ -134,9 +133,8 @@ public class SysDictDataController extends BaseController return toAjax(dictDataService.updateDictData(dict)); }catch (Exception e){ log.error(e.toString(),e); + return error("系统错误, " + e.getMessage()); } - return error("系统错误"); - } /** diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDictDataServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDictDataServiceImpl.java index b764514..369dc90 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDictDataServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDictDataServiceImpl.java @@ -1,6 +1,8 @@ package com.bonus.system.service.impl; import java.util.List; + +import com.bonus.common.core.exception.ServiceException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.common.security.utils.DictUtils; @@ -82,6 +84,9 @@ public class SysDictDataServiceImpl implements ISysDictDataService @Override public int insertDictData(SysDictData data) { + if (checkIfDictValueOrLabelAreRepeat(data)) { + throw new ServiceException("发现重复字典标签或字典键值"); + } int row = dictDataMapper.insertDictData(data); if (row > 0) { @@ -100,6 +105,9 @@ public class SysDictDataServiceImpl implements ISysDictDataService @Override public int updateDictData(SysDictData data) { + if (checkIfDictValueOrLabelAreRepeat(data)) { + throw new ServiceException("发现重复字典标签或字典键值"); + } int row = dictDataMapper.updateDictData(data); if (row > 0) { @@ -108,4 +116,21 @@ public class SysDictDataServiceImpl implements ISysDictDataService } return row; } + + /** + * 检查同一个字典类型里是否有相同的字典键值和字典标签 + * + * @param data 字典数据信息 + * @return 结果 + */ + boolean checkIfDictValueOrLabelAreRepeat(SysDictData data) { + boolean result = false; + List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); + for (SysDictData dictData : dictDatas) { + if (dictData.getDictLabel().equals(data.getDictLabel()) || dictData.getDictValue().equals(data.getDictValue())) { + result = true; + } + } + return result; + } }