package com.cpop.oam.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author DB
 * @version 1.0.0
 * @since 2024-02-19 18:08
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "线索分页返回对象")
public class CluePageVo {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 校区id
     */
    @ApiModelProperty(value = "校区id")
    private String storeId;

    /**
     * 校区名
     */
    @ApiModelProperty(value = "校区名")
    private String storeName;

    /**
     * 品牌id
     */
    @ApiModelProperty(value = "品牌id")
    private String brandName;

    /**
     * 地区（省/市）
     */
    @ApiModelProperty(value = "地区（省/市）")
    private String city;

    /**
     * 店铺/校区地址
     */
    @ApiModelProperty(value = "店铺/校区地址")
    private String storeAddr;

    /**
     * 负责人
     */
    @ApiModelProperty(value = "负责人")
    private String personCharge;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String phone;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 负责员工id
     */
    @ApiModelProperty(value = "负责员工id")
    private String responsibleStaffId;

    /**
     * 负责员工id
     */
    @ApiModelProperty(value = "负责员工id")
    private String responsibleStaffName;

    /**
     * 开发员工id
     */
    @ApiModelProperty(value = "开发员工id")
    private String devStaffId;

    /**
     * 开发员工id
     */
    @ApiModelProperty(value = "开发员工id")
    private String devStaffName;

    /**
     * 最后跟进时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "最后跟进时间")
    private LocalDateTime lastFollowUpTime;

    /**
     * 最后跟进内容
     */
    @ApiModelProperty(value = "最后跟进内容")
    private String lastFollowUpContent;

    /**
     * 接收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "接收时间")
    private LocalDateTime receiptTime;

    /**
     * 跟进间隔
     */
    @ApiModelProperty(value = "跟进间隔")
    private Integer followUpInterval;

    /**
     * 签约间隔
     */
    @ApiModelProperty(value = "签约间隔")
    private Integer signInterval;

    /**
     * 脱离间隔
     */
    @ApiModelProperty(value = "脱离间隔")
    private Integer putOffInterval;

    /**
     * 签约状态(0:待签约;1:已签约;2:警告线索)
     */
    @ApiModelProperty(value = "签约状态(0:待签约;1:已签约;2:警告线索)")
    private Integer clueStatus;

    /**
     * 到期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate expireDate;

    /**
     * 最后接收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "最后接收时间")
    private String lastReceiptTime;

    /**
     * 最后接收员工id
     */
    @ApiModelProperty(value = "最后接收员工id")
    private String lastReceiptStaffId;

    /**
     * 最后接收员工姓名
     */
    @ApiModelProperty(value = "最后接收员工姓名")
    private String lastReceiptStaffName;

    /**
     * 签约时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime storeSignTime;

    /**
     * 更进状态(0:待跟进、1:已歇业、2:无法联系、3:无意向、4:已拜访、5:跟进中、6:已成交
     */
    @ApiModelProperty(value = "更进状态(0:待跟进、1:已歇业、2:无法联系、3:无意向、4:已拜访、5:跟进中、6:已成交")
    private Integer followStatus;

}
