fxkh-txl-service/src/main/java/com/whdc/model/entity/autocall/AICCUploadTask.java

121 lines
4.4 KiB
Java
Raw Normal View History

2025-07-14 11:23:11 +08:00
package com.whdc.model.entity.autocall;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* @author lyf
* @since 2025-06-20
*/
@Data
public class AICCUploadTask {
/*
JSONObject data = new JSONObject();
data.put("taskName", taskName);
data.put("processId", processId);
data.put("callerGroup", callerGroup);
data.put("requestId", requestId);
data.put("calleeType", 2);
data.put("repeatTimes", 2);
data.put("autoCall", "0");
data.put("spanSeconds", 60);
data.put("processType", "3");
data.put("mutiTimeRange", timeRange);
JSONArray params = new JSONArray();
JSONObject param = new JSONObject();
param.put("@common_user_name", custName);
param.put("@NUMBER", number);
if (bakNumbers != null && bakNumbers.length > 0) {
for (int i = 0; i < bakNumbers.length; i++) {
if (i == 3) break;
param.put("备用号码" + (i + 1), bakNumbers[i]);
}
}
param.put("custId", custId);
param.put("content", "我是省防办智能外呼系统," + content + "如需咨询请拨打02787221781");
params.add(param);
data.put("param", params);
*/
private String taskName;
private String processId;
private String callerGroup;
private String requestId;
private int calleeType = 1; //默认0 重乎1 顺乎2 默认为0
private int repeatTimes = 1;//呼叫次数,CallType=0不传; CalleeType=1重乎必传; CalleeType=2顺乎并且autoCall为0必传
private String autoCall = "0";//顺乎未接通是否重乎,开启=0; 关闭=1; CalleeType=2顺乎必传
private int spanSeconds = 3;//重乎间隔时间(秒),CallType=0不传; CalleeType=1重乎必传; CalleeType=2顺乎并且autoCall为0必传
private String processType = "3";
private String mutiTimeRange;
private List<Cust> param;
// private String smsSend = "1"; //1不发短信0发短信
// private String smsSendType = "0"; //挂机短信0,未接通短信1,smsSend为0必传
// private String templateId; //短信模板id,smsSend为0必传
@Data
public static class Cust {
@JSONField(name = "@common_user_name")
private String custName;
@JSONField(name = "@NUMBER")
private String number;
@JSONField(name = "备用号码1")
private String backNumber1;
@JSONField(name = "备用号码2")
private String backNumber2;
@JSONField(name = "备用号码3")
private String backNumber3;
private String custId;
private String content;
@JSONField(serialize = false, deserialize = false)
private List<String> _numbers;
public static CustBuilder builder() {
return new CustBuilder();
}
@Data
@Accessors(chain = true)
public static class CustBuilder {
private String custName;
private String custId;
private String content;
@JSONField(serialize = false, deserialize = false)
private List<String> _numbers;
public Cust build() {
Cust cust = new Cust();
cust.setCustName(custName);
cust.setCustId(custId);
cust.setContent(content);
for (int i = 0; i < _numbers.size(); i++) {
switch (i) {
case 0:
cust.setNumber(_numbers.get(i));
break;
case 1:
cust.setBackNumber1(_numbers.get(i));
break;
case 2:
cust.setBackNumber2(_numbers.get(i));
break;
case 3:
cust.setBackNumber3(_numbers.get(i));
break;
}
}
return cust;
}
}
}
public void genMutiTimeRange() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.mutiTimeRange = sdf.format(new Date()) + "_" + sdf.format(new Date(System.currentTimeMillis() + 1000 * 60 * 60));
}
}