From cffcc9e372dc20b0868a2ed9d7e0b9a84e3f59aa Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Fri, 25 Oct 2024 13:15:46 +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 --- .../system/service/impl/SysDeptServiceImpl.java | 4 ++-- .../system/service/impl/SysDictDataServiceImpl.java | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java index a6e6997..8a10be7 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java @@ -85,8 +85,8 @@ public class SysDeptServiceImpl implements ISysDeptService public List selectDeptUserTreeList(SysDept dept) { if (dept != null && dept.getDeptId() != null && dept.getDeptId() == 0L) { - List userList = userMapper.getTree(dept); - return buildDeptTreeSelect(userList); + List deptList = userMapper.getTree(dept); + return buildDeptTreeSelect(deptList); } List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); for (SysDept sysDept : depts) { 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 de8b034..ee1337c 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 java.util.Objects; +import java.util.stream.Collectors; import com.bonus.common.core.exception.ServiceException; import org.springframework.beans.factory.annotation.Autowired; @@ -106,6 +108,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) { @@ -124,8 +129,12 @@ public class SysDictDataServiceImpl implements ISysDictDataService boolean checkIfDictValueOrLabelAreRepeat(SysDictData data) { boolean result = false; List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - if (!CollectionUtils.isEmpty(dictDatas)) { - for (SysDictData dictData : dictDatas) { + List filteredItems = dictDatas.stream().collect(Collectors.toList()); + if (Objects.nonNull(data.getDictCode())) { + filteredItems = dictDatas.stream().filter(item -> !data.getDictCode().equals(item.getDictCode())).collect(Collectors.toList()); + } + if (!CollectionUtils.isEmpty(filteredItems)) { + for (SysDictData dictData : filteredItems) { if (dictData.getDictLabel().equals(data.getDictLabel()) || dictData.getDictValue().equals(data.getDictValue())) { result = true; }