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 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 _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 _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)); } }