boss 2 dagen geleden
bovenliggende
commit
597d0e7fc8

+ 10 - 0
fs-service/src/main/java/com/fs/company/domain/CompanyWorkflowLobster.java

@@ -6,6 +6,8 @@ import com.fs.common.core.domain.BaseEntity;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
+import java.util.Date;
+
 /**
 /**
  * 工作流龙虾模板
  * 工作流龙虾模板
  */
  */
@@ -37,4 +39,12 @@ public class CompanyWorkflowLobster extends BaseEntity {
 
 
     private String canvasData;
     private String canvasData;
 
 
+    /** 发布时间 */
+    private Date publishTime;
+
+    /** 发布版本号 */
+    private Integer publishVersion;
+
+    /** 标签,逗号分隔 */
+    private String tags;
 }
 }

+ 6 - 0
fs-service/src/main/java/com/fs/company/domain/CompanyWorkflowLobsterEdge.java

@@ -37,4 +37,10 @@ public class CompanyWorkflowLobsterEdge extends BaseEntity {
     private Integer sortNo;
     private Integer sortNo;
 
 
     private Integer delFlag;
     private Integer delFlag;
+
+    /** 连线类型:flow-普通流转, branch-条件分支, fallback-兜底 */
+    private String edgeType;
+
+    /** 分支优先级(条件分支用,数值越小优先级越高) */
+    private Integer priority;
 }
 }

+ 27 - 0
fs-service/src/main/java/com/fs/company/domain/CompanyWorkflowLobsterNode.java

@@ -42,5 +42,32 @@ public class CompanyWorkflowLobsterNode extends BaseEntity {
 
 
     private LocalTime sendTime;
     private LocalTime sendTime;
 
 
+    /** 画布位置X坐标 */
+    private Double positionX;
+
+    /** 画布位置Y坐标 */
+    private Double positionY;
+
+    /** 节点宽度 */
+    private Double width;
+
+    /** 节点高度 */
+    private Double height;
+
+    /** AI模型名称,如 gpt-4o-mini */
+    private String modelName;
+
+    /** 场景编码,如 sale */
+    private String sceneCode;
+
+    /** Prompt模板ID */
+    private Long promptId;
+
+    /** 最大轮次 */
+    private Integer maxRound;
+
+    /** 执行状态:0-未执行, 1-执行中, 2-成功, 3-失败 */
+    private Integer executeStatus;
+
     private Integer delFlag;
     private Integer delFlag;
 }
 }

+ 12 - 0
fs-service/src/main/java/com/fs/company/domain/CompanyWorkflowLobsterRecord.java

@@ -34,4 +34,16 @@ public class CompanyWorkflowLobsterRecord extends BaseEntity {
     private String resultJson;
     private String resultJson;
 
 
     private Integer delFlag;
     private Integer delFlag;
+
+    /** AI消耗Token数 */
+    private Integer tokenCount;
+
+    /** AI调用成本(分) */
+    private Integer cost;
+
+    /** 生成后保存到的模板ID */
+    private Long savedTemplateId;
+
+    /** 使用的模型版本 */
+    private String modelVersion;
 }
 }

+ 9 - 0
fs-service/src/main/java/com/fs/company/domain/CompanyWorkflowLobsterTask.java

@@ -89,4 +89,13 @@ public class CompanyWorkflowLobsterTask extends BaseEntity {
 
 
     /** 企微外部联系人ID */
     /** 企微外部联系人ID */
     private String externalUserId;
     private String externalUserId;
+
+    /** 执行结果JSON */
+    private String taskResult;
+
+    /** 执行耗时(毫秒) */
+    private Long taskDuration;
+
+    /** 父任务ID(子任务用) */
+    private Long parentTaskId;
 }
 }

+ 9 - 0
fs-service/src/main/java/com/fs/company/domain/CompanyWorkflowLobsterVariable.java

@@ -33,4 +33,13 @@ public class CompanyWorkflowLobsterVariable extends BaseEntity {
     private String description;
     private String description;
 
 
     private Integer delFlag;
     private Integer delFlag;
+
+    /** 校验规则,JSON格式:{"regex":"...", "min":0, "max":100} */
+    private String validationRule;
+
+    /** 选项值,JSON数组:["选项A","选项B"] */
+    private String options;
+
+    /** 是否敏感:0-否, 1-是 */
+    private Integer isSensitive;
 }
 }

