Selaa lähdekoodia

系统配置新增页面添加不重复校验

chengpan 2 vuotta sitten
vanhempi
commit
fef73de861

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/opt/mapper/SysInfoConfigMapper.java

@@ -70,4 +70,11 @@ public interface SysInfoConfigMapper extends BaseMapper<SysInfoConfig>
      * @return
      */
     List<ConfigDictData> selectDictDataListByDictType(@Param("dictType") String dictType);
+
+    /**
+     * 根据系统类型编码和场景类型编码 查看配置项是否已经存在
+     * @param sysInfoConfig
+     * @return
+     */
+    int checkSysConfigExistByTypeCdAndSceneTpCd(SysInfoConfig sysInfoConfig);
 }

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/opt/service/impl/SysInfoConfigServiceImpl.java

@@ -59,6 +59,10 @@ public class SysInfoConfigServiceImpl implements ISysInfoConfigService
     {
         sysInfoConfig.setCreateTime(DateUtils.getNowDate());
         sysInfoConfig.setUpdateTime(DateUtils.getNowDate());
+        int count = sysInfoConfigMapper.checkSysConfigExistByTypeCdAndSceneTpCd(sysInfoConfig);
+        if(count>0){
+            throw new RuntimeException("配置已存在,请确认后重试");
+        }
         return sysInfoConfigMapper.insertSysInfoConfig(sysInfoConfig);
     }
 

+ 4 - 0
ruoyi-system/src/main/resources/mapper/opt/SysInfoConfigMapper.xml

@@ -101,4 +101,8 @@
         select d.dict_value, d.dict_label ,d.child_dict_type from sys_dict_data d where d.dict_type = #{dictType}
     </select>
 
+    <select id="checkSysConfigExistByTypeCdAndSceneTpCd" parameterType="SysInfoConfig" resultType="int">
+        select count(1) from sys_info_config s where s.type_cd = #{typeCd} and s.scene_tp_cd = #{sceneTpCd}
+    </select>
+
 </mapper>