From 0afac42fb2e9d6e5291304dd0044ce3042b45d2b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 10 十月 2026 15:09:14 +0800
Subject: [PATCH] 短信模块提交

---
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java |   78 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java
index f96af96..7161470 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailMapper.java
@@ -1,10 +1,15 @@
 package com.smartor.mapper;
 
+import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
 import com.smartor.domain.ServiceSubtaskDetail;
 import com.smartor.domain.ServiceSubtaskDetailTarget;
+import com.smartor.domain.ServiceSubtaskDetailVO;
+import com.smartor.domain.entity.SatisfactionStatQuery;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 璇煶浠诲姟鍛煎彨鏄庣粏Mapper鎺ュ彛
@@ -13,8 +18,7 @@
  * @date 2023-03-24
  */
 @Mapper
-public interface ServiceSubtaskDetailMapper
-{
+public interface ServiceSubtaskDetailMapper {
     /**
      * 鏌ヨ璇煶浠诲姟鍛煎彨鏄庣粏
      *
@@ -23,6 +27,55 @@
      */
     public ServiceSubtaskDetail selectServiceSubtaskDetailByCalldetailid(String calldetailid);
 
+    public List<ServiceSubtaskDetailDTO> queryFillCount(@Param("subids") List<Long> subids, @Param("questiontext") String questiontext);
+
+    /**
+     * 婊℃剰搴︽煴鐘跺浘锛氫竴娆℃�х粺璁℃湰娆¤姹傚叏閮ㄦā鏉跨殑濉姤閲�
+     * 锛堟寜 libtemplateid + questiontext + score 鍒嗙粍锛屽彧鍥炰紶鍒嗗�间笌鏉℃暟锛屼笉鍥炰紶鏄庣粏琛岋級
+     * <p>
+     * 鏇夸唬 queryFillCount 鐨� N+1 鍐欐硶锛岃 PatSatisfactionServiceImpl#satisfactionGraph
+     *
+     * @param query 鑱氬悎鏌ヨ鏉′欢
+     * @return 姣忚鍚� libtemplateid銆乹uestiontext銆乻core銆乧nt
+     */
+    public List<Map<String, Object>> selectSatisfactionFillStat(SatisfactionStatQuery query);
+
+    /**
+     * 婊℃剰搴︾粺璁★細涓�娆℃�х粺璁℃湰娆¤姹傚叏閮ㄩ棶棰樼殑濉姤閲忥紙鎸� 妯℃澘+闂+matchedtext+score 鍒嗙粍锛�
+     * <p>
+     * 鐢ㄤ簬 statistics / statisticsByDimension 鐨勩�屽悇閫夐」鏁伴噺鍙婂崰姣斻�嶏紝鏇夸唬閫愪釜闂鎵ц鐨�
+     * queryFillCount锛堥偅涓�姝ヤ細鍏堟煡鍑哄嚑涓囦釜 sub_id 鍐嶆嫾杩� IN(...)锛屽苟鎶婄害鍗佷竾琛屾槑缁嗕紶鍥� Java锛夈��
+     *
+     * @param query 鑱氬悎鏌ヨ鏉′欢
+     * @return 姣忚鍚� libtemplateid銆乹uestiontext銆乵atchedtext銆乻core銆乧nt銆乼argetvalue
+     */
+    public List<Map<String, Object>> selectSatisfactionFillStatByMatchedtext(SatisfactionStatQuery query);
+
+    /**
+     * 婊℃剰搴︽煴鐘跺浘锛氫竴娆℃�х粺璁℃湰娆¤姹傚叏閮ㄦā鏉跨殑銆屽洖鏀朵汉鏁般��
+     * 锛堟寜 libtemplateid 鍒嗙粍锛宑ount(distinct sub_id)锛氬悓涓�涓汉绛斾簡澶氶亾棰樺彧绠椾竴浜猴級
+     * <p>
+     * satisfactionGraph / satisfactionGraphDimension 鐨勫洖鏀朵汉鏁板繀椤绘槸浜烘暟鍙e緞锛�
+     * 涓嶈兘鍍� selectSatisfactionFillStat 閭f牱鎸夐鐩眹鎬荤瓟妗堣鏁帮紙閭f槸棰橀噺鍙e緞锛�
+     *
+     * @param query 鑱氬悎鏌ヨ鏉′欢
+     * @return 姣忚鍚� libtemplateid銆乧nt锛堣妯℃澘宸插洖鏀剁殑浠芥暟/浜烘暟锛�
+     */
+    public List<Map<String, Object>> selectSatisfactionFillPersonCount(SatisfactionStatQuery query);
+
+    /**
+     * 鎸� scriptid 鎵归噺缁熻濉啓璁板綍鏁帮紙涓�娆� SQL 鏇夸唬閫愪釜 scriptid 鏌ユ槑缁嗭級
+     * <p>
+     * 鍙e緞涓庡師鏉ャ�宷uery.setScriptid(scriptId) 鍚� selectServiceSubtaskDetailList(...).size()銆嶄竴鑷达細
+     * 鍙寜 scriptid 杩囨护锛屼笉甯� del_flag锛堝師 SQL 閲屽苟娌℃湁 del_flag 鏉′欢锛夈��
+     *
+     * @param scriptIds 闂ID闆嗗悎
+     * @return 姣忚鍚� scriptid銆乧nt
+     */
+    public List<Map<String, Object>> countDetailByScriptIds(@Param("scriptIds") List<Long> scriptIds);
+
+    public ServiceSubtaskDetailDTO isExistServiceSubtaskDetail(@Param("subid") Long subid, @Param("scriptid") Long scriptid);
+
     /**
      * 鏌ヨ璇煶浠诲姟鍛煎彨鏄庣粏鍒楄〃
      *
@@ -30,6 +83,11 @@
      * @return 璇煶浠诲姟鍛煎彨鏄庣粏闆嗗悎
      */
     public List<ServiceSubtaskDetail> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail);
+
+    /**
+     * 鏌ヨ闅忚璇︽儏-鎸囨爣璁板綍
+     */
+    public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVo);
 
     /**
      * 鏂板璇煶浠诲姟鍛煎彨鏄庣粏
@@ -46,6 +104,7 @@
      * @return 缁撴灉
      */
     public int updateServiceSubtaskDetail(ServiceSubtaskDetail serviceSubtaskDetail);
+
     public int updateSSDByCondition(ServiceSubtaskDetail serviceSubtaskDetail);
 
     /**
@@ -72,4 +131,19 @@
      * @return 鎸囨爣缁熻
      */
     public List<ServiceSubtaskDetailTarget> countPatByTarget(Long targetid);
+
+    /**
+     * 鏌ヨ鍚屼釜subid閲嶅鐨刣etail鏁版嵁ID鍒楄〃
+     *
+     * @return 閲嶅璁板綍ID鍒楄〃
+     */
+    public List<Long> selectRepeatDetailIds();
+
+    /**
+     * 鏍规嵁ID鍒楄〃鎵归噺鏍囪閲嶅detail鏁版嵁涓哄垹闄�
+     *
+     * @param ids 閲嶅璁板綍ID鍒楄〃
+     * @return 鏇存柊琛屾暟
+     */
+    public Integer deleteRepeatDetailByIds(@Param("ids") List<Long> ids);
 }

--
Gitblit v1.9.3