From 0cc015e6f30437b0dbecb8134367ba3c3f8d04d4 Mon Sep 17 00:00:00 2001 From: LSF <695944503@qq.com> Date: Thu, 7 Mar 2024 14:20:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E5=80=BC=E9=87=8D=E5=A4=8D=E5=BC=95=E5=8F=91=E7=9A=84Trans?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=A4=B1=E6=95=88=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysDictDataServiceImpl.java | 20 ++++++++++++++++++- .../service/impl/SysDictTypeServiceImpl.java | 8 ++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysDictDataServiceImpl.java b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysDictDataServiceImpl.java index 638651e..e076394 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysDictDataServiceImpl.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysDictDataServiceImpl.java @@ -3,14 +3,16 @@ package net.maku.system.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; +import net.maku.framework.common.exception.ServerException; import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.system.convert.SysDictDataConvert; import net.maku.system.dao.SysDictDataDao; import net.maku.system.entity.SysDictDataEntity; -import net.maku.system.service.SysDictDataService; import net.maku.system.query.SysDictDataQuery; +import net.maku.system.service.SysDictDataService; import net.maku.system.vo.SysDictDataVO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -45,6 +47,13 @@ public class SysDictDataServiceImpl extends BaseServiceImpllambdaQuery() + .eq(SysDictDataEntity::getDictTypeId, vo.getDictTypeId()) + .eq(SysDictDataEntity::getDictValue, vo.getDictValue())); + if (sysDictData != null) { + throw new ServerException("字典值重复!"); + } + SysDictDataEntity entity = SysDictDataConvert.INSTANCE.convert(vo); baseMapper.insert(entity); @@ -53,6 +62,14 @@ public class SysDictDataServiceImpl extends BaseServiceImpllambdaQuery() + .eq(SysDictDataEntity::getDictTypeId, vo.getDictTypeId()) + .eq(SysDictDataEntity::getDictValue, vo.getDictValue()) + .ne(SysDictDataEntity::getId, vo.getId())); + if (sysDictData != null) { + throw new ServerException("字典值重复!"); + } + SysDictDataEntity entity = SysDictDataConvert.INSTANCE.convert(vo); updateById(entity); @@ -64,4 +81,5 @@ public class SysDictDataServiceImpl extends BaseServiceImpl dictTypeEntities = super.list(); for (SysDictTypeEntity dictTypeEntity : dictTypeEntities) { if (dictTypeDataMap.containsKey(dictTypeEntity.getId())) { - dictionaryTransService.refreshCache(dictTypeEntity.getDictType(), dictTypeDataMap.get(dictTypeEntity.getId()) - .stream().collect(Collectors.toMap(SysDictDataEntity::getDictValue, SysDictDataEntity::getDictLabel))); + try { + dictionaryTransService.refreshCache(dictTypeEntity.getDictType(), dictTypeDataMap.get(dictTypeEntity.getId()) + .stream().collect(Collectors.toMap(SysDictDataEntity::getDictValue, SysDictDataEntity::getDictLabel))); + } catch (Exception e) { + log.error("刷新字典缓存异常: type=" + dictTypeEntity, e); + } } } return null; -- Gitee