车车 7 сар өмнө
parent
commit
4fc93933e8

+ 16 - 14
ktg-system/src/main/java/com/ktg/system/mapper/SysDictDataMapper.java

@@ -1,19 +1,21 @@
 package com.ktg.system.mapper;
 
-import java.util.List;
-import org.apache.ibatis.annotations.Param;
 import com.ktg.common.core.domain.entity.SysDictData;
+import com.ktg.common.mapper.BaseMapperX;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 字典表 数据层
- * 
+ *
  * @author ktg
  */
-public interface SysDictDataMapper
+public interface SysDictDataMapper extends BaseMapperX<SysDictData>
 {
     /**
      * 根据条件分页查询字典数据
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 字典数据集合信息
      */
@@ -21,7 +23,7 @@ public interface SysDictDataMapper
 
     /**
      * 根据字典类型查询字典数据
-     * 
+     *
      * @param dictType 字典类型
      * @return 字典数据集合信息
      */
@@ -29,7 +31,7 @@ public interface SysDictDataMapper
 
     /**
      * 根据字典类型和字典键值查询字典数据信息
-     * 
+     *
      * @param dictType 字典类型
      * @param dictValue 字典键值
      * @return 字典标签
@@ -38,7 +40,7 @@ public interface SysDictDataMapper
 
     /**
      * 根据字典数据ID查询信息
-     * 
+     *
      * @param dictCode 字典数据ID
      * @return 字典数据
      */
@@ -46,7 +48,7 @@ public interface SysDictDataMapper
 
     /**
      * 查询字典数据
-     * 
+     *
      * @param dictType 字典类型
      * @return 字典数据
      */
@@ -54,7 +56,7 @@ public interface SysDictDataMapper
 
     /**
      * 通过字典ID删除字典数据信息
-     * 
+     *
      * @param dictCode 字典数据ID
      * @return 结果
      */
@@ -62,7 +64,7 @@ public interface SysDictDataMapper
 
     /**
      * 批量删除字典数据信息
-     * 
+     *
      * @param dictCodes 需要删除的字典数据ID
      * @return 结果
      */
@@ -70,7 +72,7 @@ public interface SysDictDataMapper
 
     /**
      * 新增字典数据信息
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 结果
      */
@@ -78,7 +80,7 @@ public interface SysDictDataMapper
 
     /**
      * 修改字典数据信息
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 结果
      */
@@ -86,7 +88,7 @@ public interface SysDictDataMapper
 
     /**
      * 同步修改字典类型
-     * 
+     *
      * @param oldDictType 旧字典类型
      * @param newDictType 新旧字典类型
      * @return 结果

+ 4 - 2
ktg-system/src/main/java/com/ktg/system/service/ISysDictDataService.java

@@ -1,14 +1,16 @@
 package com.ktg.system.service;
 
-import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ktg.common.core.domain.entity.SysDictData;
 
+import java.util.List;
+
 /**
  * 字典 业务层
  *
  * @author guoruan
  */
-public interface ISysDictDataService
+public interface ISysDictDataService extends IService<SysDictData>
 {
     /**
      * 根据条件分页查询字典数据

+ 27 - 11
ktg-system/src/main/java/com/ktg/system/service/impl/SysDictDataServiceImpl.java

@@ -1,27 +1,31 @@
 package com.ktg.system.service.impl;
 
-import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ktg.common.core.domain.entity.SysDictData;
 import com.ktg.common.utils.DictUtils;
 import com.ktg.system.mapper.SysDictDataMapper;
 import com.ktg.system.service.ISysDictDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * 字典 业务层处理
- * 
+ *
  * @author ktg
  */
 @Service
-public class SysDictDataServiceImpl implements ISysDictDataService
+public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements ISysDictDataService
 {
     @Autowired
     private SysDictDataMapper dictDataMapper;
 
     /**
      * 根据条件分页查询字典数据
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 字典数据集合信息
      */
@@ -33,7 +37,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 根据字典类型和字典键值查询字典数据信息
-     * 
+     *
      * @param dictType 字典类型
      * @param dictValue 字典键值
      * @return 字典标签
@@ -46,7 +50,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 根据字典数据ID查询信息
-     * 
+     *
      * @param dictCode 字典数据ID
      * @return 字典数据
      */
@@ -58,7 +62,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 批量删除字典数据信息
-     * 
+     *
      * @param dictCodes 需要删除的字典数据ID
      */
     @Override
@@ -75,13 +79,18 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 新增保存字典数据信息
-     * 
+     *
      * @param data 字典数据信息
      * @return 结果
      */
     @Override
     public int insertDictData(SysDictData data)
     {
+        // 判断键值是否重复
+        List<SysDictData> list = list(Wrappers.<SysDictData>lambdaQuery()
+                .eq(SysDictData::getDictType, data.getDictType())
+                .eq(SysDictData::getDictValue, data.getDictValue()));
+        Assert.isTrue(list.isEmpty(), "该字典类型下已存在键值:" + data.getDictValue() + ",请重新填写!");
         int row = dictDataMapper.insertDictData(data);
         if (row > 0)
         {
@@ -93,13 +102,20 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 修改保存字典数据信息
-     * 
+     *
      * @param data 字典数据信息
      * @return 结果
      */
     @Override
     public int updateDictData(SysDictData data)
     {
+        // 判断键值是否重复
+        List<SysDictData> list = list(Wrappers.<SysDictData>lambdaQuery()
+                .eq(SysDictData::getDictType, data.getDictType())
+                .eq(SysDictData::getDictValue, data.getDictValue())
+                .ne(SysDictData::getDictCode, data.getDictCode()));
+        Assert.isTrue(list.isEmpty(), "该字典类型下已存在键值:" + data.getDictValue() + ",请重新填写!");
+
         int row = dictDataMapper.updateDictData(data);
         if (row > 0)
         {