package cn.iocoder.yudao.module.system.controller.admin.reservation.vo;

import cn.iocoder.yudao.module.system.dal.dataobject.reservation.VisitAppointmentDO;
import cn.iocoder.yudao.module.system.dal.dataobject.reservation.VisitRecordDetailDO;
import cn.iocoder.yudao.module.system.dal.dataobject.reservation.VisitRegistrationDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 客户回访记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class VisitRecordRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16208")
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "来源ID", example = "6679")
    @ExcelProperty("来源ID")
    private Long sourceId;

    @Schema(description = "来源类型，1：来访预约 2：来访登记", example = "1")
    @ExcelProperty("来源类型，1：来访预约 2：来访登记")
    private Integer sourceType;

    @Schema(description = "客户名称", example = "赵六")
    @ExcelProperty("客户名称")
    private String customerName;

    @Schema(description = "电话")
    @ExcelProperty("电话")
    private String phone;

    @Schema(description = "回访办理人")
    @ExcelProperty("回访办理人")
    private String returnVisitor;

    @Schema(description = "回访时间")
    @ExcelProperty("回访时间")
    private Date returnTime;

    @Schema(description = "回访内容")
    @ExcelProperty("回访内容")
    private String content;

    @Schema(description = "回访状态", example = "1")
    @ExcelProperty("回访状态")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "系统类型", example = "1")
    @ExcelProperty("系统类型")
    private Integer orgType;

    private String tenantName;

    private Long tenantId;

    @Schema(description = "来访预约")
    private VisitAppointmentDO visitAppointment;

    @Schema(description = "来访登记")
    private VisitRegistrationDO visitRegistration;

    @Schema(description = "回访记录详情")
    private List<VisitRecordDetailDO> details;

}