package com.storlead.sales.pojo.vo.customer;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.storlead.framework.annotate.AnnotateEnumType;
import com.storlead.framework.annotate.Dict;
import com.storlead.framework.annotate.OrgAutoMateAnnotate;
import com.storlead.framework.mybatis.entity.SysBaseField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * @program: sp-sales-platform
 * @description:
 * @author: chenkq
 * @create: 2024-10-11 16:24
 */
@Data
public class LiaisonMessageVO  extends SysBaseField {

    @ApiModelProperty(value = "联系人id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "关联客户id")
    @TableField("customer_id")
    private Long customerId;

    @ApiModelProperty(value = "是否是首要联系人（0不是，1是）")
    @TableField("has_primary_lialison")
    private Boolean hasPrimaryLialison;

    @ApiModelProperty(value = "联系人姓名")
    @TableField("`name`")
    private String name;

    @ApiModelProperty(value = "尊称（0未知，1先生，2女士）")
    @TableField("`call`")
    @Dict(dictCode = "call_dict_value",valueField = "callName")
    private Integer call;

    @ApiModelProperty(value = "尊称（0未知，1先生，2女士）")
    @TableField(exist = false)
    private String callName;

    @ApiModelProperty(value = "联系人角色value（对应字典联系人角色value）")
    @TableField("liaison_role_dict_value")
    @Dict(dictCode = "liaison_role",valueField = "liaisonRoleName")
    private String liaisonRoleDictValue;

    @ApiModelProperty(value = "联系人角色name（对应字典联系人角色name）")
    //数据库不存在该字段
    @TableField(exist = false)
    private String liaisonRoleName;

    @ApiModelProperty(value = "生日")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format ="yyyy-MM-dd")
    @TableField("birthday")
    private Date birthday;

    @ApiModelProperty(value = "部门职务")
    @TableField("department_position")
    private String departmentPosition;

    @ApiModelProperty(value = "手机号码")
    @TableField("telephone")
    private String telephone;

    @ApiModelProperty(value = "电子邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "资源类型")
    @TableField("resource_type")
    private String resourceType;

    @ApiModelProperty(value = "资源类型关联ID")
    @TableField("resource_type_id")
    private Long resourceTypeId;

    @ApiModelProperty(value = "传真号码")
    @TableField("fax_number")
    private String faxNumber;

    @ApiModelProperty(value = "邮政编码")
    @TableField("postcode")
    private String postcode;

    @ApiModelProperty(value = "联系方式")
    @TableField("contact_information")
    private String contactInformation;

    @ApiModelProperty(value = "备注信息")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "qq")
    @TableField("qq")
    private String qq;

    @ApiModelProperty(value = "skype")
    @TableField("skype")
    private String skype;

    @ApiModelProperty(value = "旺旺")
    @TableField("wangwang")
    private String wangwang;

    @ApiModelProperty(value = "微信")
    @TableField("wechat")
    private String wechat;

    @ApiModelProperty(value = "Twitter")
    @TableField("twitter")
    private String twitter;

    @ApiModelProperty(value = "Linkedin")
    @TableField("linkedin")
    private String linkedin;

    @ApiModelProperty(value = "Facebook")
    @TableField("facebook")
    private String facebook;

    @ApiModelProperty(value = "Whatsapp")
    @TableField("whatsapp")
    private String whatsapp;

    @ApiModelProperty(value = "区域")
    @TableField("international_area")
    private String internationalArea;

    @ApiModelProperty(value = "详细地址")
    @TableField("address")
    private String address;

    @ApiModelProperty(value = "固定电话")
    @TableField("fixed_line_telephone")
    private String fixedLineTelephone;

    @ApiModelProperty(value = "宅电")
    @TableField("home_electricity")
    private String homeElectricity;


    @ApiModelProperty(value = "归属人姓名")
    @TableField(exist = false)
    private String ownerByName;

    @ApiModelProperty(value = "操作人")
    private String operateByName;

}
