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联系人表';