package com.vctgo.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.vctgo.common.core.annotation.Excel;
import com.vctgo.common.core.web.domain.TenantEntity;
import lombok.Data;

/**
 * 专家附属信息对象 sys_platform_expert
 *
 * @author caesar
 * @date 2024-03-27
 */
@Data
@TableName("sys_platform_expert")
public class SysPlatformExpert extends TenantEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId
    private Long id;

    /**
     * 用户id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "用户id")
    private Long userId;

    /**
     * 1
     */
    @Excel(name = "1")
    private String politicalStatus;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String identificationCard;

    /**
     * 出生日期
     */
    @Excel(name = "出生日期")
    private String birthDate;

    /**
     * 省级编码
     */
    @Excel(name = "省级编码")
    private String provinceId;

    /**
     * 市级编码
     */
    @Excel(name = "市级编码")
    private String cityId;

    /**
     * 区县编码
     */
    @Excel(name = "区县编码")
    private String districtId;

    /**
     * 所属区域
     */
    @Excel(name = "所属区域")
    private String belongRegion;

    /**
     * 民族
     */
    @Excel(name = "民族")
    private String nation;

    /**
     * 工作单位
     */
    @Excel(name = "工作单位")
    private String workOrganization;

    /**
     * 工作职位
     */
    @Excel(name = "工作职位")
    private String workPosition;

    /**
     * 职称等级
     */
    @Excel(name = "职称等级")
    private String professionalTitleGrade;

    /**
     * 社会任职
     */
    @Excel(name = "社会任职")
    private String socialService;

    /**
     * 研究领域
     */
    @Excel(name = "研究领域")
    private String researchField;

    /**
     * 研究学科
     */
    @Excel(name = "研究学科")
    private String researchDiscipline;

    /**
     * 工作经历
     */
    private String workExperience;

    /**
     * 学历
     */
    private String education;

    /**
     * 专家简介
     */
    @Excel(name = "专家简介")
    private String expertProfile;

    /**
     * 专家详细介绍
     */
    @Excel(name = "专家详细介绍")
    private String expertDetails;

    /**
     * 科研成果
     */
    @Excel(name = "科研成果")
    private String scientificResearchAchievement;

    /**
     * 荣誉成果
     */
    @Excel(name = "荣誉成果")
    private String honoraryAchievement;

    /**
     * 删除标志（0代表存在
     */
    @Excel(name = "删除标志", readConverterExp = "删除标志（0代表存在")
    private String isDeleted;

    /**
     * 创建人ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "创建人ID")
    private Long createById;

    /**
     * 更新人ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "更新人ID")
    private Long updateById;

    /**
     * 名称
     */
    @TableField(exist = false)
    private String nickName;

    /**
     * 手机号
     */
    @TableField(exist = false)
    private String phonenumber;

    /**
     * 性别
     */
    @TableField(exist = false)
    private String sex;

    /**
     * 账号状态
     */
    @TableField(exist = false)
    private String status;

    /**
     * 邮箱
     */
    @TableField(exist = false)
    private String email;

    /**
     * 用户头像
     */
    @TableField(exist = false)
    private String avatar;

    /**
     * 角色id
     */
    @TableField(exist = false)
    private Long[] roleIds;

    @TableField(exist = false)
    private String roleIdString;
}
