|
@@ -8,50 +8,24 @@ import com.fs.aicall.domain.TaskInfo;
|
|
|
import com.fs.aicall.domain.param.CalltaskcreateaiCustomizeDomain;
|
|
import com.fs.aicall.domain.param.CalltaskcreateaiCustomizeDomain;
|
|
|
import com.fs.aicall.domain.param.EditDialogDomain;
|
|
import com.fs.aicall.domain.param.EditDialogDomain;
|
|
|
import com.fs.aicall.domain.param.getDialogMapDomain;
|
|
import com.fs.aicall.domain.param.getDialogMapDomain;
|
|
|
-import com.fs.aicall.domain.result.CalltaskcreateaiCustomizeResult;
|
|
|
|
|
-import com.fs.aicall.domain.result.EditDialogResult;
|
|
|
|
|
-import com.fs.aicall.domain.result.GetairobotResult;
|
|
|
|
|
-import com.fs.aicall.domain.result.QueryCallTaskInfoResult;
|
|
|
|
|
|
|
+import com.fs.aicall.domain.result.*;
|
|
|
import com.fs.aicall.utils.AiCallUtils;
|
|
import com.fs.aicall.utils.AiCallUtils;
|
|
|
import com.fs.company.domain.CompanyVoiceApi;
|
|
import com.fs.company.domain.CompanyVoiceApi;
|
|
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
|
|
|
|
|
|
|
|
+@Component
|
|
|
public class AiCallService {
|
|
public class AiCallService {
|
|
|
|
|
|
|
|
|
|
|
|
|
private final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
|
|
private final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
|
|
|
- private final AiCallUtils utils;
|
|
|
|
|
- public AiCallService(AiCallUtils utils) {
|
|
|
|
|
- this.utils = utils;
|
|
|
|
|
- }
|
|
|
|
|
- public static Builder builder(){
|
|
|
|
|
- return new Builder();
|
|
|
|
|
- }
|
|
|
|
|
- public static class Builder {
|
|
|
|
|
-
|
|
|
|
|
- private AiCallUtils utils;
|
|
|
|
|
-
|
|
|
|
|
- public Builder config(CompanyVoiceApi api) {
|
|
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(api.getApiJson());
|
|
|
|
|
- AiCallConfig config = new AiCallConfig();
|
|
|
|
|
- config.setCustomer(jsonObject.getString("account"));
|
|
|
|
|
- config.setPassword(jsonObject.getString("password"));
|
|
|
|
|
- config.setUrl(jsonObject.getString("url"));
|
|
|
|
|
- config.setDialogUrl(jsonObject.getString("dialogUrl"));
|
|
|
|
|
- this.utils = new AiCallUtils(config);
|
|
|
|
|
- return this;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public AiCallService build() {
|
|
|
|
|
- return new AiCallService(this.utils);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ private AiCallUtils utils;
|
|
|
|
|
|
|
|
- public String getDialogUrl(){
|
|
|
|
|
- return utils.getDialogUrl();
|
|
|
|
|
|
|
+ public String getDialogUrl(Long companyId){
|
|
|
|
|
+ return utils.getConfig(companyId).getDialogUrl();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -85,71 +59,78 @@ public class AiCallService {
|
|
|
/**
|
|
/**
|
|
|
* 登录
|
|
* 登录
|
|
|
*/
|
|
*/
|
|
|
- public String getToken(){
|
|
|
|
|
- return utils.send("login", e -> e.getString("token"));
|
|
|
|
|
|
|
+ public String getToken(Long companyId){
|
|
|
|
|
+ return utils.send("login", e -> e.getString("token"), companyId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取机器人列表
|
|
* 获取机器人列表
|
|
|
*/
|
|
*/
|
|
|
- public List<GetairobotResult> getairobotlist(){
|
|
|
|
|
- return utils.send("getairobotlist", getList(GetairobotResult.class));
|
|
|
|
|
|
|
+ public List<GetairobotResult> getairobotlist(Long companyId){
|
|
|
|
|
+ return utils.send("getairobotlist", getList(GetairobotResult.class), companyId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取话术列表
|
|
* 获取话术列表
|
|
|
*/
|
|
*/
|
|
|
- public List<EditDialogResult> queryDialog(){
|
|
|
|
|
- return utils.send("queryDialog", getList("data", EditDialogResult.class));
|
|
|
|
|
|
|
+ public List<EditDialogResult> queryDialog(Long companyId){
|
|
|
|
|
+ return utils.send("queryDialog", getList("data", EditDialogResult.class), companyId);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 获取话术详情
|
|
* 获取话术详情
|
|
|
*/
|
|
*/
|
|
|
- public EditDialogResult getDialog(){
|
|
|
|
|
- return utils.send("getDialog", getObj(EditDialogResult.class));
|
|
|
|
|
|
|
+ public EditDialogResult getDialog(Long companyId){
|
|
|
|
|
+ return utils.send("getDialog", getObj(EditDialogResult.class), companyId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 修改/添加话术
|
|
* 修改/添加话术
|
|
|
* @param param 话术参数
|
|
* @param param 话术参数
|
|
|
*/
|
|
*/
|
|
|
- public EditDialogResult editDialog(EditDialogDomain param){
|
|
|
|
|
- return utils.send("editDialog", OBJECT_MAPPER.valueToTree(param), getObj(EditDialogResult.class));
|
|
|
|
|
|
|
+ public EditDialogResult editDialog(EditDialogDomain param, Long companyId){
|
|
|
|
|
+ return utils.send("editDialog", OBJECT_MAPPER.valueToTree(param), getObj(EditDialogResult.class), companyId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 创建机器人外呼任务
|
|
* 创建机器人外呼任务
|
|
|
* @param param 参数
|
|
* @param param 参数
|
|
|
*/
|
|
*/
|
|
|
- public CalltaskcreateaiCustomizeResult calltaskcreateaiCustomize(CalltaskcreateaiCustomizeDomain param){
|
|
|
|
|
- return utils.send("calltaskcreateaiCustomize", OBJECT_MAPPER.valueToTree(param), getObj(CalltaskcreateaiCustomizeResult.class));
|
|
|
|
|
|
|
+ public CalltaskcreateaiCustomizeResult calltaskcreateaiCustomize(CalltaskcreateaiCustomizeDomain param, Long companyId){
|
|
|
|
|
+ return utils.send("calltaskcreateaiCustomize", OBJECT_MAPPER.valueToTree(param), getObj(CalltaskcreateaiCustomizeResult.class), companyId);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 查询外呼任务状态信息
|
|
* 查询外呼任务状态信息
|
|
|
* @param param 参数
|
|
* @param param 参数
|
|
|
*/
|
|
*/
|
|
|
- public QueryCallTaskInfoResult queryCallTaskInfo(TaskInfo param){
|
|
|
|
|
- return utils.send("queryCallTaskInfo", OBJECT_MAPPER.valueToTree(param), getObj(QueryCallTaskInfoResult.class));
|
|
|
|
|
|
|
+ public QueryCallTaskInfoResult queryCallTaskInfo(TaskInfo param, Long companyId){
|
|
|
|
|
+ return utils.send("queryCallTaskInfo", OBJECT_MAPPER.valueToTree(param), getObj(QueryCallTaskInfoResult.class), companyId);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 启动外呼任务
|
|
* 启动外呼任务
|
|
|
* @param param 参数
|
|
* @param param 参数
|
|
|
*/
|
|
*/
|
|
|
- public TaskInfo startCallTask(TaskInfo param){
|
|
|
|
|
- return utils.send("startCallTask", OBJECT_MAPPER.valueToTree(param), getObj(TaskInfo.class));
|
|
|
|
|
|
|
+ public TaskInfo startCallTask(TaskInfo param, Long companyId){
|
|
|
|
|
+ return utils.send("startCallTask", OBJECT_MAPPER.valueToTree(param), getObj(TaskInfo.class), companyId);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 停止外呼任务
|
|
* 停止外呼任务
|
|
|
* @param param 参数
|
|
* @param param 参数
|
|
|
*/
|
|
*/
|
|
|
- public TaskInfo stopCallTask(TaskInfo param){
|
|
|
|
|
- return utils.send("stopCallTask", OBJECT_MAPPER.valueToTree(param), getObj(TaskInfo.class));
|
|
|
|
|
|
|
+ public TaskInfo stopCallTask(TaskInfo param, Long companyId){
|
|
|
|
|
+ return utils.send("stopCallTask", OBJECT_MAPPER.valueToTree(param), getObj(TaskInfo.class), companyId);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* 对话图查询(uuid)
|
|
* 对话图查询(uuid)
|
|
|
* @param param 参数
|
|
* @param param 参数
|
|
|
*/
|
|
*/
|
|
|
- public TaskInfo getDialogMap(getDialogMapDomain param){
|
|
|
|
|
- return utils.send("getDialogMap", OBJECT_MAPPER.valueToTree(param), getObj("telData", TaskInfo.class));
|
|
|
|
|
|
|
+ public TaskInfo getDialogMap(getDialogMapDomain param, Long companyId){
|
|
|
|
|
+ return utils.send("getDialogMap", OBJECT_MAPPER.valueToTree(param), getObj("telData", TaskInfo.class), companyId);
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取主叫分组
|
|
|
|
|
+ * @param param 参数
|
|
|
|
|
+ */
|
|
|
|
|
+ public CIDGroupListResult getCIDGroupList(BaseDomain param, Long companyId){
|
|
|
|
|
+ return utils.send("getCIDGroupList", OBJECT_MAPPER.valueToTree(param), getObj("telData", CIDGroupListResult.class), companyId);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|