package com.cool.store.vo.visit;

import com.cool.store.annotation.DictField;
import com.cool.store.enums.visit.VisitStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * <p>
 * 拜访记录详情VO
 * </p>
 *
 * @author wangff
 * @since 2025/12/9
 */
@Data
public class VisitRecordDetailVO {
    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("加盟商姓名")
    private String name;

    @ApiModelProperty("加盟商手机号")
    private String mobile;

    @ApiModelProperty("开店数量")
    private Integer openNum;

    @ApiModelProperty("被拜访次数")
    private Integer visitNum;

    @ApiModelProperty("拜访编号")
    private String visitNo;

    @ApiModelProperty("拜访日期")
    private Date visitDate;

    @ApiModelProperty("签到地址")
    private String signInAddress;

    @ApiModelProperty("签到时间")
    private Date signInTime;

    @ApiModelProperty("签退地址")
    private String signOutAddress;

    @ApiModelProperty("签退时间")
    private Date signOutTime;

    @ApiModelProperty("开新店意愿")
    private String desire;

    @ApiModelProperty("开新店意愿名称")
    @DictField
    private String desireName;

    @ApiModelProperty("意向开店城市")
    private String desireCity;

    @ApiModelProperty("意向开店城市名称")
    private String desireCityName;

    @ApiModelProperty("具体区域")
    private String desireDistrict;

    @ApiModelProperty("具体区域名称")
    private String desireDistrictName;

    @ApiModelProperty("是否对应现有铺位")
    private Integer existingShopPoint;

    @ApiModelProperty("拜访备注")
    private String remark;

    @ApiModelProperty("加盟商合影图片列表")
    private String photos;

    @ApiModelProperty("拜访状态")
    private Integer status;

    @ApiModelProperty("拜访状态名称")
    private String statusName;

    @ApiModelProperty("是否老加盟商")
    private Integer isVeteran;

    @ApiModelProperty("拜访人ID")
    private String userId;

    @ApiModelProperty("拜访人名称")
    private String userName;

    @ApiModelProperty("招商所属大区名称")
    private String investRegionName;

    @ApiModelProperty("招商经理名称")
    private String investmentManagerName;

    public String getStatusName() {
        return VisitStatusEnum.getDescByStatus(status);
    }
}
