CREATE TABLE yz_tenant_crm_contact (
    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID（关联租户表，隔离数据）',
    related_type TINYINT NOT NULL COMMENT '关联类型：1=客户，2=供应商（区分联系人归属）',
    related_id BIGINT NOT NULL COMMENT '关联ID（关联yz_tenant_crm_customer.id或yz_tenant_crm_supplier.id）',
    contact_name VARCHAR(50) NOT NULL COMMENT '联系人姓名',
    gender TINYINT DEFAULT 0 COMMENT '性别：0=未知，1=男，2=女',
    mobile VARCHAR(20) COMMENT '手机号（唯一索引，避免重复）',
    phone VARCHAR(20) COMMENT '固定电话',
    email VARCHAR(100) COMMENT '邮箱',
    position VARCHAR(50) COMMENT '职位（如：项目经理、采购负责人）',
    department VARCHAR(50) COMMENT '所属部门',
    is_primary TINYINT DEFAULT 0 COMMENT '是否主联系人：0=否，1=是（一个客户/供应商可设一个主联系人）',
    remark VARCHAR(500) COMMENT '备注（如：关键决策人、对接优先级等）',
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    create_by BIGINT COMMENT '创建人ID（关联用户表）',
    update_by BIGINT COMMENT '更新人ID（关联用户表）',
    is_deleted TINYINT DEFAULT 0 COMMENT '逻辑删除：0=正常，1=删除',
    PRIMARY KEY (id),
    UNIQUE KEY uk_tenant_mobile (tenant_id, mobile) COMMENT '同一租户内手机号唯一',
    KEY idx_tenant_related (tenant_id, related_type, related_id) COMMENT '查询租户下某客户/供应商的所有联系人',
    KEY idx_contact_name (tenant_id, contact_name) COMMENT '按姓名模糊查询联系人'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户CRM联系人表';