diff --git a/src/main/java/com/youlai/boot/system/mapper/DictMapper.java b/src/main/java/com/youlai/boot/system/mapper/DictMapper.java index 3188d823..180446ef 100644 --- a/src/main/java/com/youlai/boot/system/mapper/DictMapper.java +++ b/src/main/java/com/youlai/boot/system/mapper/DictMapper.java @@ -35,6 +35,15 @@ public interface DictMapper extends BaseMapper { * @return */ List getAllDictWithData(); + + /** + * 获取指定字典编码对应的的数量 + * + * @param dictCode 字典编码 + * @return + */ + long getDictCodeCount(String dictCode); + } diff --git a/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java index 996b2ab4..a7d11f00 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/DictServiceImpl.java @@ -67,9 +67,8 @@ public class DictServiceImpl extends ServiceImpl implements Di // 校验 code 是否唯一 String dictCode = entity.getDictCode(); - long count = this.count(new LambdaQueryWrapper() - .eq(Dict::getDictCode, dictCode) - ); + long count = this.baseMapper.getDictCodeCount(dictCode); + Assert.isTrue(count == 0, "字典编码已存在"); return this.save(entity); diff --git a/src/main/resources/mapper/system/DictMapper.xml b/src/main/resources/mapper/system/DictMapper.xml index 4f717cb4..201a5561 100644 --- a/src/main/resources/mapper/system/DictMapper.xml +++ b/src/main/resources/mapper/system/DictMapper.xml @@ -47,4 +47,14 @@ ORDER BY t1.create_time DESC + + +