From cccb9150471097edd5f01e5c2a5724bfcea0101b Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 24 八月 2026 09:57:46 +0800
Subject: [PATCH] targetQuesMate 增加AI调试

---
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
index 2b9c71a..329420e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
@@ -8,11 +8,13 @@
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.domain.*;
 import com.smartor.mapper.IvrLibaTargetMapper;
 import com.smartor.mapper.IvrLibaTargetTagMapper;
 import com.smartor.mapper.IvrLibaTargetoptionMapper;
 import com.smartor.service.IIvrLibaTargetService;
+import com.smartor.service.IServiceSubtaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
@@ -43,6 +45,12 @@
 
     @Autowired
     private IvrLibaTargetoptionMapper ivrLibaTargetoptionMapper;
+
+    @Autowired
+    private ISysConfigService configService;
+
+    @Autowired
+    private IServiceSubtaskService serviceSubtaskService;
 
     /**
      * 鏌ヨ鎸囨爣閫夐」搴�
@@ -191,7 +199,7 @@
                 }
             }
         }
-        if (CollectionUtils.isNotEmpty(ivrLibaTargetVO.getTargetoptionList()) && ivrLibaTargetVO.getValueType() == 1) {
+        if (CollectionUtils.isNotEmpty(ivrLibaTargetVO.getTargetoptionList()) && ivrLibaTargetVO.getScriptType().equals("1") || CollectionUtils.isNotEmpty(ivrLibaTargetVO.getTargetoptionList()) && ivrLibaTargetVO.getScriptType().equals("2")) {
             //閫夐」澶勭悊
             for (IvrLibaTargetoption ivrLibaTargetoption : ivrLibaTargetVO.getTargetoptionList()) {
                 if (CollectionUtils.isNotEmpty(ivrLibaTargetoption.getNodynamiccruxs())) {
@@ -201,6 +209,8 @@
                     ivrLibaTargetoption.setDynamiccruxsJson(new Gson().toJson(ivrLibaTargetoption.getDynamiccruxs()));
                 }
 
+                //鎸囨爣搴撴帓搴�
+                ivrLibaTargetoption.setSortid(ivrLibaTargetoption.getGuid());
                 ivrLibaTargetoption.setGuid(ivrLibaTargetVO.getGuid());
                 ivrLibaTargetoption.setOrgid(ivrLibaTargetVO.getOrgid());
                 if (ivrLibaTargetoption.getIsoperation() != null && ivrLibaTargetoption.getIsoperation() == 1) {
@@ -216,7 +226,8 @@
                 }
 
             }
-        } else if (ivrLibaTargetVO.getValueType() == 2 || ivrLibaTargetVO.getValueType() == 3) {
+        } else if (ivrLibaTargetVO.getScriptType().equals("3") || ivrLibaTargetVO.getScriptType().equals("4")) {
+            //杩欓噷鍏堢瓑绛�
         }
 
         return ivrLibaTarget.getId().intValue();
@@ -248,7 +259,24 @@
      */
     @Override
     public String targetQuesMate(IvrLibaTargetVO ivrLibaTargetVO) {
+        //1-AI璇嗗埆
 
+        String url = configService.selectConfigByKey("sys.voice.match.ai.url");
+        if (ObjectUtils.isNotEmpty(url)) {
+            String matchedText = "";
+            String questionText = ivrLibaTargetVO.getQuestionText();
+            String voiceText = ivrLibaTargetVO.getContent();
+            List<IvrTaskTemplateTargetoption> options = DtoConversionUtils.sourceToTarget(ivrLibaTargetVO.getTargetoptionList(), IvrTaskTemplateTargetoption.class);
+            //1-AI璇嗗埆
+            Integer matched = serviceSubtaskService.matchOptionIndex(url, questionText, voiceText, options, "1");
+            if (ObjectUtils.isNotEmpty(matched)) {
+                if (matched >= 0) {
+                    matchedText = options.get(matched).getTargetvalue();
+                }
+            }
+            log.info("ai鍖归厤鎴愬姛锛屽尮閰嶇粨鏋滄槸:" + matchedText);
+            return matchedText;
+        }
         for (IvrLibaTargetoption ivrLibaTargetoption : ivrLibaTargetVO.getTargetoptionList()) {
 
             Matcher matcher = null;

--
Gitblit v1.9.3