package com.fs.company.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.company.vo.RoboticWxVo;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 机器人外呼任务对象 company_voice_robotic
 *
 * @author fs
 * @date 2024-12-04
 */
@Data
public class CompanyVoiceRobotic {
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String name;

    /** 三方任务名称 */
    @Excel(name = "三方任务名称")
    private String taskName;

    /** 三方任务ID */
    @Excel(name = "三方任务ID")
    private Long taskId;

    /** 机器人ID */
    @Excel(name = "机器人ID")
    private Long robot;

    /** 话术ID */
    @Excel(name = "话术ID")
    private Long dialogId;

    /** 模式 */
    @Excel(name = "模式")
    private Long mode;

    /** 呼叫倍率;1-5 */
    @Excel(name = "呼叫倍率;1-5")
    private Long multiplier;

    /** 是否开启自动重呼;0否 1是 */
    @Excel(name = "是否开启自动重呼;0否 1是")
    private Long autoRecall;

    /** 重呼次数;最大5 0表示不自动重呼 */
    @Excel(name = "重呼次数;最大5 0表示不自动重呼")
    private Long recallTimes;

    /** 主叫分组ID */
    @Excel(name = "主叫分组ID")
    private Long cidGroupId;

    /** 时间段星期;0表示周天 1-6表示周一到周六 */
    @Excel(name = "时间段星期;0表示周天 1-6表示周一到周六")
    private String weekDay1;

    /** 开始时间 */
    @Excel(name = "开始时间")
    private String startTime1;

    /** 结束时间 */
    @Excel(name = "结束时间")
    private String endTime1;

    /** 时间段星期;0表示周天 1-6表示周一到周六 */
    @Excel(name = "时间段星期;0表示周天 1-6表示周一到周六")
    private String weekDay2;

    /** 开始时间 */
    @Excel(name = "开始时间")
    private String startTime2;

    /** 结束时间 */
    @Excel(name = "结束时间")
    private String endTime2;

    /** 结束时间 */
    @Excel(name = "加微方式0平均1意向")
    private Integer addType;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long createUser;
    /** 创建人 */
    @Excel(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @TableField(exist = false)
    private List<String> userIds;
    @TableField(exist = false)
    private List<RoboticWxVo> qwUserList;

    @TableField(exist = false)
    private Map<String, Object> params;
}
