百度智能外呼对接。
This commit is contained in:
parent
8f8d74d00c
commit
ec4fb23e75
@ -135,6 +135,16 @@ public class QuestionInfo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Long sourceTemplateId;
|
private Long sourceTemplateId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 话术表ID
|
||||||
|
*/
|
||||||
|
private Long scriptInfoId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器人模板ID(冗余字段)
|
||||||
|
*/
|
||||||
|
private String robotPublishId;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
|||||||
@ -81,8 +81,17 @@ public class QuestionSubjectOption extends BaseEntity {
|
|||||||
@Excel(name = "选项备注")
|
@Excel(name = "选项备注")
|
||||||
private String optionRemark;
|
private String optionRemark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 匹配问题文本。如果带变量,则用竖线|分隔,分段匹配,各分段必须都匹配。
|
||||||
|
*/
|
||||||
|
private String speechContextText;
|
||||||
|
|
||||||
@Override
|
/**
|
||||||
|
* 匹配意图描述,如果多个意图,用竖线|隔开,任意一个匹配即可。
|
||||||
|
*/
|
||||||
|
private String intent;
|
||||||
|
|
||||||
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||||
.append("id", getId())
|
.append("id", getId())
|
||||||
|
|||||||
@ -91,6 +91,12 @@ public class SignPatientManageRouteNode extends BaseEntity {
|
|||||||
@Excel(name = "话术表 ID")
|
@Excel(name = "话术表 ID")
|
||||||
private Long scriptInfoId;
|
private Long scriptInfoId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 爱医声平台机器人ID
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "爱医声平台机器人ID")
|
||||||
|
private String robotPublishId;
|
||||||
|
|
||||||
/** 电话模板ID */
|
/** 电话模板ID */
|
||||||
@ApiModelProperty(value = "电话模板ID")
|
@ApiModelProperty(value = "电话模板ID")
|
||||||
@Excel(name = "电话模板ID")
|
@Excel(name = "电话模板ID")
|
||||||
|
|||||||
@ -448,4 +448,19 @@ public class AIOBServiceImpl implements IAIOBService {
|
|||||||
importTask(importTaskDto);
|
importTask(importTaskDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 通过通话记录解析问卷内容
|
||||||
|
* @param record 通话记录
|
||||||
|
* @Author haown
|
||||||
|
* @Date 2024-9-6 14:30
|
||||||
|
*/
|
||||||
|
private void parseQuestionInfo(JSONArray record) {
|
||||||
|
// record=[{"role":"speech","timestamp":1724917698521,"contextText":"您好,我是山东省立医院的电话客服,请问您是李四本人或家属吗?", "sn":"19a09431-1ac6-43a1-8f9f-4b6f617bed73","intent":"NOINTENT","start":"00:00.033","stop":"00:06.974","timeLen":6941,"interrupted":false,"silent":false,"nodeInfo":"eyJwcm9jZXNzTmFtZSI6IuaFoueXheeUqOiNr+Wbnuiuv+ivneacryIsIm5vZGVOYW1lIjoi5byA5Zy655m96IqC54K5X3RwcnZtc2g4IiwiaW50ZW50IjoiIiwiZW50aXR5IjpbXSwic3lzdGVtRXZlbnQiOiIiLCJmYXEiOiIifQ=="},
|
||||||
|
// {"role":"voice","timestamp":1724917707542,"content":"是的","contextText":"是的","sn":"0e5c9c4e65db11ef_2_1","start":"00:06.930","stop":"00:08.330","timeLen":1400,"interrupted":false,"silent":false},
|
||||||
|
// {"role":"speech","timestamp":1724917708359,"content":"是的","contextText":"好的,您之前在我们医院住过院,想了解一下您近期的健康状况。","sn":"0e5c9c4e65db11ef_2_1","intent":"patient_self","start":"00:09.871","stop":"00:15.793","timeLen":5922,"interrupted":false,"silent":false,"nodeInfo":"eyJwcm9jZXNzTmFtZSI6IuaFoueXheeUqOiNr+Wbnuiuv+ivneacryIsIm5vZGVOYW1lIjoi5pys5Lq66IqC54K5X3Nyd2Q5MTR3IiwiaW50ZW50Ijoi5piv5pys5Lq6IiwiZW50aXR5IjpbXSwic3lzdGVtRXZlbnQiOiIiLCJmYXEiOiIifQ=="},
|
||||||
|
// {"role":"voice","timestamp":1724917718191,"content":"好的嗯","contextText":"好的嗯","sn":"0e5c9c4e65db11ef_4_1","start":"00:16.650","stop":"00:18.970","timeLen":2320,"interrupted":false,"silent":false},
|
||||||
|
// {"role":"speech","timestamp":1724917718873,"content":"好的嗯","contextText":"您是否正常按时服药呢?","sn":"0e5c9c4e65db11ef_4_1","intent":"NOINTENT","start":"00:20.385","stop":"00:22.917","timeLen":2532,"interrupted":false,"silent":false,"nodeInfo":"eyJwcm9jZXNzTmFtZSI6IuaFoueXheeUqOiNr+Wbnuiuv+ivneacryIsIm5vZGVOYW1lIjoi6IKv5a6a6IqC54K5X3F6aWpzb2g2IiwiaW50ZW50IjoiIiwiZW50aXR5IjpbXSwic3lzdGVtRXZlbnQiOiIiLCJmYXEiOiIifQ=="},
|
||||||
|
// {"role":"voice","timestamp":1724917725425,"content":"是的","contextText":"是的","sn":"0e5c9c4e65db11ef_6_1","start":"00:24.810","stop":"00:26.210","timeLen":1400,"interrupted":false,"silent":false},
|
||||||
|
// {"role":"speech","timestamp":1724917725993,"content":"是的","contextText":"祝您早日康复。","sn":"0e5c9c4e65db11ef_6_1","intent":"sys_yes","start":"00:27.505","stop":"00:29.637","timeLen":2132,"interrupted":false,"silent":false,"nodeInfo":"eyJwcm9jZXNzTmFtZSI6IuaFoueXheeUqOiNr+Wbnuiuv+ivneacryIsIm5vZGVOYW1lIjoi5oyJ5pe25pyN6I2v6IqC54K5X3Bxd2RkcDBpIiwiaW50ZW50Ijoi6IKv5a6a5oSP5Zu+IiwiZW50aXR5IjpbXSwic3lzdGVtRXZlbnQiOiIiLCJmYXEiOiIifQ=="}],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import com.xinelu.common.enums.ErrorStatusEnum;
|
|||||||
import com.xinelu.common.enums.NodeExecuteResultStatusEnum;
|
import com.xinelu.common.enums.NodeExecuteResultStatusEnum;
|
||||||
import com.xinelu.common.enums.NodeExecuteStatusEnum;
|
import com.xinelu.common.enums.NodeExecuteStatusEnum;
|
||||||
import com.xinelu.common.enums.PhoneConnectStatusEnum;
|
import com.xinelu.common.enums.PhoneConnectStatusEnum;
|
||||||
|
import com.xinelu.common.enums.PhoneDialMethodEnum;
|
||||||
import com.xinelu.common.enums.PhoneMessageRemindEnum;
|
import com.xinelu.common.enums.PhoneMessageRemindEnum;
|
||||||
import com.xinelu.common.enums.PhoneRedialTimesEnum;
|
import com.xinelu.common.enums.PhoneRedialTimesEnum;
|
||||||
import com.xinelu.common.enums.RouteNodeNameEnum;
|
import com.xinelu.common.enums.RouteNodeNameEnum;
|
||||||
@ -732,6 +733,10 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
|||||||
templateDetail = JSONObject.parseObject(JSONObject.toJSONString(scriptInfo));
|
templateDetail = JSONObject.parseObject(JSONObject.toJSONString(scriptInfo));
|
||||||
manageRouteNode.setTemplateType(TemplateTypeConstants.SCRIPT);
|
manageRouteNode.setTemplateType(TemplateTypeConstants.SCRIPT);
|
||||||
manageRouteNode.setTemplateDetail(templateDetail);
|
manageRouteNode.setTemplateDetail(templateDetail);
|
||||||
|
|
||||||
|
if (StringUtils.equals(PhoneDialMethodEnum.AI.getInfo(), manageRouteNode.getPhoneDialMethod()) && StringUtils.isBlank(scriptInfo.getRobotPublishId())) {
|
||||||
|
throw new ServiceException("第三方机器人id为空");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 电话短信内容
|
// 电话短信内容
|
||||||
if (node.getPhoneMessageTemplateId() != null) {
|
if (node.getPhoneMessageTemplateId() != null) {
|
||||||
@ -777,6 +782,10 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
|||||||
templateDetail = JSONObject.parseObject(JSONObject.toJSONString(scriptInfo));
|
templateDetail = JSONObject.parseObject(JSONObject.toJSONString(scriptInfo));
|
||||||
manageNode.setTemplateType(TemplateTypeConstants.SCRIPT);
|
manageNode.setTemplateType(TemplateTypeConstants.SCRIPT);
|
||||||
manageNode.setTemplateDetail(templateDetail);
|
manageNode.setTemplateDetail(templateDetail);
|
||||||
|
|
||||||
|
if (StringUtils.equals(PhoneDialMethodEnum.AI.getInfo(), manageNode.getPhoneDialMethod()) && StringUtils.isBlank(scriptInfo.getRobotPublishId())) {
|
||||||
|
throw new ServiceException("第三方机器人id为空");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (manageNode.getQuestionInfoId() != null) { // 问卷
|
} else if (manageNode.getQuestionInfoId() != null) { // 问卷
|
||||||
// 查询问卷详情
|
// 查询问卷详情
|
||||||
|
|||||||
@ -28,6 +28,7 @@ import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecor
|
|||||||
import com.xinelu.manage.domain.patienttaskstatistics.PatientTaskStatistics;
|
import com.xinelu.manage.domain.patienttaskstatistics.PatientTaskStatistics;
|
||||||
import com.xinelu.manage.domain.patientvisitrecord.PatientVisitRecord;
|
import com.xinelu.manage.domain.patientvisitrecord.PatientVisitRecord;
|
||||||
import com.xinelu.manage.domain.propagandainfo.PropagandaInfo;
|
import com.xinelu.manage.domain.propagandainfo.PropagandaInfo;
|
||||||
|
import com.xinelu.manage.domain.questioninfo.QuestionInfo;
|
||||||
import com.xinelu.manage.domain.scriptInfo.ScriptInfo;
|
import com.xinelu.manage.domain.scriptInfo.ScriptInfo;
|
||||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||||
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||||
@ -748,6 +749,9 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
|||||||
// 话术库json内容替换
|
// 话术库json内容替换
|
||||||
manageNode.setPhoneNodeContent(getFlowScheme(scriptInfo.getFlowScheme(), labelFieldContentList));
|
manageNode.setPhoneNodeContent(getFlowScheme(scriptInfo.getFlowScheme(), labelFieldContentList));
|
||||||
manageNode.setPhoneTemplateId(scriptInfo.getScriptId());
|
manageNode.setPhoneTemplateId(scriptInfo.getScriptId());
|
||||||
|
if (StringUtils.equals(PhoneDialMethodEnum.AI.getInfo(), manageNode.getPhoneDialMethod()) && StringUtils.isBlank(scriptInfo.getRobotPublishId())) {
|
||||||
|
throw new ServiceException("第三方机器人id为空");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 电话短信内容
|
// 电话短信内容
|
||||||
@ -1168,8 +1172,17 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
|||||||
break;
|
break;
|
||||||
// 问卷
|
// 问卷
|
||||||
case TaskNodeTypeConstants.QUESTIONNAIRE_SCALE:
|
case TaskNodeTypeConstants.QUESTIONNAIRE_SCALE:
|
||||||
|
QuestionInfo questionInfo = questionInfoService.selectQuestionInfoById(node.getTemplateId());
|
||||||
manageRouteNode.setQuestionInfoId(node.getTemplateId());
|
manageRouteNode.setQuestionInfoId(node.getTemplateId());
|
||||||
manageRouteNode.setQuestionnaireName(node.getTemplateName());
|
manageRouteNode.setQuestionnaireName(node.getTemplateName());
|
||||||
|
if (ObjectUtils.isNotEmpty(questionInfo)) {
|
||||||
|
manageRouteNode.setScriptInfoId(questionInfo.getScriptInfoId());
|
||||||
|
manageRouteNode.setRobotPublishId(questionInfo.getRobotPublishId());
|
||||||
|
// 节点是否是AI电话
|
||||||
|
if (StringUtils.equals(PhoneDialMethodEnum.AI.getInfo(), manageRouteNode.getPhoneDialMethod()) && StringUtils.isBlank(questionInfo.getRobotPublishId())) {
|
||||||
|
throw new ServiceException("第三方机器人id为空");
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
// 话术
|
// 话术
|
||||||
case TaskNodeTypeConstants.PHONE_OUTBOUND:
|
case TaskNodeTypeConstants.PHONE_OUTBOUND:
|
||||||
@ -1179,9 +1192,10 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
|||||||
if (ObjectUtils.isNotEmpty(scriptInfo)) {
|
if (ObjectUtils.isNotEmpty(scriptInfo)) {
|
||||||
// 话术库json内容替换
|
// 话术库json内容替换
|
||||||
manageRouteNode.setPhoneNodeContent(getFlowScheme(scriptInfo.getFlowScheme(), labelFieldContentList));
|
manageRouteNode.setPhoneNodeContent(getFlowScheme(scriptInfo.getFlowScheme(), labelFieldContentList));
|
||||||
|
manageRouteNode.setRobotPublishId(scriptInfo.getRobotPublishId());
|
||||||
// 节点是否是AI电话
|
// 节点是否是AI电话
|
||||||
if (StringUtils.equals(PhoneDialMethodEnum.AI.getInfo(), manageRouteNode.getPhoneDialMethod())) {
|
if (StringUtils.equals(PhoneDialMethodEnum.AI.getInfo(), manageRouteNode.getPhoneDialMethod()) && StringUtils.isBlank(scriptInfo.getRobotPublishId())) {
|
||||||
|
throw new ServiceException("第三方机器人id为空");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -21,6 +21,8 @@
|
|||||||
<result property="questionnaireRemark" column="questionnaire_remark"/>
|
<result property="questionnaireRemark" column="questionnaire_remark"/>
|
||||||
<result property="sourceTemplateId" column="source_template_id"/>
|
<result property="sourceTemplateId" column="source_template_id"/>
|
||||||
<result property="questionType" column="question_type"/>
|
<result property="questionType" column="question_type"/>
|
||||||
|
<result property="scriptInfoId" column="script_info_id"/>
|
||||||
|
<result property="robotPublishId" column="robot_publish_id"/>
|
||||||
<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"/>
|
||||||
@ -44,7 +46,9 @@
|
|||||||
questionnaire_remark,
|
questionnaire_remark,
|
||||||
source_template_id,
|
source_template_id,
|
||||||
question_type,
|
question_type,
|
||||||
create_by,
|
script_info_id,
|
||||||
|
robot_publish_id,
|
||||||
|
create_by,
|
||||||
create_time,
|
create_time,
|
||||||
update_by,
|
update_by,
|
||||||
update_time
|
update_time
|
||||||
@ -208,6 +212,10 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="questionType != null">question_type,
|
<if test="questionType != null">question_type,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="scriptInfoId != null">script_info_id,
|
||||||
|
</if>
|
||||||
|
<if test="robotPublishId != null">robot_publish_id,
|
||||||
|
</if>
|
||||||
<if test="createBy != null">create_by,
|
<if test="createBy != null">create_by,
|
||||||
</if>
|
</if>
|
||||||
<if test="createTime != null">create_time,
|
<if test="createTime != null">create_time,
|
||||||
@ -248,6 +256,10 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="questionType != null">#{questionType},
|
<if test="questionType != null">#{questionType},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="scriptInfoId != null">#{scriptInfoId},
|
||||||
|
</if>
|
||||||
|
<if test="robotPublishId != null">#{robotPublishId},
|
||||||
|
</if>
|
||||||
<if test="createBy != null">#{createBy},
|
<if test="createBy != null">#{createBy},
|
||||||
</if>
|
</if>
|
||||||
<if test="createTime != null">#{createTime},
|
<if test="createTime != null">#{createTime},
|
||||||
@ -307,6 +319,12 @@
|
|||||||
<if test="questionType != null">question_type =
|
<if test="questionType != null">question_type =
|
||||||
#{questionType},
|
#{questionType},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="scriptInfoId != null">script_info_id =
|
||||||
|
#{scriptInfoId},
|
||||||
|
</if>
|
||||||
|
<if test="robotPublishId != null">robot_publish_id =
|
||||||
|
#{robotPublishId},
|
||||||
|
</if>
|
||||||
<if test="createBy != null">create_by =
|
<if test="createBy != null">create_by =
|
||||||
#{createBy},
|
#{createBy},
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@ -17,6 +17,8 @@
|
|||||||
<result property="createTime" column="create_time"/>
|
<result property="createTime" column="create_time"/>
|
||||||
<result property="updateBy" column="update_by"/>
|
<result property="updateBy" column="update_by"/>
|
||||||
<result property="updateTime" column="update_time"/>
|
<result property="updateTime" column="update_time"/>
|
||||||
|
<result property="speechContextText" column="speech_context_text"/>
|
||||||
|
<result property="intent" column="intent"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectQuestionSubjectOptionVo">
|
<sql id="selectQuestionSubjectOptionVo">
|
||||||
@ -31,7 +33,9 @@
|
|||||||
create_by,
|
create_by,
|
||||||
create_time,
|
create_time,
|
||||||
update_by,
|
update_by,
|
||||||
update_time
|
update_time,
|
||||||
|
speech_context_text,
|
||||||
|
intent
|
||||||
from question_subject_option
|
from question_subject_option
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@ -95,6 +99,10 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="updateTime != null">update_time,
|
<if test="updateTime != null">update_time,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="speechContextText != null">speech_context_text,
|
||||||
|
</if>
|
||||||
|
<if test="intent != null">intent,
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="questionnaireSubjectId != null">#{questionnaireSubjectId},
|
<if test="questionnaireSubjectId != null">#{questionnaireSubjectId},
|
||||||
@ -119,6 +127,10 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="updateTime != null">#{updateTime},
|
<if test="updateTime != null">#{updateTime},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="speechContextText != null">#{speechContextText},
|
||||||
|
</if>
|
||||||
|
<if test="intent != null">#{intent},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@ -158,6 +170,12 @@
|
|||||||
<if test="updateTime != null">update_time =
|
<if test="updateTime != null">update_time =
|
||||||
#{updateTime},
|
#{updateTime},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="speechContextText != null">speech_context_text =
|
||||||
|
#{speechContextText},
|
||||||
|
</if>
|
||||||
|
<if test="intent != null">intent =
|
||||||
|
#{intent},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
@ -185,7 +203,9 @@
|
|||||||
option_sort,
|
option_sort,
|
||||||
option_remark,
|
option_remark,
|
||||||
create_by,
|
create_by,
|
||||||
create_time
|
create_time,
|
||||||
|
speech_context_text,
|
||||||
|
intent
|
||||||
) values
|
) values
|
||||||
<foreach item="QuestionSubjectOption" index="index" collection="list" separator=",">
|
<foreach item="QuestionSubjectOption" index="index" collection="list" separator=",">
|
||||||
(
|
(
|
||||||
@ -197,7 +217,9 @@
|
|||||||
#{QuestionSubjectOption.optionSort},
|
#{QuestionSubjectOption.optionSort},
|
||||||
#{QuestionSubjectOption.optionRemark},
|
#{QuestionSubjectOption.optionRemark},
|
||||||
#{QuestionSubjectOption.createBy},
|
#{QuestionSubjectOption.createBy},
|
||||||
#{QuestionSubjectOption.createTime}
|
#{QuestionSubjectOption.createTime},
|
||||||
|
#{QuestionSubjectOption.speechContextText},
|
||||||
|
#{QuestionSubjectOption.intent}
|
||||||
)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
@ -215,7 +237,9 @@
|
|||||||
create_by,
|
create_by,
|
||||||
create_time,
|
create_time,
|
||||||
update_by,
|
update_by,
|
||||||
update_time
|
update_time,
|
||||||
|
speech_context_text,
|
||||||
|
intent
|
||||||
from question_subject_option
|
from question_subject_option
|
||||||
<where>
|
<where>
|
||||||
<if test="questionSubjectIds != null and questionSubjectIds.size() > 0">
|
<if test="questionSubjectIds != null and questionSubjectIds.size() > 0">
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
<result property="executeTime" column="execute_time"/>
|
<result property="executeTime" column="execute_time"/>
|
||||||
<result property="phonePushSign" column="phone_push_sign"/>
|
<result property="phonePushSign" column="phone_push_sign"/>
|
||||||
<result property="scriptInfoId" column="script_info_id"/>
|
<result property="scriptInfoId" column="script_info_id"/>
|
||||||
|
<result property="robotPublishId" column="robot_publish_id"/>
|
||||||
<result property="phoneTemplateId" column="phone_template_id"/>
|
<result property="phoneTemplateId" column="phone_template_id"/>
|
||||||
<result property="phoneTemplateName" column="phone_template_name"/>
|
<result property="phoneTemplateName" column="phone_template_name"/>
|
||||||
<result property="phoneNodeContent" column="phone_node_content"/>
|
<result property="phoneNodeContent" column="phone_node_content"/>
|
||||||
@ -85,7 +86,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectSignPatientManageRouteNodeVo">
|
<sql id="selectSignPatientManageRouteNodeVo">
|
||||||
select id, manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_type, task_status, task_subdivision, task_node_type, second_classify_describe, execute_time, phone_push_sign, script_info_id, phone_template_id, phone_template_name, phone_node_content,phone_result_json, phone_redial_times, phone_time_interval, phone_message_remind, phone_message_template_id, phone_message_template_name,phone_message_template_content,question_info_id, questionnaire_name, questionnaire_content, question_expiration_date, propaganda_info_id, propaganda_title, propaganda_content, message_push_sign, message_template_id, message_template_code, message_template_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_code, official_template_name, official_remind_content, official_node_content, follow_template_id, follow_template_name, applet_push_sign, applet_template_id, applet_template_code, applet_template_name, applet_remind_content, applet_prompt_description, applet_node_content, route_check_status, route_check_person, route_check_date, route_check_remark, route_node_remark, node_execute_status, route_handle_remark, route_handle_id, route_handle_person, route_link,text_remind_content, node_content,message_status, del_flag, create_by, create_time, update_by, update_time, phone_dial_method, phone_node_execute_result_status, message_node_execute_result_status, official_node_execute_result_status, applet_node_execute_result_status, node_finish_date, task_id_ext from sign_patient_manage_route_node
|
select id, manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_type, task_status, task_subdivision, task_node_type, second_classify_describe, execute_time, phone_push_sign, script_info_id, robot_publish_id, phone_template_id, phone_template_name, phone_node_content,phone_result_json, phone_redial_times, phone_time_interval, phone_message_remind, phone_message_template_id, phone_message_template_name,phone_message_template_content,question_info_id, questionnaire_name, questionnaire_content, question_expiration_date, propaganda_info_id, propaganda_title, propaganda_content, message_push_sign, message_template_id, message_template_code, message_template_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_code, official_template_name, official_remind_content, official_node_content, follow_template_id, follow_template_name, applet_push_sign, applet_template_id, applet_template_code, applet_template_name, applet_remind_content, applet_prompt_description, applet_node_content, route_check_status, route_check_person, route_check_date, route_check_remark, route_node_remark, node_execute_status, route_handle_remark, route_handle_id, route_handle_person, route_link,text_remind_content, node_content,message_status, del_flag, create_by, create_time, update_by, update_time, phone_dial_method, phone_node_execute_result_status, message_node_execute_result_status, official_node_execute_result_status, applet_node_execute_result_status, node_finish_date, task_id_ext from sign_patient_manage_route_node
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectSignPatientManageRouteNodeList" parameterType="com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto" resultMap="SignPatientManageRouteNodeResult">
|
<select id="selectSignPatientManageRouteNodeList" parameterType="com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto" resultMap="SignPatientManageRouteNodeResult">
|
||||||
@ -238,6 +239,8 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="scriptInfoId != null">script_info_id,
|
<if test="scriptInfoId != null">script_info_id,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="robotPublishId != null">robot_publish_id,
|
||||||
|
</if>
|
||||||
<if test="phoneTemplateId != null">phone_template_id,
|
<if test="phoneTemplateId != null">phone_template_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="phoneTemplateName != null">phone_template_name,
|
<if test="phoneTemplateName != null">phone_template_name,
|
||||||
@ -382,6 +385,8 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="scriptInfoId != null">#{scriptInfoId},
|
<if test="scriptInfoId != null">#{scriptInfoId},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="robotPublishId != null">#{robotPublishId},
|
||||||
|
</if>
|
||||||
<if test="phoneTemplateId != null">#{phoneTemplateId},
|
<if test="phoneTemplateId != null">#{phoneTemplateId},
|
||||||
</if>
|
</if>
|
||||||
<if test="phoneTemplateName != null">#{phoneTemplateName},
|
<if test="phoneTemplateName != null">#{phoneTemplateName},
|
||||||
@ -502,7 +507,7 @@
|
|||||||
</insert>
|
</insert>
|
||||||
<insert id="insertBatch">
|
<insert id="insertBatch">
|
||||||
insert into sign_patient_manage_route_node(manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_type, task_status, task_subdivision, task_node_type, second_classify_describe,
|
insert into sign_patient_manage_route_node(manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_type, task_status, task_subdivision, task_node_type, second_classify_describe,
|
||||||
execute_time, phone_push_sign, script_info_id, phone_template_id, phone_template_name, phone_node_content, phone_result_json, phone_redial_times, phone_time_interval, phone_message_remind, phone_message_template_id,
|
execute_time, phone_push_sign, script_info_id, robot_publish_id, phone_template_id, phone_template_name, phone_node_content, phone_result_json, phone_redial_times, phone_time_interval, phone_message_remind, phone_message_template_id,
|
||||||
phone_message_template_name, phone_message_template_content,question_info_id, questionnaire_name, questionnaire_content, question_expiration_date, propaganda_info_id, propaganda_title, propaganda_content, message_push_sign,
|
phone_message_template_name, phone_message_template_content,question_info_id, questionnaire_name, questionnaire_content, question_expiration_date, propaganda_info_id, propaganda_title, propaganda_content, message_push_sign,
|
||||||
message_template_id, message_template_code, message_template_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_code,official_template_name, official_remind_content,
|
message_template_id, message_template_code, message_template_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_code,official_template_name, official_remind_content,
|
||||||
official_node_content, applet_push_sign, applet_template_id, applet_template_code, applet_template_name, applet_remind_content, applet_prompt_description, applet_node_content,
|
official_node_content, applet_push_sign, applet_template_id, applet_template_code, applet_template_name, applet_remind_content, applet_prompt_description, applet_node_content,
|
||||||
@ -511,7 +516,7 @@
|
|||||||
values
|
values
|
||||||
<foreach collection="nodeList" item="item" separator=",">
|
<foreach collection="nodeList" item="item" separator=",">
|
||||||
(#{item.manageRouteId},#{item.manageRouteName},#{item.routeNodeId},#{item.routeNodeName},#{item.routeNodeDay},#{item.taskType},#{item.taskStatus},#{item.taskSubdivision},#{item.taskNodeType},#{item.secondClassifyDescribe},
|
(#{item.manageRouteId},#{item.manageRouteName},#{item.routeNodeId},#{item.routeNodeName},#{item.routeNodeDay},#{item.taskType},#{item.taskStatus},#{item.taskSubdivision},#{item.taskNodeType},#{item.secondClassifyDescribe},
|
||||||
#{item.executeTime},#{item.phonePushSign},#{item.scriptInfoId},#{item.phoneTemplateId},#{item.phoneTemplateName},#{item.phoneNodeContent},#{phoneResultJson},#{item.phoneRedialTimes},#{item.phoneTimeInterval},#{item.phoneMessageRemind},#{item.phoneMessageTemplateId},
|
#{item.executeTime},#{item.phonePushSign},#{item.scriptInfoId},#{item.robotPublishId},#{item.phoneTemplateId},#{item.phoneTemplateName},#{item.phoneNodeContent},#{phoneResultJson},#{item.phoneRedialTimes},#{item.phoneTimeInterval},#{item.phoneMessageRemind},#{item.phoneMessageTemplateId},
|
||||||
#{item.phoneMessageTemplateName},#{item.phoneMessageTemplateContent},
|
#{item.phoneMessageTemplateName},#{item.phoneMessageTemplateContent},
|
||||||
#{item.questionInfoId},#{item.questionnaireName},#{item.questionnaireContent},#{item.questionExpirationDate},#{item.propagandaInfoId},#{item.propagandaTitle},#{item.propagandaContent},#{item.messagePushSign},
|
#{item.questionInfoId},#{item.questionnaireName},#{item.questionnaireContent},#{item.questionExpirationDate},#{item.propagandaInfoId},#{item.propagandaTitle},#{item.propagandaContent},#{item.messagePushSign},
|
||||||
#{item.messageTemplateId}, #{item.messageTemplateCode},
|
#{item.messageTemplateId}, #{item.messageTemplateCode},
|
||||||
@ -563,6 +568,9 @@
|
|||||||
<if test="scriptInfoId != null">script_info_id =
|
<if test="scriptInfoId != null">script_info_id =
|
||||||
#{scriptInfoId},
|
#{scriptInfoId},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="robotPublishId != null">robot_publish_id =
|
||||||
|
#{robotPublishId},
|
||||||
|
</if>
|
||||||
<if test="phoneTemplateId != null">phone_template_id =
|
<if test="phoneTemplateId != null">phone_template_id =
|
||||||
#{phoneTemplateId},
|
#{phoneTemplateId},
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@ -83,7 +83,7 @@ public class UploadRobotPublishTask {
|
|||||||
*/
|
*/
|
||||||
public void uploadRobotPublishTask() {
|
public void uploadRobotPublishTask() {
|
||||||
log.info("开始执行百度智能外呼创建任务定时任务......");
|
log.info("开始执行百度智能外呼创建任务定时任务......");
|
||||||
// 查找需要当天执行的AI打电话任务
|
// 查找需要当天执行的AI打电话任务(问卷或电话外呼类型)
|
||||||
SignPatientManageRouteNodeDto signPatientManageRouteNodeDto = new SignPatientManageRouteNodeDto();
|
SignPatientManageRouteNodeDto signPatientManageRouteNodeDto = new SignPatientManageRouteNodeDto();
|
||||||
signPatientManageRouteNodeDto.setTaskNodeType(TaskNodeTypeEnum.PHONE_OUTBOUND.getInfo());
|
signPatientManageRouteNodeDto.setTaskNodeType(TaskNodeTypeEnum.PHONE_OUTBOUND.getInfo());
|
||||||
signPatientManageRouteNodeDto.setNodeExecuteStatus(NodeExecuteStatusEnum.UNEXECUTED.getInfo());
|
signPatientManageRouteNodeDto.setNodeExecuteStatus(NodeExecuteStatusEnum.UNEXECUTED.getInfo());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user