boss 2 dni temu
rodzic
commit
c26e15e992

+ 27 - 7
fs-service/src/main/java/com/fs/company/domain/LobsterConversationSummary.java

@@ -12,13 +12,33 @@ public class LobsterConversationSummary {
     @TableId(type = IdType.AUTO)
     private Long id;
     private Long companyId;
-    private String externalUserId;
-    private String sessionId;
-    private String summaryText;
-    private String keywords;
-    private String sentiment;
-    private String intentCategory;
+    /** DDL instance_id: 工作流实例ID */
+    private Long instanceId;
+    private Long contactId;
+    private String summaryType;
+    /** DDL summary_content: 摘要内容(结构化写入) */
+    private String summaryContent;
+    private String keyPoints;
+    private String sentimentAnalysis;
+    private String nextActionSuggestion;
     private Integer messageCount;
-    private LocalDateTime summaryTime;
+    /** 自动摘要字段: summary_text(原始文本) */
+    private String summaryText;
+    /** 自动摘要字段: 外部联系人ID */
+    private String externalUserId;
+    /** 自动摘要字段: 聊天消息计数 */
+    private Integer chatMsgCount;
+    /** 自动摘要字段: 关键意图JSON */
+    private String keyIntents;
+    /** 自动摘要字段: 关键变量JSON */
+    private String keyVariables;
+    /** 自动摘要字段: 当前阶段 */
+    private String stage;
+    /** 自动摘要字段: 下一步行动提示 */
+    private String nextActionHint;
+    private Integer delFlag;
+    private String createBy;
     private LocalDateTime createTime;
+    private String updateBy;
+    private LocalDateTime updateTime;
 }

+ 9 - 0
fs-service/src/main/resources/mapper/company/LobsterConversationSummaryMapper.xml

@@ -13,6 +13,13 @@
         <result property="sentimentAnalysis" column="sentiment_analysis"/>
         <result property="nextActionSuggestion" column="next_action_suggestion"/>
         <result property="messageCount" column="message_count"/>
+        <result property="summaryText" column="summary_text"/>
+        <result property="externalUserId" column="external_user_id"/>
+        <result property="chatMsgCount" column="chat_msg_count"/>
+        <result property="keyIntents" column="key_intents"/>
+        <result property="keyVariables" column="key_variables"/>
+        <result property="stage" column="stage"/>
+        <result property="nextActionHint" column="next_action_hint"/>
         <result property="delFlag" column="del_flag"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
@@ -23,6 +30,8 @@
     <sql id="selectVo">
         select id, company_id, instance_id, contact_id, summary_type, summary_content,
                key_points, sentiment_analysis, next_action_suggestion, message_count,
+               summary_text, external_user_id, chat_msg_count, key_intents, key_variables,
+               stage, next_action_hint,
                del_flag, create_by, create_time, update_by, update_time
         from lobster_conversation_summary
     </sql>

+ 3 - 3
fs-service/src/main/resources/mapper/lobster/LobsterAuxiliaryMapper.xml

@@ -169,13 +169,13 @@
 
     <!-- === lobster_test_scenario === -->
     <select id="selectTestScenarios" resultType="java.util.Map">
-        SELECT * FROM lobster_test_scenario WHERE company_id=#{companyId} AND deleted=0 ORDER BY create_time DESC
+        SELECT * FROM lobster_test_scenario WHERE company_id=#{companyId} AND enabled=1 ORDER BY create_time DESC
     </select>
     <select id="selectTestScenarioById" resultType="java.util.Map">
         SELECT * FROM lobster_test_scenario WHERE id=#{id} AND company_id=#{companyId}
     </select>
     <insert id="insertTestScenario">
-        INSERT INTO lobster_test_scenario(company_id, scenario_name, workflow_id, test_data, create_time)
+        INSERT INTO lobster_test_scenario(company_id, scenario_name, template_id, user_inputs_json, create_time)
         VALUES(#{companyId},#{scenarioName},#{workflowId},#{testData},NOW())
     </insert>
     <update id="updateTestScenario">
@@ -183,7 +183,7 @@
         WHERE id=#{id}
     </update>
     <delete id="deleteTestScenario">
-        UPDATE lobster_test_scenario SET deleted=1, update_time=NOW() WHERE id=#{id} AND company_id=#{companyId}
+        UPDATE lobster_test_scenario SET enabled=0, update_time=NOW() WHERE id=#{id} AND company_id=#{companyId}
     </delete>
     <insert id="insertTestScenarioResult">
         INSERT INTO lobster_test_scenario_result(company_id, scenario_id, passed, detail, create_time)

+ 15 - 1
sql/lobster_model_upgrade_patch.sql

@@ -1,6 +1,7 @@
 -- ============================================================================
 -- 龙虾引擎模型升级补丁
--- 修复: P0 canvasData缺失, P0 Task字段缺失, P2 NodeExecutionLog缺失列
+-- 修复: P0 canvasData缺失, P0 Task字段缺失, P2 NodeExecutionLog缺失列,
+--       P1 ConversationSummary自动摘要字段缺失
 -- 日期: 2026-06-05
 -- ============================================================================
 
@@ -15,3 +16,16 @@ ALTER TABLE `company_workflow_lobster_task`
 
 -- 3. 为 lobster_node_execution_log 增加按节点统计的索引
 CREATE INDEX IF NOT EXISTS `idx_exec_log_company_node` ON `lobster_node_execution_log` (`company_id`, `node_code`);
+
+-- 4. lobster_conversation_summary 增加自动摘要扩展列
+ALTER TABLE `lobster_conversation_summary`
+    ADD COLUMN IF NOT EXISTS `external_user_id` varchar(128) DEFAULT NULL COMMENT '外部联系人ID' AFTER `message_count`,
+    ADD COLUMN IF NOT EXISTS `summary_text` text DEFAULT NULL COMMENT '自动摘要原始文本' AFTER `external_user_id`,
+    ADD COLUMN IF NOT EXISTS `chat_msg_count` int DEFAULT NULL COMMENT '聊天消息计数' AFTER `summary_text`,
+    ADD COLUMN IF NOT EXISTS `key_intents` text DEFAULT NULL COMMENT '关键意图JSON' AFTER `chat_msg_count`,
+    ADD COLUMN IF NOT EXISTS `key_variables` text DEFAULT NULL COMMENT '关键变量JSON' AFTER `key_intents`,
+    ADD COLUMN IF NOT EXISTS `stage` varchar(64) DEFAULT NULL COMMENT '当前阶段' AFTER `key_variables`,
+    ADD COLUMN IF NOT EXISTS `next_action_hint` text DEFAULT NULL COMMENT '下一步行动提示' AFTER `stage`;
+
+-- 5. lobster_conversation_summary 增加索引
+CREATE INDEX IF NOT EXISTS `idx_conv_summary_external_user` ON `lobster_conversation_summary` (`company_id`, `external_user_id`);