package com.fs.aicall.domain.param;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fs.aicall.domain.BaseDomain;
import lombok.*;

import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class CalltaskcreateaiCustomizeDomain extends BaseDomain {
    /*
    机器人组ID	Int	Y	-	-
     */
    private Long robot;
    /*
    话术ID	Int	Y	-	-
     */
    private Long dialogID;
    /*
    模式	Int	Y	-	只有 7 ，8
     */
    private Long mode;
    /*
    短信模板名称	String	N	-	通过【querySmsTemplates=查询短信模板信息】接口可获得
     */
    private String templateID;
    /*
    班组ID	Int	N	-	只有mode 为8 的情况下，必填
     */
    private String agentGroup;
    /*
    被叫号码	Array	Y	1-1000	Array 数组
     */
    private List<CalleeDomain> callees;
    /*
    主叫号码	Array	N	1-1000	主叫号码 和 主叫分组ID 必传其中一个，都传情况下，以 主叫分组ID为主
     */
    private List<CalleeDomain> callers;
    /*
    主叫分组ID	Int	N	-	主叫号码 和 主叫分组ID 必传其中一个，都传情况下，以 主叫分组ID为主
     */
    @JsonProperty("CIDGroupID")
    private String CIDGroupID = "3";
    /*
    任务名称	String	N	-	-
     */
    private String taskName = "测试任务1";
    /*
    呼叫倍率	String	N	-	1-5
     */
    private Long multiplier;
    /*
    呼叫基准模式	String	N	-	0 机器人 1 班组
     */
    private String robot_concurrence_mode;
    /*
    是否开启自动重呼	Int	N	-	0否 1是
     */
    private Long autoRecall;
    /*
    是否使用TTS将变量转换为语音	Int	N	-	0否 1是，不传默认为1
     */
    private String ttsTransfer;
    /*
    重呼次数	Int	N	-	最大5 0表示不自动重呼
     */
    private Long recallTimes;
    /*
    自动启动	Int	N	-	0否 1是 只在被叫名单列表中有TTS变量的情况下生效
     */
    private String autoStart;
    /*
    时间段1	Array	N	0，1,2，3,4,5,6	0表示周天 1-6表示周一到周六
     */
    private List<String> weekday1;
    /*
    时间段1的开始时间	String	N	08:00	如果传入weekday1后，必填 格式为HH:ii
     */
    private String startTime1;
    /*
    时间段1的结束时间	String	N	18:00	如果传入weekday1后，必填 格式为HH:ii
     */
    private String endTime1;
    /*
    时间段2	Array	N	0，1,2，3,4,5,6	0表示周天 1-6表示周一到周六
     */
    private String weekday2;
    /*
    时间段2的开始时间	String	N	08:00	如果传入weekday2后，必填 格式为HH:ii
     */
    private String startTime2;
    /*
    时间段2的结束时间	String	N	18:00	如果传入weekday2后，必填 格式为HH:ii
     */
    private String endTime2;
    /*
    时间段3	Array	N	0，1,2，3,4,5,6	0表示周天 1-6表示周一到周六
     */
    private String weekday3;
    /*
    时间段2的开始时间	String	N	08:00	如果传入weekday3后，必填 格式为HH:ii
     */
    private String startTime3;
    /*
    时间段2的结束时间	String	N	18:00	如果传入weekday3后，必填 格式为HH:ii
     */
    private String endTime3;
    /*
    是否为多个联系人名单任务，主要用于重呼时检查数据	Int	N	-	0否 1是，不传默认为0
     */
    private String multipleContacts;


}
