package com.ruoyi.info.collection.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 信贷客户家庭关系对象 ccdi_cust_fmy_relation
 *
 * @author ruoyi
 * @date 2026-02-11
 */
@Data
@TableName("ccdi_cust_fmy_relation")
public class CcdiCustFmyRelation implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 信贷客户身份证号 */
    private String personId;

    /** 关系类型 */
    private String relationType;

    /** 关系人姓名 */
    private String relationName;

    /** 性别：M-男，F-女，O-其他 */
    private String gender;

    /** 出生日期 */
    private Date birthDate;

    /** 关系人证件类型 */
    private String relationCertType;

    /** 关系人证件号码 */
    private String relationCertNo;

    /** 手机号码1 */
    private String mobilePhone1;

    /** 手机号码2 */
    private String mobilePhone2;

    /** 微信名称1 */
    private String wechatNo1;

    /** 微信名称2 */
    private String wechatNo2;

    /** 微信名称3 */
    private String wechatNo3;

    /** 详细联系地址 */
    private String contactAddress;

    /** 关系详细描述 */
    private String relationDesc;

    /** 状态：0-无效，1-有效 */
    private Integer status;

    /** 生效日期 */
    private Date effectiveDate;

    /** 失效日期 */
    private Date invalidDate;

    /** 备注 */
    private String remark;

    /** 数据来源：MANUAL-手工录入，IMPORT-批量导入 */
    private String dataSource;

    /** 是否是员工亲属：0-否 */
    private Boolean isEmpFamily;

    /** 是否是客户亲属：1-是 */
    private Boolean isCustFamily;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /** 创建人 */
    @TableField(fill = FieldFill.INSERT)
    private String createdBy;

    /** 更新人 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;
}
