From 4115bad374ac4d3411d9d0dfa675fe7638628279 Mon Sep 17 00:00:00 2001
From: "DESKTOP-DDTUS3E\\yaxin" <daixiaoyi0622@gmail.com>
Date: Mon, 28 Oct 2024 11:07:40 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=8D=E4=BF=9D=E5=AD=98?=
 =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B8=89=E5=85=83=E7=BB=84=E5=B7=B2=E5=AD=98?=
 =?UTF-8?q?=E5=9C=A8=E6=A0=A1=E9=AA=8C=E7=BB=93=E6=9E=9C=E4=B8=8D=E7=AC=A6?=
 =?UTF-8?q?=E5=90=88=E7=9B=B4=E6=8E=A5=E8=BF=94=E5=9B=9E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../impl/ModelRecordTypeServiceImpl.java      | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java
index e1c1c42..80731ec 100644
--- a/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java
+++ b/src/main/java/com/supervision/police/service/impl/ModelRecordTypeServiceImpl.java
@@ -161,7 +161,9 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
             boolean save;
             if (StringUtils.isEmpty(prompt.getId())) {
                 // 新增的时候,校验是否已经存在相同的三元组关系,如果已经存在了相同的三元组关系,不允许添加
-                checkHasSameTriple(prompt.getStartEntityType(), prompt.getRelType(), prompt.getEndEntityType(), null);
+                if (checkHasSameTriple(prompt.getStartEntityType(), prompt.getRelType(), prompt.getEndEntityType(), null)) {
+                    return R.fail("已存在相同的三元组关系,不允许添加");
+                }
                 save = notePromptService.save(prompt);
                 // 新增prompt绑定的分类信息
                 for (String typeId : typeList) {
@@ -171,7 +173,9 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
                     notePromptTypeRelService.save(rel);
                 }
             } else {
-                checkHasSameTriple(prompt.getStartEntityType(), prompt.getRelType(), prompt.getEndEntityType(), prompt.getId());
+                if (checkHasSameTriple(prompt.getStartEntityType(), prompt.getRelType(), prompt.getEndEntityType(), prompt.getId())) {
+                    return R.fail("已存在相同的三元组关系,不允许添加");
+                }
                 save = notePromptService.updateById(prompt);
                 // 更新prompt绑定的分类信息
                 // 首先查询已经有的,如果都存在,就不变,如果数据库有,前端没有,就删除,如果前端有,数据库没有,就新增
@@ -255,21 +259,18 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
 
     }
 
-    private void checkHasSameTriple(String startEntityType, String relType, String endEntityType, String promptId) {
+    private boolean checkHasSameTriple(String startEntityType, String relType, String endEntityType, String promptId) {
         List<NotePrompt> list = notePromptService.lambdaQuery().eq(NotePrompt::getStartEntityType, startEntityType)
                 .eq(NotePrompt::getRelType, relType).eq(NotePrompt::getEndEntityType, endEntityType).list();
         if (CollUtil.isNotEmpty(list)) {
             if (StrUtil.isBlank(promptId)) {
-                throw new RuntimeException("该三元组关系已经存在,请勿重复添加");
+                return true;
             } else {
-
                 // 校验list查出来的是不是和promptId相等,如果不想等,也报错
-                if (!list.get(0).getId().equals(promptId)) {
-                    throw new RuntimeException("该三元组关系已经存在,请勿重复添加");
-                }
+                return !list.get(0).getId().equals(promptId);
             }
-
         }
+        return false;
     }
 
     @Override