package com.fs.aicall.vo;

import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class AiobCalleData {
    private String sessionId;
    private Long tenantId;
    private String taskId;
    private String taskName;
    private String robotId;
    private String robotName;
    private Long memberId;
    private String mobile;
    private Integer callTimes;
    private String callerNum;
    private Integer endType;
    private Integer callType;
    private String endTypeReason;
    private String contactUUID;
    private Long fileId;
    private CollectInfo collectInfo;
    private List<Record> record;
    private Integer durationTimeLen;
    private Integer ringingTimeLen;
    private Integer talkingTimeLen;
    private Long startTime;
    private Long ringStartTime;
    private Long talkingStartTime;
    private Long endTime;
    private String intent;
    private List<String> action;
    private Boolean isRobotHangup;
    private Map<String, Object> dialogVar;
    private Map<String, Object> smsVar;
    private String extJson;
    private Integer transResult;
    private String sipCode;
    private String sipInfo;
    private Map<String, Object> tagExtractInfo;

    @Data
    public static class CollectInfo {
        private String hungupnode;
        // 根据实际信息收集内容扩展字段
    }

    @Data
    public static class Record {
        private String role;
        private Long timestamp;
        private String contextText;
        private String intent;
        private String start;
        private String stop;
        private Long timeLen;
        private Boolean interrupted;
        private String interruptedTime;
        private Boolean silent;
    }
}