+ 7 - 1
fs-service/src/main/java/com/fs/company/param/CompanyWorkflowLobsterEdgeParam.java

@@ -36,7 +36,13 @@ public class CompanyWorkflowLobsterEdgeParam implements Serializable {
     
     
     /** 条件表达式 */
     /** 条件表达式 */
     private String conditionExpr;
     private String conditionExpr;
-    
+
     /** 排序号 */
     /** 排序号 */
     private Integer sortNo;
     private Integer sortNo;
+
+    /** 连线类型:flow-普通流转, branch-条件分支, fallback-兜底 */
+    private String edgeType;
+
+    /** 分支优先级 */
+    private Integer priority;
 }
 }

+ 27 - 0
fs-service/src/main/java/com/fs/company/param/CompanyWorkflowLobsterNodeParam.java

@@ -22,4 +22,31 @@ public class CompanyWorkflowLobsterNodeParam implements Serializable {
     private String nodeConfig;
     private String nodeConfig;
     private String greetingConfig;
     private String greetingConfig;
     private LocalTime sendTime;
     private LocalTime sendTime;
+
+    /** 画布位置X */
+    private Double positionX;
+
+    /** 画布位置Y */
+    private Double positionY;
+
+    /** 节点宽度 */
+    private Double width;
+
+    /** 节点高度 */
+    private Double height;
+
+    /** AI模型名称 */
+    private String modelName;
+
+    /** 场景编码 */
+    private String sceneCode;
+
+    /** Prompt模板ID */
+    private Long promptId;
+
+    /** 最大轮次 */
+    private Integer maxRound;
+
+    /** 执行状态 */
+    private Integer executeStatus;
 }
 }

+ 9 - 0
fs-service/src/main/java/com/fs/company/param/CompanyWorkflowLobsterVariableParam.java

@@ -16,4 +16,13 @@ public class CompanyWorkflowLobsterVariableParam implements Serializable {
     private Integer required;
     private Integer required;
     private String defaultValue;
     private String defaultValue;
     private String description;
     private String description;
+
+    /** 校验规则,JSON格式 */
+    private String validationRule;
+
+    /** 选项值,JSON数组 */
+    private String options;
+
+    /** 是否敏感:0-否, 1-是 */
+    private Integer isSensitive;
 }
 }

+ 5 - 3
fs-service/src/main/resources/mapper/company/CompanyWorkflowLobsterEdgeMapper.xml

@@ -15,6 +15,8 @@
         <result property="conditionExpr" column="condition_expr"/>
         <result property="conditionExpr" column="condition_expr"/>
         <result property="sortNo" column="sort_no"/>
         <result property="sortNo" column="sort_no"/>
         <result property="delFlag" column="del_flag"/>
         <result property="delFlag" column="del_flag"/>
+        <result property="edgeType" column="edge_type"/>
+        <result property="priority" column="priority"/>
         <result property="createBy" column="create_by"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateBy" column="update_by"/>
