package cn.iocoder.yudao.module.visit.dal.dataobject.info;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 客户拜访记录 DO
 *
 * @author 超级管理员
 */
@TableName("visit_info")
@KeySequence("visit_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InfoDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 客户姓名
     */
    private String customerName;
    /**
     * 联系方式（客户手机号）
     */
    private String contact;
    /**
     * 客户公司名称
     */
    private String companyName;
    /**
     * 省编码
     */
    private String provinceCode;
    /**
     * 省名称
     */
    private String provinceName;
    /**
     * 市编码
     */
    private String cityCode;
    /**
     * 市名称
     */
    private String cityName;
    /**
     * 区编码
     */
    private String areaCode;
    /**
     * 区名称
     */
    private String areaName;
    /**
     * 所在地区
     */
    private String regionFullName;
    /**
     * 定位地址文字描述
     */
    private String locationText;
    /**
     * 经度
     */
    private BigDecimal longitude;
    /**
     * 纬度
     */
    private BigDecimal latitude;
    /**
     * 定位静态图URL
     */
    private String locationImage;
    /**
     * 拜访日期
     */
    private LocalDateTime visitDate;
    /**
     * 性质等级
     */
    private Integer customerStatus;
    /**
     * 拜访品种（多选，逗号分隔）
     */
    private String visitProductIds;
    /**
     * 拜访品种（多选，逗号分隔）
     */
    private String visitProductNames;
    /**
     * 拜访方式（字典）
     *
     * 枚举 {@link TODO visit_method 对应的类}
     */
    private Integer visitMethod;
    /**
     * 拜访类型（字典）
     *
     * 枚举 {@link TODO visit_type 对应的类}
     */
    private Integer visitType;
    /**
     * 客户部门
     *
     * 枚举 {@link TODO customer_dept 对应的类}
     */
    private String department;
    /**
     * 服务内容
     */
    private String serviceContent;
    /**
     * 客户反馈
     */
    private String customerFeedback;
    /**
     * 服务记录图片URL列表（JSON数组）
     */
    private String serviceImages;

}