@@ -24,12 +26,12 @@
     <insert id="batchInsert" parameterType="java.util.List">
     <insert id="batchInsert" parameterType="java.util.List">
         insert into company_workflow_lobster_edge
         insert into company_workflow_lobster_edge
         (workflow_id, edge_key, source_node_code, target_node_code, source_port, target_port,
         (workflow_id, edge_key, source_node_code, target_node_code, source_port, target_port,
-         edge_label, edge_color, condition_expr, sort_no, del_flag, create_by, create_time)
+         edge_label, edge_color, condition_expr, sort_no, edge_type, priority, del_flag, create_by, create_time)
         values
         values
         <foreach collection="list" item="item" separator=",">
         <foreach collection="list" item="item" separator=",">
             (#{item.workflowId}, #{item.edgeKey}, #{item.sourceNodeCode}, #{item.targetNodeCode},
             (#{item.workflowId}, #{item.edgeKey}, #{item.sourceNodeCode}, #{item.targetNodeCode},
              #{item.sourcePort}, #{item.targetPort}, #{item.edgeLabel}, #{item.edgeColor},
              #{item.sourcePort}, #{item.targetPort}, #{item.edgeLabel}, #{item.edgeColor},
-             #{item.conditionExpr}, #{item.sortNo}, #{item.delFlag}, #{item.createBy}, #{item.createTime})
+             #{item.conditionExpr}, #{item.sortNo}, #{item.edgeType}, #{item.priority}, #{item.delFlag}, #{item.createBy}, #{item.createTime})
         </foreach>
         </foreach>
     </insert>
     </insert>
 
 
@@ -46,7 +48,7 @@
 
 
     <select id="selectByWorkflowId" resultMap="CompanyWorkflowLobsterEdgeResult">
     <select id="selectByWorkflowId" resultMap="CompanyWorkflowLobsterEdgeResult">
         select id, workflow_id, edge_key, source_node_code, target_node_code, source_port, target_port,
         select id, workflow_id, edge_key, source_node_code, target_node_code, source_port, target_port,
-               edge_label, edge_color, condition_expr, sort_no, del_flag, create_by, create_time
+               edge_label, edge_color, condition_expr, sort_no, edge_type, priority, del_flag, create_by, create_time
         from company_workflow_lobster_edge
         from company_workflow_lobster_edge
         where workflow_id = #{workflowId} and del_flag = 0
         where workflow_id = #{workflowId} and del_flag = 0
         order by sort_no asc
         order by sort_no asc

+ 13 - 2
fs-service/src/main/resources/mapper/company/CompanyWorkflowLobsterMapper.xml

@@ -11,6 +11,10 @@
         <result property="description" column="description"/>
         <result property="description" column="description"/>
         <result property="status" column="status"/>
         <result property="status" column="status"/>
         <result property="version" column="version"/>
         <result property="version" column="version"/>
+        <result property="canvasData" column="canvas_data"/>
+        <result property="publishTime" column="publish_time"/>
+        <result property="publishVersion" column="publish_version"/>
+        <result property="tags" column="tags"/>
         <result property="createBy" column="create_by"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateBy" column="update_by"/>
@@ -20,6 +24,7 @@
 
 
     <select id="selectTemplateList" resultMap="CompanyWorkflowLobsterResult">
     <select id="selectTemplateList" resultMap="CompanyWorkflowLobsterResult">
         select id, company_id, template_code, template_name, industry_type, description, status, version,
         select id, company_id, template_code, template_name, industry_type, description, status, version,
+               canvas_data, publish_time, publish_version, tags,
                create_by, create_time, update_by, update_time, del_flag
                create_by, create_time, update_by, update_time, del_flag
         from company_workflow_lobster
         from company_workflow_lobster
         where del_flag = 0
         where del_flag = 0
@@ -29,13 +34,14 @@
 
 
     <insert id="insertTemplate" parameterType="CompanyWorkflowLobster" useGeneratedKeys="true" keyProperty="id">
     <insert id="insertTemplate" parameterType="CompanyWorkflowLobster" useGeneratedKeys="true" keyProperty="id">
         insert into company_workflow_lobster
         insert into company_workflow_lobster
-        (company_id, template_code, template_name, industry_type, description, status, version, create_by, create_time, update_by, update_time, del_flag)
+        (company_id, template_code, template_name, industry_type, description, status, version, canvas_data, publish_time, publish_version, tags, create_by, create_time, update_by, update_time, del_flag)
         values
         values
-        (#{companyId}, #{templateCode}, #{templateName}, #{industryType}, #{description}, #{status}, #{version}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{delFlag})
+        (#{companyId}, #{templateCode}, #{templateName}, #{industryType}, #{description}, #{status}, #{version}, #{canvasData}, #{publishTime}, #{publishVersion}, #{tags}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{delFlag})
     </insert>
     </insert>
 
 
     <select id="selectTemplateByIdAndCompanyId" resultMap="CompanyWorkflowLobsterResult">
     <select id="selectTemplateByIdAndCompanyId" resultMap="CompanyWorkflowLobsterResult">
         select id, company_id, template_code, template_name, industry_type, description, status, version,
         select id, company_id, template_code, template_name, industry_type, description, status, version,
+               canvas_data, publish_time, publish_version, tags,
                create_by, create_time, update_by, update_time, del_flag
                create_by, create_time, update_by, update_time, del_flag
         from company_workflow_lobster
         from company_workflow_lobster
         where id = #{id}
         where id = #{id}
@@ -45,6 +51,7 @@
     </select>
     </select>
     <select id="selectTemplateListByStatus" resultType="com.fs.company.domain.CompanyWorkflowLobster">
     <select id="selectTemplateListByStatus" resultType="com.fs.company.domain.CompanyWorkflowLobster">
         select id, company_id, template_code, template_name, industry_type, description, status, version,
         select id, company_id, template_code, template_name, industry_type, description, status, version,
+               canvas_data, publish_time, publish_version, tags,
                create_by, create_time, update_by, update_time, del_flag
                create_by, create_time, update_by, update_time, del_flag
         from company_workflow_lobster
         from company_workflow_lobster
         where del_flag = 0
         where del_flag = 0
@@ -61,6 +68,10 @@
             <if test="description != null">description = #{description},</if>
             <if test="description != null">description = #{description},</if>
             <if test="status != null">status = #{status},</if>
             <if test="status != null">status = #{status},</if>
             <if test="version != null">version = #{version},</if>
             <if test="version != null">version = #{version},</if>
+            <if test="canvasData != null">canvas_data = #{canvasData},</if>
+            <if test="publishTime != null">publish_time = #{publishTime},</if>
+            <if test="publishVersion != null">publish_version = #{publishVersion},</if>
+            <if test="tags != null">tags = #{tags},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
         </trim>
         </trim>

+ 9 - 3
fs-service/src/main/resources/mapper/company/CompanyWorkflowLobsterNodeMapper.xml

@@ -4,11 +4,14 @@
 
 
     <insert id="batchInsert">
     <insert id="batchInsert">
         insert into company_workflow_lobster_node
         insert into company_workflow_lobster_node
-        (workflow_id, node_code, node_name, node_type, sort_no, next_node_code, message_template, condition_expr, node_config, greeting_config, send_time, create_by, create_time, update_by, update_time, del_flag)
+        (workflow_id, node_code, node_name, node_type, sort_no, next_node_code, message_template, condition_expr, node_config, greeting_config, send_time, position_x, position_y, width, height, model_name, scene_code, prompt_id, max_round, execute_status, create_by, create_time, update_by, update_time, del_flag)
         values
         values
         <foreach collection="list" item="item" separator=",">
         <foreach collection="list" item="item" separator=",">
             (#{item.workflowId}, #{item.nodeCode}, #{item.nodeName}, #{item.nodeType}, #{item.sortNo}, #{item.nextNodeCode},
             (#{item.workflowId}, #{item.nodeCode}, #{item.nodeName}, #{item.nodeType}, #{item.sortNo}, #{item.nextNodeCode},
-            #{item.messageTemplate}, #{item.conditionExpr}, #{item.nodeConfig}, #{item.greetingConfig}, #{item.sendTime}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.delFlag})
+            #{item.messageTemplate}, #{item.conditionExpr}, #{item.nodeConfig}, #{item.greetingConfig}, #{item.sendTime},
+            #{item.positionX}, #{item.positionY}, #{item.width}, #{item.height},
+            #{item.modelName}, #{item.sceneCode}, #{item.promptId}, #{item.maxRound}, #{item.executeStatus},
+            #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.delFlag})
         </foreach>
         </foreach>
     </insert>
     </insert>
 
 
@@ -32,7 +35,10 @@
 
 
     <select id="selectByWorkflowId" resultType="CompanyWorkflowLobsterNode">
     <select id="selectByWorkflowId" resultType="CompanyWorkflowLobsterNode">
         select id, workflow_id, node_code, node_name, node_type, sort_no, next_node_code, message_template,
         select id, workflow_id, node_code, node_name, node_type, sort_no, next_node_code, message_template,
-               condition_expr, node_config, greeting_config, send_time, create_by, create_time, update_by, update_time, del_flag
+               condition_expr, node_config, greeting_config, send_time,
+               position_x, position_y, width, height,
+               model_name, scene_code, prompt_id, max_round, execute_status,
+               create_by, create_time, update_by, update_time, del_flag
         from company_workflow_lobster_node
         from company_workflow_lobster_node
         where workflow_id = #{workflowId}
         where workflow_id = #{workflowId}
           and del_flag = 0
           and del_flag = 0

+ 7 - 2
fs-service/src/main/resources/mapper/company/CompanyWorkflowLobsterRecordMapper.xml

@@ -11,6 +11,10 @@
         <result property="status" column="status"/>
         <result property="status" column="status"/>
         <result property="errorMsg" column="error_msg"/>
         <result property="errorMsg" column="error_msg"/>
         <result property="resultJson" column="result_json"/>
         <result property="resultJson" column="result_json"/>
+        <result property="tokenCount" column="token_count"/>
+        <result property="cost" column="cost"/>
+        <result property="savedTemplateId" column="saved_template_id"/>
+        <result property="modelVersion" column="model_version"/>
         <result property="createBy" column="create_by"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateBy" column="update_by"/>
@@ -20,13 +24,14 @@
 
 
     <insert id="insertRecord" parameterType="CompanyWorkflowLobsterRecord" useGeneratedKeys="true" keyProperty="id">
     <insert id="insertRecord" parameterType="CompanyWorkflowLobsterRecord" useGeneratedKeys="true" keyProperty="id">
         insert into company_workflow_lobster_record
         insert into company_workflow_lobster_record
-        (company_id, record_no, requirement, selected_api_ids, status, error_msg, result_json, create_by, create_time, update_by, update_time, del_flag)
+        (company_id, record_no, requirement, selected_api_ids, status, error_msg, result_json, token_count, cost, saved_template_id, model_version, create_by, create_time, update_by, update_time, del_flag)
         values
         values
-        (#{companyId}, #{recordNo}, #{requirement}, #{selectedApiIds}, #{status}, #{errorMsg}, #{resultJson}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{delFlag})
+        (#{companyId}, #{recordNo}, #{requirement}, #{selectedApiIds}, #{status}, #{errorMsg}, #{resultJson}, #{tokenCount}, #{cost}, #{savedTemplateId}, #{modelVersion}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{delFlag})
     </insert>
     </insert>
 
 
     <select id="selectByRecordNo" resultMap="CompanyWorkflowLobsterRecordResult">
     <select id="selectByRecordNo" resultMap="CompanyWorkflowLobsterRecordResult">
         select id, company_id, record_no, requirement, selected_api_ids, status, error_msg, result_json,
         select id, company_id, record_no, requirement, selected_api_ids, status, error_msg, result_json,
+               token_count, cost, saved_template_id, model_version,
                create_by, create_time, update_by, update_time, del_flag
                create_by, create_time, update_by, update_time, del_flag
         from company_workflow_lobster_record
         from company_workflow_lobster_record
         where record_no = #{recordNo}
         where record_no = #{recordNo}

+ 13 - 3
fs-service/src/main/resources/mapper/company/CompanyWorkflowLobsterTaskMapper.xml

@@ -22,6 +22,13 @@
         <result property="corpId"          column="corp_id"/>
         <result property="corpId"          column="corp_id"/>
         <result property="companyUserId"   column="company_user_id"/>
         <result property="companyUserId"   column="company_user_id"/>
         <result property="lobsterNodeId"   column="lobster_node_id"/>
         <result property="lobsterNodeId"   column="lobster_node_id"/>
+        <result property="sendTime"        column="send_time"/>
+        <result property="qwUserId"        column="qw_user_id"/>
+        <result property="bindingId"       column="binding_id"/>
+        <result property="externalUserId"  column="external_user_id"/>
+        <result property="taskResult"      column="task_result"/>
+        <result property="taskDuration"    column="task_duration"/>
+        <result property="parentTaskId"    column="parent_task_id"/>
         <result property="remark"          column="remark"/>
         <result property="remark"          column="remark"/>
         <result property="createBy"        column="create_by"/>
         <result property="createBy"        column="create_by"/>
         <result property="createTime"      column="create_time"/>
         <result property="createTime"      column="create_time"/>
@@ -33,7 +40,8 @@
         select id, company_id, template_id, task_name, task_type, task_content,
         select id, company_id, template_id, task_name, task_type, task_content,
                cron_expression, execute_status, execute_count, max_retry, retry_count,
                cron_expression, execute_status, execute_count, max_retry, retry_count,
                last_execute_time, next_execute_time, fail_reason, sort_order, del_flag,
                last_execute_time, next_execute_time, fail_reason, sort_order, del_flag,
-               corp_id, company_user_id, lobster_node_id, remark,
+               corp_id, company_user_id, lobster_node_id, send_time, qw_user_id, binding_id, external_user_id,
+               task_result, task_duration, parent_task_id, remark,
                create_by, create_time, update_by, update_time
                create_by, create_time, update_by, update_time
         from company_workflow_lobster_task
         from company_workflow_lobster_task
         where id = #{id}
         where id = #{id}
@@ -46,7 +54,8 @@
         select id, company_id, template_id, task_name, task_type, task_content,
         select id, company_id, template_id, task_name, task_type, task_content,
                cron_expression, execute_status, execute_count, max_retry, retry_count,
                cron_expression, execute_status, execute_count, max_retry, retry_count,
                last_execute_time, next_execute_time, fail_reason, sort_order, del_flag,
                last_execute_time, next_execute_time, fail_reason, sort_order, del_flag,
-               corp_id, company_user_id, lobster_node_id, remark,
+               corp_id, company_user_id, lobster_node_id, send_time, qw_user_id, binding_id, external_user_id,
+               task_result, task_duration, parent_task_id, remark,
                create_by, create_time, update_by, update_time
                create_by, create_time, update_by, update_time
         from company_workflow_lobster_task
         from company_workflow_lobster_task
         where template_id = #{templateId}
         where template_id = #{templateId}
@@ -59,7 +68,8 @@
         select id, company_id, template_id, task_name, task_type, task_content,
         select id, company_id, template_id, task_name, task_type, task_content,
                cron_expression, execute_status, execute_count, max_retry, retry_count,
                cron_expression, execute_status, execute_count, max_retry, retry_count,
                last_execute_time, next_execute_time, fail_reason, sort_order, del_flag,
                last_execute_time, next_execute_time, fail_reason, sort_order, del_flag,
-               corp_id, company_user_id, lobster_node_id, remark,
+               corp_id, company_user_id, lobster_node_id, send_time, qw_user_id, binding_id, external_user_id,
+               task_result, task_duration, parent_task_id, remark,
                create_by, create_time, update_by, update_time
                create_by, create_time, update_by, update_time
         from company_workflow_lobster_task
         from company_workflow_lobster_task
         where company_id = #{companyId}
         where company_id = #{companyId}

+ 4 - 2
fs-service/src/main/resources/mapper/company/CompanyWorkflowLobsterVariableMapper.xml

@@ -4,11 +4,12 @@
 
 
     <insert id="batchInsert">
     <insert id="batchInsert">
         insert into company_workflow_lobster_variable
         insert into company_workflow_lobster_variable
-        (workflow_id, var_code, var_name, var_type, source_type, required, default_value, description, create_by, create_time, update_by, update_time, del_flag)
+        (workflow_id, var_code, var_name, var_type, source_type, required, default_value, description, validation_rule, options, is_sensitive, create_by, create_time, update_by, update_time, del_flag)
         values
         values
         <foreach collection="list" item="item" separator=",">
         <foreach collection="list" item="item" separator=",">
             (#{item.workflowId}, #{item.varCode}, #{item.varName}, #{item.varType}, #{item.sourceType}, #{item.required},
             (#{item.workflowId}, #{item.varCode}, #{item.varName}, #{item.varType}, #{item.sourceType}, #{item.required},
-            #{item.defaultValue}, #{item.description}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.delFlag})
+            #{item.defaultValue}, #{item.description}, #{item.validationRule}, #{item.options}, #{item.isSensitive},
+            #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.delFlag})
         </foreach>
         </foreach>
     </insert>
     </insert>
 
 
@@ -20,6 +21,7 @@
 
 
     <select id="selectByWorkflowId" resultType="CompanyWorkflowLobsterVariable">
     <select id="selectByWorkflowId" resultType="CompanyWorkflowLobsterVariable">
         select id, workflow_id, var_code, var_name, var_type, source_type, required, default_value, description,
         select id, workflow_id, var_code, var_name, var_type, source_type, required, default_value, description,
+               validation_rule, options, is_sensitive,
                create_by, create_time, update_by, update_time, del_flag
                create_by, create_time, update_by, update_time, del_flag
         from company_workflow_lobster_variable
         from company_workflow_lobster_variable
         where workflow_id = #{workflowId}
         where workflow_id = #{workflowId}