数据模型
69 张表 / 1129 列 / 枚举字典
这是什么
一句话:这条系统一共 69 张表、1,129 个字段——数据长什么样,全在这里定义。
「表」可以理解成 Excel 里的一个工作表:一张表专管一类东西 (线索一张、活动一张、报名一张)。「字段」就是表头那一行。 改一个字段名会影响整个系统,所以这一页是最需要谨慎的一页。
表的完整清单
点开任意一张,能看到它的每一个字段、类型、能不能为空、有没有关联。
| 表名 | 字段数 | 关联 | 管什么 |
|---|---|---|---|
| api_token | 14 | — | API 钥匙。⚠️ 只存哈希——明文只在签发那一刻打印一次,之后谁也取不回来。 |
| audit_log | 18 | — | 操作日志:谁在什么时候改了什么。老系统完全没有这个能力。 |
| campaign | 25 | — | 营销活动阵营。 |
| campaign_recipient | 16 | — | 阵营的接收人名单。 |
| content_bookmark | 7 | 2 处关联 | 内容收藏。 |
| content_item | 36 | — | 内容库里的文章/素材。 |
| content_tag | 14 | — | 内容标签。 |
| custom_meeting | 24 | 1 处关联 | 约见申请。⚠️ 老系统里它不是独立功能,是线索列表的另一个看法。 |
| event | 41 | — | 活动(含会议微站,在老系统里会议就是活动的一种)。 |
| event_checkin | 9 | — | 现场签到。⚠️ 老系统里这张表是空的——不是我们漏导,是它本来就没有。 |
| event_field | 12 | 1 处关联 | 每场活动自己定义要收集哪些信息(表头是按活动动态变的)。 |
| event_share | 14 | 1 处关联 | 活动的分享记录(谁把活动转出去了)。 |
| event_signup | 23 | 2 处关联 | 活动报名记录。⚠️ 有两个唯一约束:同活动同手机号只能报一次、同活动同老编号只能报一次。 |
| file_asset | 17 | — | 文件台账:文件存在哪、属于谁。实际文件在对象存储里。 |
| group_template | 15 | — | 分组模板。 |
| inquiry | 21 | 1 处关联 | 咨询/问询记录。 |
| interactive | 15 | — | 互动内容。 |
| interactive_modify | 9 | — | 互动内容修改记录。 |
| ipc2b_record | 10 | — | IPC 2B 记录。 |
| lead | 67 | 1 处关联 | 线索(潜客)。全系统的中心表,字段最多——一个人的所有信息都在这。 |
| lead_assignment | 10 | 1 处关联 | 线索分给了哪个顾问、什么时候分的。 |
| lead_attribution_event | 16 | — | 归因事件:这条线索最初是从哪儿来的。 |
| lead_behavior | 14 | 1 处关联 | 线索的行为记录:点过什么、报过什么名。 |
| lead_blacklist | 9 | — | 黑名单:明确不要的联系人。 |
| lead_group | 10 | — | 用户分组。⚠️ 老系统里这张表是空的,我们照原样保留。 |
| lead_group_member | 5 | 2 处关联复合主键 | 分组里有哪些人。同样原样空着。 |
| lead_import_batch | 17 | — | 批量导入的每个批次各导了多少、成没成功。 |
| lead_merge_log | 11 | — | 两条线索合并的留痕,合并后能追回原来是什么样。 |
| lead_remark | 11 | 1 处关联 | 同事给线索写的跟进备注。 |
| lead_tag_rel | 6 | 2 处关联复合主键 | 「哪条线索打了哪个标签」的对应关系。 |
| login_attempt | 7 | — | 登录尝试记录(用于防撞库)。 |
| manager_group | 7 | 1 处关联 | 账号分组。 |
| manager_role_rel | 4 | 1 处关联 | 账号和角色的对应关系。 |
| manager_session | 12 | 1 处关联 | 登录会话。 |
| manager_user | 28 | — | 后台账号。⚠️ 只存密码哈希,不存明文。 |
| migration_run | 19 | — | 数据迁移记录。⚠️ 一直是空的——因为迁移没走这张表,属于「没接线的桩」。 |
| notification | 15 | — | 站内通知。 |
| question_module | 39 | 1 处关联 | 问卷里的题目。 |
| question_option | 13 | 1 处关联 | 题目下的选项。 |
| questionnaire | 27 | — | 问卷。 |
| role_permission | 8 | — | 角色有哪些权限。 |
| score_rule | 14 | — | AI 打分的规则。⚠️ 这张表里的配置不能随便清,清掉 AI 打分就静默失效了。 |
| sms_config | 9 | — | 短信配置。 |
| stat_snapshot | 9 | — | 统计快照:某个时间点的数字定格。 |
| survey_answer | 19 | 2 处关联 | 答卷(一次填写一条)。 |
| survey_template | 11 | — | 问卷模板。 |
| system_block | 9 | — | 内容区块(页面上的可配置模块)。 |
| system_setting | 8 | — | 系统参数。 |
| system_task | 13 | — | 后台任务记录。 |
| traffic_source | 21 | — | 流量来源(渠道、投放、活动来源)。 |
| traffic_visit | 16 | — | 访问记录。 |
| tribune_article | 20 | — | 论坛/专栏文章。 |
| tribune_comment | 13 | 1 处关联 | 文章评论。 |
| webhook_delivery | 12 | — | 每次推送的投递结果。 |
| webhook_endpoint | 20 | — | 对外推送的回调地址配置。 |
| website | 16 | — | 官网/落地页配置。 |
| wechat_auto_reply | 13 | — | 微信自动回复规则。 |
| wechat_config | 27 | — | 微信服务号配置。 |
| wechat_event | 20 | — | 微信推过来的事件原始记录。 |
| wechat_follower | 23 | — | 关注服务号的人。 |
| wechat_material | 16 | — | 微信素材。 |
| wechat_menu | 16 | 1 处关联 | 微信菜单。 |
| wechat_poster | 24 | — | 海报模板与生成记录。 |
| wechat_qrcode | 18 | — | 二维码台账。⚠️ 线上用的是不可撤销的永久码。 |
| wechat_stat | 12 | — | 微信统计。 |
| wechat_template | 13 | — | 微信模板消息。 |
| wechat_template_send | 16 | — | 模板消息发送记录。 |
| workflow_run | 9 | — | 工作流执行记录。 |
| workflow_task | 17 | — | 工作流里的任务。 |
逐表展开
api_token 14 个字段 API 钥匙。⚠️ 只存哈希——明文只在签发那一刻打印一次,之后谁也取不回来。
API 钥匙。⚠️ 只存哈希——明文只在签发那一刻打印一次,之后谁也取不回来。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(128) | 必填 | — | ||
| token_hash | VARCHAR(128) | 必填 | sha256(token) | ||
| token_prefix | VARCHAR(32) | 必填 | 展示用前缀 | ||
| scopes | JSON | 可空 | ["lead:read","lead:write","event:read"] | ||
| rate_limit_per_min | INTEGER | 必填 | — | ||
| is_active | BOOLEAN | 必填 | — | ||
| expires_at | DATETIME | 可空 | — | ||
| last_used_at | DATETIME | 可空 | — | ||
| use_count | INTEGER | 必填 | — | ||
| owner_id | BIGINT | 可空 | 归属人 manager_user.id(这张 token 代表谁) | ||
| issued_by | BIGINT | 可空 | 签发人 manager_user.id(谁发的,审计用) | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
audit_log 18 个字段 操作日志:谁在什么时候改了什么。老系统完全没有这个能力。
操作日志:谁在什么时候改了什么。老系统完全没有这个能力。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| manager_id | BIGINT | 可空 | — | ||
| manager_name | VARCHAR(64) | 必填 | — | ||
| action | VARCHAR(32) | 必填 | AuditAction | ||
| module | VARCHAR(48) | 必填 | — | ||
| target_type | VARCHAR(48) | 必填 | — | ||
| target_id | VARCHAR(64) | 必填 | — | ||
| summary | VARCHAR(500) | 必填 | — | ||
| before | JSON | 可空 | 变更前快照 | ||
| after | JSON | 可空 | 变更后快照 | ||
| payload | JSON | 可空 | 请求载荷(已脱敏) | ||
| row_count | INTEGER | 必填 | 影响行数(导出/批量用) | ||
| ip | VARCHAR(64) | 必填 | — | ||
| user_agent | VARCHAR(500) | 必填 | — | ||
| request_id | VARCHAR(32) | 必填 | — | ||
| ok | BOOLEAN | 必填 | — | ||
| error | TEXT | 必填 | — | ||
| created_at | DATETIME | 必填 | 发生时间 | ||
| id | BIGINT | 必填 | 主键 | — |
campaign 25 个字段 营销活动阵营。
营销活动阵营。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(255) | 必填 | — | ||
| channel | VARCHAR(16) | 必填 | sms/email/wechat_template | ||
| subject | VARCHAR(255) | 必填 | 主题 / 短信签名 | ||
| content | TEXT | 必填 | 正文(含变量占位) | ||
| template_id | VARCHAR(128) | 必填 | 微信模板消息 ID | ||
| target_rule | JSON | 可空 | 筛选条件,如 {leadsstatus:2, tag_ids:[297], account_id:550} | ||
| target_uids | JSON | 可空 | 显式指定 uid(小批量) | ||
| target_count | INTEGER | 必填 | 提交时的目标人数快照 | ||
| status | VARCHAR(16) | 必填 | draft/ready/scheduled/sending/sent/partial/failed/cancelled | ||
| schedule_at | DATETIME | 可空 | — | ||
| sent_at | DATETIME | 可空 | — | ||
| sent_count | INTEGER | 必填 | — | ||
| success_count | INTEGER | 必填 | — | ||
| fail_count | INTEGER | 必填 | — | ||
| click_count | INTEGER | 必填 | — | ||
| lead_count | INTEGER | 必填 | 带来的线索数 | ||
| approved_by | BIGINT | 可空 | 审核人(新功能:群发需双人确认) | ||
| owner_id | BIGINT | 可空 | — | ||
| remark | TEXT | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
campaign_recipient 16 个字段 阵营的接收人名单。
阵营的接收人名单。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| campaign_id | BIGINT | 必填 | — | ||
| uid | BIGINT | 可空 | — | ||
| mobile | VARCHAR(32) | 必填 | — | ||
| VARCHAR(128) | 必填 | — | |||
| openid | VARCHAR(64) | 必填 | — | ||
| name | VARCHAR(64) | 必填 | — | ||
| status | VARCHAR(16) | 必填 | pending/sent/delivered/read/click/failed/bounced | ||
| error | VARCHAR(255) | 必填 | — | ||
| provider_msg_id | VARCHAR(128) | 必填 | — | ||
| sent_at | DATETIME | 可空 | — | ||
| read_at | DATETIME | 可空 | — | ||
| click_at | DATETIME | 可空 | — | ||
| click_url | VARCHAR(1000) | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
content_bookmark 7 个字段 2 处关联 内容收藏。
内容收藏。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 必填 | lead.id | — | |
| content_id | BIGINT | 必填 | content_item.id | — | |
| action | VARCHAR(16) | 必填 | view/bookmark/share/download | ||
| share_channel | VARCHAR(32) | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
content_item 36 个字段 内容库里的文章/素材。
内容库里的文章/素材。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| title | VARCHAR(255) | 必填 | — | ||
| content_type | VARCHAR(16) | 必填 | advert/video/wbks/article | ||
| summary | TEXT | 必填 | 摘要 | ||
| cover | VARCHAR(500) | 必填 | 封面图 | ||
| url | VARCHAR(1000) | 必填 | 跳转/播放地址 | ||
| body | TEXT | 必填 | 正文 HTML | ||
| attachment | VARCHAR(500) | 必填 | 附件(白皮书 PDF) | ||
| category | VARCHAR(64) | 必填 | — | ||
| tags | JSON | 可空 | — | ||
| tag_id | BIGINT | 可空 | 关联内容标签 mid | ||
| view_count | INTEGER | 必填 | — | ||
| download_count | INTEGER | 必填 | — | ||
| lead_count | INTEGER | 必填 | 带来的线索数 | ||
| status | VARCHAR(16) | 必填 | — | ||
| publish_at | DATETIME | 可空 | — | ||
| source_type | VARCHAR(32) | 必填 | manual/excel/wechat | ||
| source_file | VARCHAR(500) | 必填 | Excel 导入来源 | ||
| owner_id | BIGINT | 可空 | — | ||
| legacy_cid | BIGINT | 可空 | 原站内容 id(cid)—— 导入幂等的唯一锚点 | ||
| legacy_first_id | BIGINT | 可空 | 原站一级分类 id(first_id) | ||
| legacy_second_id | BIGINT | 可空 | 原站二级分类 id(second_id) | ||
| sort_weight | INTEGER | 必填 | 原站 content_weight(越大越靠前) | ||
| score | INTEGER | 必填 | 原站 content_score(行为分值) | ||
| btn_name | VARCHAR(64) | 必填 | 原站 content_btn_name 按钮文案 | ||
| inviter | VARCHAR(64) | 必填 | 原站 inviter(扫码归属) | ||
| is_hidden | BOOLEAN | 必填 | 原站 content_hide | ||
| is_whitelist | BOOLEAN | 必填 | 原站 content_whitelist | ||
| pc_signup | BOOLEAN | 必填 | 原站 pc_signup | ||
| upload_type | VARCHAR(8) | 必填 | 原站 content_upload_type(1=文件 2=URL) | ||
| extra_attrs | JSON | 可空 | 未显式建模的原站属性(备注 / format / 创建时间文本 等) | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
content_tag 14 个字段 内容标签。
内容标签。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(128) | 必填 | 标签名 mark | ||
| code | VARCHAR(64) | 必填 | 机器码(可选) | ||
| group | VARCHAR(64) | 必填 | 标签分组 | ||
| color | VARCHAR(16) | 必填 | 展示色 | ||
| score | INTEGER | 必填 | 打标时附加的分值 | ||
| is_auto | BOOLEAN | 必填 | 是否自动打标 | ||
| auto_rule | JSON | 可空 | 自动打标规则(新功能:原站只能绑定到问卷/活动,不能按条件) | ||
| lead_count | INTEGER | 必填 | 命中线索数 | ||
| sort | INTEGER | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| legacy_mid | BIGINT | 可空 | 原站 mid | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
custom_meeting 24 个字段 1 处关联 约见申请。⚠️ 老系统里它不是独立功能,是线索列表的另一个看法。
约见申请。⚠️ 老系统里它不是独立功能,是线索列表的另一个看法。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 可空 | lead.id | — | |
| lead_name | VARCHAR(64) | 必填 | — | ||
| mobile | VARCHAR(32) | 必填 | — | ||
| company | VARCHAR(255) | 必填 | — | ||
| meeting_type | VARCHAR(16) | 必填 | meeting/call/visit/video | ||
| title | VARCHAR(255) | 必填 | — | ||
| content | TEXT | 必填 | 约见内容 | ||
| manager_id | BIGINT | 可空 | 对接顾问 | ||
| manager_name | VARCHAR(64) | 必填 | — | ||
| meet_time | DATETIME | 可空 | — | ||
| duration_min | INTEGER | 必填 | — | ||
| status | INTEGER | 必填 | 0待确认 1已确认 2已进行 3已完成 4已取消 5未到 | ||
| result | TEXT | 必填 | 约见结果 | ||
| template_id | VARCHAR(128) | 必填 | 提醒模板消息 | ||
| remind_sent | BOOLEAN | 必填 | — | ||
| location | VARCHAR(255) | 必填 | — | ||
| meeting_url | VARCHAR(500) | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
event 41 个字段 活动(含会议微站,在老系统里会议就是活动的一种)。
活动(含会议微站,在老系统里会议就是活动的一种)。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| id | BIGINT | 必填 | 主键 | 活动ID aid | |
| name | VARCHAR(255) | 必填 | 活动名称 | ||
| subtitle | VARCHAR(255) | 必填 | — | ||
| cover | VARCHAR(500) | 必填 | 封面图 URL | ||
| banner | VARCHAR(500) | 必填 | 顶部横幅 | ||
| event_type | VARCHAR(32) | 必填 | offline线下/online线上/hybrid混合 | ||
| category | VARCHAR(64) | 必填 | 活动分类 | ||
| start_time | DATETIME | 可空 | — | ||
| end_time | DATETIME | 可空 | — | ||
| signup_deadline | DATETIME | 可空 | — | ||
| start_text | VARCHAR(64) | 必填 | 原站时间原文(e_ashowtime,可能是自由文本) | ||
| location | VARCHAR(255) | 必填 | 地点 | ||
| location_l1 | VARCHAR(64) | 必填 | — | ||
| location_l2 | VARCHAR(64) | 必填 | — | ||
| address | VARCHAR(500) | 必填 | 详细地址 | ||
| live_url | VARCHAR(500) | 必填 | 直播链接 | ||
| intro | TEXT | 必填 | 活动介绍 HTML | ||
| agenda | JSON | 可空 | 议程 | ||
| speakers | JSON | 可空 | 嘉宾 | ||
| organizer | VARCHAR(128) | 必填 | — | ||
| capacity | INTEGER | 必填 | 人数上限,0=不限 | ||
| signup_count | INTEGER | 必填 | 报名数(计数缓存) | ||
| checkin_count | INTEGER | 必填 | 签到数 | ||
| view_count | INTEGER | 必填 | 浏览量 | ||
| status | VARCHAR(16) | 必填 | draft/published/ended/closed | ||
| is_need_audit | BOOLEAN | 必填 | 报名是否需审核 | ||
| is_need_sms | BOOLEAN | 必填 | 报名是否需短信验证 | ||
| is_need_sms_verified | BOOLEAN | 必填 | 服务端是否强制校验短信码(原站为 false) | ||
| remark | TEXT | 必填 | 备注(原站 editoneactremark) | ||
| template_id | VARCHAR(128) | 必填 | 微信模板消息 ID | ||
| site_id | BIGINT | 可空 | 关联微站 | ||
| custom_slug | VARCHAR(128) | 必填 | 短链标识 | ||
| default_tag_id | BIGINT | 可空 | 报名自动打标 | ||
| default_score | INTEGER | 必填 | 报名行为分值 | ||
| owner_id | BIGINT | 可空 | 创建人 | ||
| legacy_aid | BIGINT | 可空 | 原站 aid | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
event_checkin 9 个字段 现场签到。⚠️ 老系统里这张表是空的——不是我们漏导,是它本来就没有。
现场签到。⚠️ 老系统里这张表是空的——不是我们漏导,是它本来就没有。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| aid | BIGINT | 必填 | — | ||
| uid | BIGINT | 可空 | — | ||
| signup_id | BIGINT | 可空 | — | ||
| mobile | VARCHAR(32) | 必填 | — | ||
| name | VARCHAR(64) | 必填 | — | ||
| checkin_at | DATETIME | 必填 | — | ||
| operator_id | BIGINT | 可空 | — | ||
| channel | VARCHAR(32) | 必填 | scan/manual | ||
| id | BIGINT | 必填 | 主键 | — |
event_field 12 个字段 1 处关联 每场活动自己定义要收集哪些信息(表头是按活动动态变的)。
每场活动自己定义要收集哪些信息(表头是按活动动态变的)。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| aid | BIGINT | 必填 | event.id | — | |
| lid | BIGINT | 必填 | 题目 ID(原站 lid) | ||
| ltype | VARCHAR(16) | 必填 | 题干类型 text/select/radio/checkbox/textarea | ||
| lorder | INTEGER | 必填 | 排序 | ||
| typename | VARCHAR(255) | 必填 | 题干 | ||
| require_flag | BOOLEAN | 必填 | — | ||
| placeholder | VARCHAR(255) | 必填 | — | ||
| answerattr | JSON | 可空 | 选项 [{"zid":1,"ztitle":"选项A"}] | ||
| field_key | VARCHAR(64) | 必填 | 映射到 lead 的字段名,如 jobtitle | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
event_signup 23 个字段 2 处关联 活动报名记录。⚠️ 有两个唯一约束:同活动同手机号只能报一次、同活动同老编号只能报一次。
活动报名记录。⚠️ 有两个唯一约束:同活动同手机号只能报一次、同活动同老编号只能报一次。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| aid | BIGINT | 必填 | event.id | — | |
| legacy_tid | BIGINT | 可空 | 原站报名记录号(tid),导入态幂等键 | ||
| uid | BIGINT | 可空 | lead.id | — | |
| mobile | VARCHAR(32) | 必填 | 查重键 | ||
| name | VARCHAR(64) | 必填 | — | ||
| company | VARCHAR(255) | 必填 | — | ||
| jobtitle | VARCHAR(128) | 必填 | — | ||
| corpemail | VARCHAR(128) | 必填 | — | ||
| inviter | VARCHAR(64) | 必填 | 邀请人(原站 inviter) | ||
| managerid | BIGINT | 可空 | 顾问号(原站 managerid) | ||
| channel | VARCHAR(64) | 必填 | 来源渠道 | ||
| qr_scene_str | VARCHAR(255) | 必填 | — | ||
| answers | JSON | 可空 | 自定义题作答 | ||
| audit_status | VARCHAR(2) | 必填 | 枚举字符串 '0'待审核 '1'已通过 '2'已拒绝(唯一合同,见 event_service.normalize_audit) | ||
| audit_by | BIGINT | 可空 | — | ||
| audit_at | DATETIME | 可空 | — | ||
| checkin_status | INTEGER | 必填 | 0未签到 1已签到 | ||
| checkin_at | DATETIME | 可空 | — | ||
| ip | VARCHAR(64) | 必填 | — | ||
| user_agent | VARCHAR(500) | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
file_asset 17 个字段 文件台账:文件存在哪、属于谁。实际文件在对象存储里。
文件台账:文件存在哪、属于谁。实际文件在对象存储里。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| storage | VARCHAR(16) | 必填 | local/cos | ||
| path | VARCHAR(500) | 必填 | 存储路径 / key | ||
| url | VARCHAR(1000) | 必填 | 访问 URL | ||
| filename | VARCHAR(255) | 必填 | — | ||
| content_type | VARCHAR(128) | 必填 | — | ||
| size | BIGINT | 必填 | — | ||
| sha256 | VARCHAR(64) | 必填 | 内容指纹,用于秒传/去重 | ||
| biz_type | VARCHAR(32) | 必填 | qrcode/poster/avatar/material/attachment | ||
| biz_id | BIGINT | 可空 | — | ||
| ref_count | INTEGER | 必填 | 引用计数,为 0 可清理 | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
group_template 15 个字段 分组模板。
分组模板。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(255) | 必填 | — | ||
| ysource | INTEGER | 必填 | 来源标识(原站参数) | ||
| channel | VARCHAR(16) | 必填 | — | ||
| content | TEXT | 必填 | — | ||
| template_id | VARCHAR(128) | 必填 | — | ||
| variables | JSON | 可空 | — | ||
| status | VARCHAR(16) | 必填 | — | ||
| sent_count | INTEGER | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
inquiry 21 个字段 1 处关联 咨询/问询记录。
咨询/问询记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 可空 | lead.id | — | |
| lead_name | VARCHAR(64) | 必填 | — | ||
| mobile | VARCHAR(32) | 必填 | — | ||
| company | VARCHAR(255) | 必填 | — | ||
| content | TEXT | 必填 | 需求内容 | ||
| inquiry_type | VARCHAR(32) | 必填 | 需求类型 | ||
| budget | VARCHAR(64) | 必填 | — | ||
| status | INTEGER | 必填 | 0待处理 1跟进中 2已成交 3已关闭 | ||
| priority | INTEGER | 必填 | 0普通 1重要 2紧急 | ||
| manager_id | BIGINT | 可空 | — | ||
| manager_name | VARCHAR(64) | 必填 | — | ||
| channel | VARCHAR(64) | 必填 | 来源渠道 | ||
| source_url | VARCHAR(1000) | 必填 | — | ||
| remark | TEXT | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
interactive 15 个字段 互动内容。
互动内容。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| iid | BIGINT | 可空 | 原站 Iid | ||
| uid | BIGINT | 可空 | — | ||
| manager_id | BIGINT | 可空 | — | ||
| manager_name | VARCHAR(64) | 必填 | — | ||
| question | TEXT | 必填 | 提问内容 | ||
| answer | TEXT | 必填 | 回答内容 | ||
| images | JSON | 可空 | 图片 URL 列表(存 base64 落盘后的路径) | ||
| show_type | INTEGER | 必填 | 1显示 0隐藏(原站 changeinter) | ||
| is_top | BOOLEAN | 必填 | — | ||
| like_count | INTEGER | 必填 | — | ||
| reply_count | INTEGER | 必填 | — | ||
| audit_status | VARCHAR(2) | 必填 | 枚举字符串 '0'待审核 '1'已通过 '2'已拒绝(与 event_signup 同一合同) | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
interactive_modify 9 个字段 互动内容修改记录。
互动内容修改记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| iid | BIGINT | 必填 | — | ||
| uid | BIGINT | 可空 | — | ||
| request_type | VARCHAR(16) | 必填 | delete/modify | ||
| old_content | TEXT | 必填 | — | ||
| new_content | TEXT | 必填 | — | ||
| status | VARCHAR(16) | 必填 | — | ||
| operator_id | BIGINT | 可空 | — | ||
| processed_at | DATETIME | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — |
ipc2b_record 10 个字段 IPC 2B 记录。
IPC 2B 记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| title | VARCHAR(255) | 必填 | — | ||
| record_type | VARCHAR(32) | 必填 | — | ||
| uid | BIGINT | 可空 | — | ||
| manager_id | BIGINT | 可空 | — | ||
| payload | JSON | 可空 | — | ||
| status | VARCHAR(16) | 必填 | — | ||
| remark | TEXT | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
lead 67 个字段 1 处关联 线索(潜客)。全系统的中心表,字段最多——一个人的所有信息都在这。
线索(潜客)。全系统的中心表,字段最多——一个人的所有信息都在这。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| id | BIGINT | 必填 | 主键 | 客户ID uid | |
| wopenid | VARCHAR(64) | 必填 | 微信 openid,纯 HTTP 造的客户为空 | ||
| wnickname | VARCHAR(128) | 必填 | 微信昵称 | ||
| wheadimg | VARCHAR(500) | 必填 | 微信头像 | ||
| firstname | VARCHAR(64) | 必填 | 名 | ||
| lastname | VARCHAR(64) | 必填 | 姓 | ||
| jobtitle | VARCHAR(128) | 必填 | 职位 | ||
| company | VARCHAR(255) | 必填 | 公司 | ||
| corpemail | VARCHAR(128) | 必填 | 企业邮箱 | ||
| location | VARCHAR(128) | 必填 | 所在地,格式「一级_二级」 | ||
| location_l1 | VARCHAR(64) | 必填 | 一级地区 | ||
| location_l2 | VARCHAR(64) | 必填 | 二级地区 | ||
| telephone | VARCHAR(32) | 必填 | 电话 | ||
| mobile | VARCHAR(32) | 必填 | 手机号 | ||
| industry | VARCHAR(64) | 必填 | 行业 | ||
| seniority | VARCHAR(64) | 必填 | 资历 | ||
| department | VARCHAR(64) | 必填 | 部门 | ||
| corpsize | VARCHAR(32) | 必填 | 公司规模 | ||
| membership | VARCHAR(64) | 必填 | 是否会员(原站 1=是/0=否,非真空串) | ||
| memberno | VARCHAR(64) | 必填 | 会员编号 | ||
| businessline | VARCHAR(64) | 必填 | 业务线 | ||
| attachment | TEXT | 必填 | 附件(多为简历 URL 串) | ||
| firstregchannel | VARCHAR(128) | 必填 | 首次渠道(问卷名/活动名) | ||
| lastregchannel | VARCHAR(128) | 必填 | 最近渠道 | ||
| firstreginvitor | VARCHAR(128) | 必填 | 首次邀请人 | ||
| lastreginvitor | VARCHAR(128) | 必填 | 最近邀请人 | ||
| firstregtitle | VARCHAR(255) | 必填 | 首次来源标题 | ||
| lastregtitle | VARCHAR(255) | 必填 | 最近来源标题 | ||
| firstregtime | DATETIME | 可空 | — | ||
| lastregtime | DATETIME | 可空 | — | ||
| first_activity_id | BIGINT | 可空 | — | ||
| last_activity_id | BIGINT | 可空 | — | ||
| first_survey_id | BIGINT | 可空 | — | ||
| last_survey_id | BIGINT | 可空 | — | ||
| first_consultant_id | BIGINT | 可空 | 首次归因顾问(来自 scene_str) | ||
| last_consultant_id | BIGINT | 可空 | — | ||
| source_scene | VARCHAR(64) | 必填 | 微信 subscribe_scene | ||
| first_scene_str | VARCHAR(255) | 必填 | 首次扫码 scene_str 原值 | ||
| account_id | BIGINT | 可空 | 归属顾问号(对应 manager.account_id) | ||
| account_name | VARCHAR(64) | 必填 | 归属顾问姓名 | ||
| leadsstatus | INTEGER | 必填 | 1未跟进 2已拒绝 4跟进中 6转化成功 7无效线索(站点文案,非 Raw/MQL/SQL) | ||
| status_changed_at | DATETIME | 可空 | — | ||
| meeting | VARCHAR(255) | 必填 | 是否约见(原站 1=是/0=否) | ||
| request | TEXT | 必填 | 需求描述 | ||
| ismeettime | VARCHAR(64) | 必填 | 约见时间 YYYY-MM-DD;1970-01-01=从未约见 | ||
| meeting_status | INTEGER | 必填 | 0未约 1待确认 2已约 3已完成 4已取消 | ||
| averagescore | NUMERIC(12, 2) | 必填 | 行为打点累计(原站无去重) | ||
| mtype2 | JSON | 可空 | 内容标签,如 [{"mark":"需求咨询","mid":297}] | ||
| tags | JSON | 可空 | 标签(新功能,扁平化) | ||
| ai_score | NUMERIC(6, 2) | 可空 | AI/规则智能评分 0-100 | ||
| ai_grade | VARCHAR(4) | 必填 | 评分档位 A/B/C/D | ||
| ai_reason | TEXT | 必填 | 评分理由 | ||
| ai_scored_at | DATETIME | 可空 | — | ||
| quality_flags | JSON | 可空 | 质量标记:invalid_mobile/duplicate/role_email/... | ||
| merged_into | BIGINT | 可空 | lead.id | 被合并到哪个主线索 | |
| is_merged | BOOLEAN | 必填 | — | ||
| owner_updated_at | DATETIME | 可空 | — | ||
| last_behavior_at | DATETIME | 可空 | — | ||
| behavior_count | INTEGER | 必填 | — | ||
| import_batch | VARCHAR(64) | 必填 | 导入批次号 | ||
| legacy_uid | BIGINT | 可空 | 原站 uid(迁移溯源用) | ||
| extra | JSON | 可空 | 原站未映射字段的兜底存放 | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
lead_assignment 10 个字段 1 处关联 线索分给了哪个顾问、什么时候分的。
线索分给了哪个顾问、什么时候分的。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 必填 | lead.id | — | |
| from_account_id | BIGINT | 可空 | — | ||
| from_account_name | VARCHAR(64) | 必填 | — | ||
| to_account_id | BIGINT | 可空 | — | ||
| to_account_name | VARCHAR(64) | 必填 | — | ||
| assign_type | VARCHAR(16) | 必填 | manual/auto/workflow/batch | ||
| reason | VARCHAR(255) | 必填 | — | ||
| operator_id | BIGINT | 可空 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
lead_attribution_event 16 个字段 归因事件:这条线索最初是从哪儿来的。
归因事件:这条线索最初是从哪儿来的。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| openid | VARCHAR(64) | 必填 | — | ||
| uid | BIGINT | 可空 | — | ||
| event_type | VARCHAR(32) | 必填 | subscribe/SCAN | ||
| event_key | VARCHAR(255) | 必填 | qrscene_xxx 原值 | ||
| scene_str | VARCHAR(255) | 必填 | — | ||
| tenant | VARCHAR(32) | 必填 | 主体,如实测的 cgl | ||
| consultant_id | BIGINT | 可空 | — | ||
| activity_id | BIGINT | 可空 | — | ||
| qr_ticket | VARCHAR(255) | 必填 | — | ||
| subscribe_scene | VARCHAR(64) | 必填 | — | ||
| raw_xml | TEXT | 必填 | — | ||
| is_duplicate | BOOLEAN | 必填 | 是否重复事件 | ||
| processed | BOOLEAN | 必填 | — | ||
| process_note | VARCHAR(255) | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
lead_behavior 14 个字段 1 处关联 线索的行为记录:点过什么、报过什么名。
线索的行为记录:点过什么、报过什么名。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 必填 | lead.id | — | |
| behavior_type | VARCHAR(32) | 必填 | BehaviorType | ||
| target_type | VARCHAR(32) | 必填 | event/survey/content | ||
| target_id | BIGINT | 可空 | — | ||
| target_title | VARCHAR(255) | 必填 | — | ||
| score | NUMERIC(8, 2) | 必填 | — | ||
| is_scored | BOOLEAN | 必填 | — | ||
| dedup_key | VARCHAR(128) | 必填 | 去重键 uid:type:target:日期 | ||
| ip | VARCHAR(64) | 必填 | — | ||
| user_agent | VARCHAR(500) | 必填 | — | ||
| referer | VARCHAR(500) | 必填 | — | ||
| detail | JSON | 可空 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
lead_blacklist 9 个字段 黑名单:明确不要的联系人。
黑名单:明确不要的联系人。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 可空 | — | ||
| mobile | VARCHAR(32) | 必填 | — | ||
| corpemail | VARCHAR(128) | 必填 | — | ||
| reason | VARCHAR(255) | 必填 | — | ||
| operator_id | BIGINT | 可空 | — | ||
| operator_name | VARCHAR(64) | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
lead_group 10 个字段 用户分组。⚠️ 老系统里这张表是空的,我们照原样保留。
用户分组。⚠️ 老系统里这张表是空的,我们照原样保留。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| groupname | VARCHAR(128) | 必填 | 组名 | ||
| groupsort | INTEGER | 必填 | 排序 | ||
| group_type | VARCHAR(32) | 必填 | custom/auto(自动分组)/public | ||
| rule | JSON | 可空 | 自动分组规则(新功能) | ||
| owner_id | BIGINT | 可空 | 创建人 manager_id | ||
| is_public | BOOLEAN | 必填 | 是否全组可见 | ||
| remark | TEXT | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
lead_group_member 5 个字段 2 处关联 分组里有哪些人。同样原样空着。
分组里有哪些人。同样原样空着。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| gid | BIGINT | 必填 | 主键 | lead_group.id | — |
| uid | BIGINT | 必填 | 主键 | lead.id | — |
| added_by | BIGINT | 可空 | — | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
lead_import_batch 17 个字段 批量导入的每个批次各导了多少、成没成功。
批量导入的每个批次各导了多少、成没成功。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| batch_no | VARCHAR(64) | 必填 | 批次号 | ||
| source | VARCHAR(32) | 必填 | isupport/excel/manual/api | ||
| filename | VARCHAR(255) | 必填 | — | ||
| file_path | VARCHAR(500) | 必填 | — | ||
| total_rows | INTEGER | 必填 | — | ||
| success_rows | INTEGER | 必填 | — | ||
| fail_rows | INTEGER | 必填 | — | ||
| skip_rows | INTEGER | 必填 | 去重跳过 | ||
| status | VARCHAR(16) | 必填 | pending/running/done/failed | ||
| error | TEXT | 必填 | — | ||
| started_at | DATETIME | 可空 | — | ||
| finished_at | DATETIME | 可空 | — | ||
| operator_id | BIGINT | 可空 | — | ||
| stat_detail | JSON | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
lead_merge_log 11 个字段 两条线索合并的留痕,合并后能追回原来是什么样。
两条线索合并的留痕,合并后能追回原来是什么样。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| primary_uid | BIGINT | 必填 | — | ||
| merged_uid | BIGINT | 必填 | — | ||
| match_key | VARCHAR(64) | 必填 | mobile/corpemail/... | ||
| match_value | VARCHAR(255) | 必填 | — | ||
| reason | VARCHAR(255) | 必填 | 合并原因(人工/API 指定) | ||
| conflict_fields | JSON | 可空 | 取值冲突明细 | ||
| snapshot | JSON | 可空 | 被合并方快照,支持回滚 | ||
| operator_id | BIGINT | 可空 | — | ||
| operator_name | VARCHAR(64) | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
lead_remark 11 个字段 1 处关联 同事给线索写的跟进备注。
同事给线索写的跟进备注。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 必填 | lead.id | — | |
| manager_id | BIGINT | 可空 | — | ||
| manager_name | VARCHAR(64) | 必填 | — | ||
| content | TEXT | 必填 | — | ||
| remark_type | VARCHAR(32) | 必填 | note/call/meeting/email/wechat | ||
| next_action | VARCHAR(255) | 必填 | — | ||
| next_action_at | DATETIME | 可空 | — | ||
| attachments | JSON | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
lead_tag_rel 6 个字段 2 处关联 「哪条线索打了哪个标签」的对应关系。
「哪条线索打了哪个标签」的对应关系。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| uid | BIGINT | 必填 | 主键 | lead.id | — |
| tag_id | BIGINT | 必填 | 主键 | content_tag.id | — |
| source | VARCHAR(32) | 必填 | manual/auto/import | ||
| manager_id | BIGINT | 可空 | — | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
login_attempt 7 个字段 登录尝试记录(用于防撞库)。
登录尝试记录(用于防撞库)。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| username | VARCHAR(64) | 必填 | — | ||
| ip | VARCHAR(64) | 必填 | — | ||
| user_agent | VARCHAR(500) | 必填 | — | ||
| success | BOOLEAN | 必填 | — | ||
| reason | VARCHAR(128) | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
manager_group 7 个字段 1 处关联 账号分组。
账号分组。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(64) | 必填 | — | ||
| leader_id | BIGINT | 可空 | manager_user.id | — | |
| sort | INTEGER | 必填 | — | ||
| remark | TEXT | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
manager_role_rel 4 个字段 1 处关联 账号和角色的对应关系。
账号和角色的对应关系。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| manager_id | BIGINT | 必填 | manager_user.id | — | |
| role_id | INTEGER | 必填 | — | ||
| role | VARCHAR(32) | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
manager_session 12 个字段 1 处关联 登录会话。
登录会话。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| sid | VARCHAR(64) | 必填 | 主键 | 32 位 hex,同 PHPSESSID | |
| manager_id | BIGINT | 必填 | manager_user.id | — | |
| account_id | BIGINT | 必填 | — | ||
| role_id | INTEGER | 必填 | — | ||
| ip | VARCHAR(64) | 必填 | — | ||
| user_agent | VARCHAR(500) | 必填 | — | ||
| l_t | VARCHAR(32) | 必填 | 兼容原站的登录时间戳 | ||
| expires_at | DATETIME | 必填 | — | ||
| revoked | BOOLEAN | 必填 | — | ||
| last_seen_at | DATETIME | 可空 | — | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
manager_user 28 个字段 后台账号。⚠️ 只存密码哈希,不存明文。
后台账号。⚠️ 只存密码哈希,不存明文。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| username | VARCHAR(64) | 必填 | 登录名,原站 ownmediausername | ||
| pwd_hash | VARCHAR(255) | 必填 | bcrypt 哈希 | ||
| pwd_legacy_md5 | VARCHAR(64) | 可空 | 原站 hex_md5 值(迁移期过渡,首次登录后清空) | ||
| realname | VARCHAR(64) | 必填 | 姓名 | ||
| mobile | VARCHAR(32) | 必填 | 手机号 | ||
| VARCHAR(128) | 必填 | 邮箱 | |||
| avatar | VARCHAR(500) | 必填 | 头像 URL | ||
| role | VARCHAR(32) | 必填 | 角色 | ||
| role_id | INTEGER | 必填 | 角色数值 ID(进 l_s) | ||
| account_id | BIGINT | 必填 | 顾问号(对应 lead.account / 二维码 mid) | ||
| group_id | BIGINT | 可空 | 所属顾问组 | ||
| data_scope | VARCHAR(16) | 必填 | 行级数据范围 all/group/self | ||
| department | VARCHAR(64) | 必填 | 部门 | ||
| title | VARCHAR(64) | 必填 | 职务 | ||
| is_active | BOOLEAN | 必填 | — | ||
| is_admin | BOOLEAN | 必填 | 是否管理员 | ||
| last_login_at | DATETIME | 可空 | — | ||
| last_login_ip | VARCHAR(64) | 必填 | — | ||
| login_count | INTEGER | 必填 | — | ||
| fail_count | INTEGER | 必填 | 连续失败次数 | ||
| locked_until | DATETIME | 可空 | 锁定至(超过失败阈值) | ||
| remark | TEXT | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
migration_run 19 个字段 数据迁移记录。⚠️ 一直是空的——因为迁移没走这张表,属于「没接线的桩」。
数据迁移记录。⚠️ 一直是空的——因为迁移没走这张表,属于「没接线的桩」。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| run_no | VARCHAR(64) | 必填 | — | ||
| source | VARCHAR(32) | 必填 | — | ||
| mode | VARCHAR(16) | 必填 | full/incremental/dry | ||
| entity | VARCHAR(32) | 必填 | — | ||
| total | INTEGER | 必填 | — | ||
| inserted | INTEGER | 必填 | — | ||
| updated | INTEGER | 必填 | — | ||
| skipped | INTEGER | 必填 | — | ||
| failed | INTEGER | 必填 | — | ||
| status | VARCHAR(16) | 必填 | — | ||
| checkpoint | JSON | 可空 | 断点续传位置 | ||
| diff_report | JSON | 可空 | 字段级差异报告 | ||
| error | TEXT | 必填 | — | ||
| started_at | DATETIME | 可空 | — | ||
| finished_at | DATETIME | 可空 | — | ||
| operator_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
notification 15 个字段 站内通知。
站内通知。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| to_manager_id | BIGINT | 必填 | — | ||
| notif_type | VARCHAR(32) | 必填 | lead_assigned/lead_created/meeting_reminder/campaign_done/attribution/import_done/system | ||
| title | VARCHAR(255) | 必填 | — | ||
| content | TEXT | 必填 | — | ||
| link_type | VARCHAR(32) | 必填 | lead/event/campaign | ||
| link_id | BIGINT | 可空 | — | ||
| link_url | VARCHAR(1000) | 必填 | — | ||
| is_read | BOOLEAN | 必填 | — | ||
| read_at | DATETIME | 可空 | — | ||
| level | VARCHAR(16) | 必填 | info/warn/urgent | ||
| channels | JSON | 可空 | ["inapp","feishu"] | ||
| pushed | BOOLEAN | 必填 | — | ||
| push_error | TEXT | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
question_module 39 个字段 1 处关联 问卷里的题目。
问卷里的题目。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| questionnaire_id | BIGINT | 必填 | questionnaire.id | — | |
| question_id | BIGINT | 可空 | 题目ID(新建时为空,落库后回填) | ||
| asstype | VARCHAR(8) | 必填 | 1=联系人(isadd=1) 2=常用组件(isadd=2) | ||
| moduletype | VARCHAR(8) | 必填 | 组件类型 1-12,见 QuestionType | ||
| question_description | TEXT | 必填 | 题干 | ||
| question_sort | INTEGER | 必填 | 排序,新卷从 2 起 | ||
| require_flag | INTEGER | 必填 | 是否必答 | ||
| is_add_score | INTEGER | 必填 | 是否计分 | ||
| score_value | INTEGER | 必填 | 分值(is_add_score=1 时) | ||
| send_verify_sms | INTEGER | 必填 | 该题是否触发短信验证(原站 #smscodetype) | ||
| question_field_name | VARCHAR(64) | 必填 | 映射到 lead 的字段名,如 firstname/company/mobile | ||
| question_placeholder | VARCHAR(255) | 必填 | — | ||
| is_show_need | INTEGER | 必填 | 是否条件显示 | ||
| is_show_needtext | VARCHAR(255) | 必填 | — | ||
| is_checkout_limit | INTEGER | 必填 | 是否限选 | ||
| checkout_limit | VARCHAR(64) | 必填 | — | ||
| star_num | VARCHAR(16) | 必填 | 评分星数 | ||
| extreme_id | VARCHAR(32) | 必填 | 评分极端值标签 | ||
| customize_l | VARCHAR(64) | 必填 | 量表左标签 | ||
| customize_r | VARCHAR(64) | 必填 | 量表右标签 | ||
| icon_type | INTEGER | 必填 | — | ||
| number_of_options | VARCHAR(32) | 必填 | — | ||
| type_of_options | INTEGER | 必填 | — | ||
| select_type | INTEGER | 必填 | — | ||
| ismandatory_passage | INTEGER | 必填 | — | ||
| ismandatory_passage_text | VARCHAR(255) | 必填 | — | ||
| validate_rule | VARCHAR(32) | 必填 | 校验规则 mobile/email/none | ||
| is_before_pagebtn | INTEGER | 必填 | — | ||
| is_page | INTEGER | 必填 | — | ||
| page_now | INTEGER | 必填 | — | ||
| page_size | INTEGER | 必填 | — | ||
| page_all | INTEGER | 必填 | — | ||
| page_prev | INTEGER | 必填 | — | ||
| page_next | INTEGER | 必填 | — | ||
| extra_attrs | JSON | 可空 | — | ||
| matrix_rows | JSON | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
question_option 13 个字段 1 处关联 题目下的选项。
题目下的选项。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| module_id | BIGINT | 必填 | question_module.id | — | |
| questionnaire_id | BIGINT | 必填 | — | ||
| question_id | BIGINT | 可空 | — | ||
| option_id | BIGINT | 可空 | — | ||
| option_name | VARCHAR(500) | 必填 | 选项文本 | ||
| option_score | INTEGER | 必填 | 选项分值 | ||
| option_sort | INTEGER | 必填 | 排序 | ||
| is_other | INTEGER | 必填 | 是否『其他』项 | ||
| is_other_input | INTEGER | 必填 | 其他项是否需输入 | ||
| is_other_must | INTEGER | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
questionnaire 27 个字段 问卷。
问卷。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| id | BIGINT | 必填 | 主键 | 问卷ID questionnaire_id | |
| name | VARCHAR(255) | 必填 | 问卷名称 | ||
| description | TEXT | 必填 | 问卷说明 | ||
| cover | VARCHAR(500) | 必填 | 封面图 | ||
| is_show_order | INTEGER | 必填 | 是否显示题号 overall[is_show_order] | ||
| is_show_progress | INTEGER | 必填 | 是否显示进度 | ||
| is_show_logo | INTEGER | 必填 | — | ||
| thanks_text | TEXT | 必填 | 提交后感谢语 | ||
| redirect_url | VARCHAR(500) | 必填 | 提交后跳转 | ||
| notify_sms | BOOLEAN | 必填 | 提交是否发短信 | ||
| notify_template_id | VARCHAR(128) | 必填 | 通知模板消息 | ||
| inviter | VARCHAR(64) | 必填 | 默认邀请人(原站 inviter=cgl) | ||
| access_count | INTEGER | 必填 | 访问量 | ||
| submit_count | INTEGER | 必填 | 提交量 | ||
| status | VARCHAR(16) | 必填 | draft/published/closed | ||
| is_template | BOOLEAN | 必填 | 是否作为模板 | ||
| default_tag_id | BIGINT | 可空 | 自动内容标签 mid | ||
| default_score | INTEGER | 必填 | 提交行为分值 | ||
| auto_meeting | BOOLEAN | 必填 | 提交后进约见池(原站 meeting 字段) | ||
| owner_id | BIGINT | 可空 | — | ||
| legacy_qid | BIGINT | 可空 | 原站 qid | ||
| is_protected | BOOLEAN | 必填 | 保护卷(原站 572/445/97 有真实答卷,禁止改题) | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
role_permission 8 个字段 角色有哪些权限。
角色有哪些权限。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| role | VARCHAR(32) | 必填 | — | ||
| role_id | INTEGER | 必填 | — | ||
| permission_code | VARCHAR(64) | 必填 | — | ||
| permission_name | VARCHAR(64) | 必填 | — | ||
| module | VARCHAR(32) | 必填 | 所属模块分组 | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
score_rule 14 个字段 AI 打分的规则。⚠️ 这张表里的配置不能随便清,清掉 AI 打分就静默失效了。
AI 打分的规则。⚠️ 这张表里的配置不能随便清,清掉 AI 打分就静默失效了。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| behavior_type | VARCHAR(32) | 必填 | BehaviorType,一个行为一条规则 | ||
| label | VARCHAR(64) | 必填 | 显示名 | ||
| score | INTEGER | 必填 | 单次分值 | ||
| daily_limit | INTEGER | 必填 | 每日计分次数上限,0=不限(原站 *_score_limit) | ||
| total_limit | INTEGER | 必填 | 总计上限,0=不限 | ||
| dedup_mode | VARCHAR(16) | 必填 | none 不去重(对齐原站 averagescore 无去重)| daily | target | ||
| target_type | VARCHAR(32) | 必填 | 限定对象类型 event/survey/content,空=不限 | ||
| is_active | BOOLEAN | 必填 | — | ||
| sort | INTEGER | 必填 | — | ||
| remark | TEXT | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
sms_config 9 个字段 短信配置。
短信配置。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| provider | VARCHAR(32) | 必填 | aliyun/tencent/yunpian | ||
| sign_name | VARCHAR(64) | 必填 | 短信签名 | ||
| template_code | VARCHAR(64) | 必填 | 默认模板 code | ||
| daily_limit | INTEGER | 必填 | 日发送上限 | ||
| is_active | BOOLEAN | 必填 | — | ||
| extra | JSON | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
stat_snapshot 9 个字段 统计快照:某个时间点的数字定格。
统计快照:某个时间点的数字定格。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| stat_date | DATETIME | 必填 | — | ||
| granularity | VARCHAR(16) | 必填 | day/week/month | ||
| metric_group | VARCHAR(32) | 必填 | lead/event/survey/wechat/channel/consultant | ||
| dim_key | VARCHAR(64) | 必填 | 维度值(如 account_id) | ||
| dim_label | VARCHAR(128) | 必填 | — | ||
| metrics | JSON | 可空 | 指标字典 | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
survey_answer 19 个字段 2 处关联 答卷(一次填写一条)。
答卷(一次填写一条)。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| questionnaire_id | BIGINT | 必填 | questionnaire.id | — | |
| uid | BIGINT | 可空 | lead.id | — | |
| mobile | VARCHAR(32) | 必填 | 查重键 | ||
| name | VARCHAR(64) | 必填 | — | ||
| company | VARCHAR(255) | 必填 | — | ||
| inviter | VARCHAR(64) | 必填 | — | ||
| managerid | BIGINT | 可空 | — | ||
| answers | JSON | 可空 | [{"question_id":1,"question":"题干","answer":"值","answer_raw":...}] | ||
| basic_answers | JSON | 可空 | basicqst 部分(联系人基础信息) | ||
| total_score | INTEGER | 必填 | 题目计分合计 | ||
| is_valid | BOOLEAN | 必填 | 有效答卷 | ||
| duration_sec | INTEGER | 必填 | 填写耗时 | ||
| ip | VARCHAR(64) | 必填 | — | ||
| user_agent | VARCHAR(500) | 必填 | — | ||
| openid | VARCHAR(64) | 必填 | — | ||
| submitted_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
survey_template 11 个字段 问卷模板。
问卷模板。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(128) | 必填 | — | ||
| category | VARCHAR(64) | 必填 | — | ||
| description | TEXT | 必填 | — | ||
| payload | JSON | 可空 | 整卷 surveyattr 快照 | ||
| question_count | INTEGER | 必填 | — | ||
| use_count | INTEGER | 必填 | — | ||
| is_system | BOOLEAN | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
system_block 9 个字段 内容区块(页面上的可配置模块)。
内容区块(页面上的可配置模块)。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| settype | VARCHAR(64) | 必填 | 配置分组 key | ||
| blockname | VARCHAR(128) | 必填 | 显示名 | ||
| blockvalue | TEXT | 必填 | 配置值 | ||
| value_type | VARCHAR(16) | 必填 | text/json/number | ||
| sort | INTEGER | 必填 | — | ||
| remark | TEXT | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
system_setting 8 个字段 系统参数。
系统参数。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| key | VARCHAR(128) | 必填 | 主键 | — | |
| value | TEXT | 必填 | — | ||
| value_json | JSON | 可空 | — | ||
| grp | VARCHAR(32) | 必填 | — | ||
| description | VARCHAR(255) | 必填 | — | ||
| is_secret | BOOLEAN | 必填 | — | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
system_task 13 个字段 后台任务记录。
后台任务记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(128) | 必填 | — | ||
| task_type | VARCHAR(32) | 必填 | stat_aggregate/token_refresh/template_retry/webhook_retry/cleanup/ai_scoring | ||
| cron | VARCHAR(64) | 必填 | cron 表达式 | ||
| payload | JSON | 可空 | — | ||
| is_active | BOOLEAN | 必填 | — | ||
| last_run_at | DATETIME | 可空 | — | ||
| last_status | VARCHAR(16) | 必填 | — | ||
| last_error | TEXT | 必填 | — | ||
| run_count | INTEGER | 必填 | — | ||
| avg_duration_ms | INTEGER | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
traffic_source 21 个字段 流量来源(渠道、投放、活动来源)。
流量来源(渠道、投放、活动来源)。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(128) | 必填 | 渠道名 | ||
| code | VARCHAR(64) | 必填 | 渠道码(URL 参数值) | ||
| source_type | VARCHAR(32) | 必填 | wechat/website/edm/sms/offline/referral/search/other | ||
| parent_id | BIGINT | 可空 | 上级渠道 | ||
| utm_campaign | VARCHAR(128) | 必填 | — | ||
| visit_count | INTEGER | 必填 | — | ||
| lead_count | INTEGER | 必填 | — | ||
| signup_count | INTEGER | 必填 | — | ||
| cost | FLOAT | 必填 | 投入成本(用于算 CAC) | ||
| is_active | BOOLEAN | 必填 | — | ||
| remark | TEXT | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| legacy_mid | BIGINT | 可空 | 原站 managerid(幂等锚点) | ||
| legacy_ownmediaid | BIGINT | 可空 | 原站 ownmediaid(自有媒体 id) | ||
| legacy_role | VARCHAR(32) | 必填 | 原站权限列原文(账号角色,非渠道类型) | ||
| legacy_contrib | BIGINT | 可空 | 原站「贡献值」原样(语义未定,勿用于统计) | ||
| legacy_email | VARCHAR(128) | 必填 | 原站邮箱 | ||
| legacy_avatar | VARCHAR(1000) | 必填 | 原站头像 URL | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
traffic_visit 16 个字段 访问记录。
访问记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| source_id | BIGINT | 可空 | — | ||
| source_code | VARCHAR(64) | 必填 | — | ||
| uid | BIGINT | 可空 | — | ||
| page_url | VARCHAR(1000) | 必填 | — | ||
| page_type | VARCHAR(32) | 必填 | event/survey/site/content | ||
| page_id | BIGINT | 可空 | — | ||
| referer | VARCHAR(1000) | 必填 | — | ||
| utm_source | VARCHAR(128) | 必填 | — | ||
| utm_medium | VARCHAR(128) | 必填 | — | ||
| utm_campaign | VARCHAR(128) | 必填 | — | ||
| ip | VARCHAR(64) | 必填 | — | ||
| user_agent | VARCHAR(500) | 必填 | — | ||
| openid | VARCHAR(64) | 必填 | — | ||
| session_id | VARCHAR(64) | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
tribune_article 20 个字段 论坛/专栏文章。
论坛/专栏文章。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| article_type | INTEGER | 必填 | 1文章 2帖子 | ||
| title | VARCHAR(255) | 必填 | — | ||
| summary | TEXT | 必填 | — | ||
| content | TEXT | 必填 | — | ||
| cover | VARCHAR(500) | 必填 | — | ||
| author_id | BIGINT | 可空 | — | ||
| author_name | VARCHAR(64) | 必填 | — | ||
| tags | JSON | 可空 | — | ||
| view_count | INTEGER | 必填 | — | ||
| like_count | INTEGER | 必填 | — | ||
| comment_count | INTEGER | 必填 | — | ||
| status | VARCHAR(16) | 必填 | — | ||
| publish_at | DATETIME | 可空 | — | ||
| is_top | BOOLEAN | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
tribune_comment 13 个字段 1 处关联 文章评论。
文章评论。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| article_id | BIGINT | 必填 | tribune_article.id | — | |
| parent_id | BIGINT | 可空 | 回复的评论 ID | ||
| uid | BIGINT | 可空 | — | ||
| author_name | VARCHAR(64) | 必填 | — | ||
| content | TEXT | 必填 | — | ||
| like_count | INTEGER | 必填 | — | ||
| audit_status | VARCHAR(2) | 必填 | 枚举字符串 '0'待审核 '1'已通过 '2'已拒绝(与 event_signup 同一合同) | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
webhook_delivery 12 个字段 每次推送的投递结果。
每次推送的投递结果。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| endpoint_id | BIGINT | 必填 | — | ||
| event | VARCHAR(64) | 必填 | — | ||
| payload | JSON | 可空 | — | ||
| attempt | INTEGER | 必填 | — | ||
| status_code | INTEGER | 可空 | — | ||
| response_body | TEXT | 必填 | — | ||
| error | TEXT | 必填 | — | ||
| duration_ms | INTEGER | 必填 | — | ||
| signature | VARCHAR(128) | 必填 | — | ||
| ok | BOOLEAN | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
webhook_endpoint 20 个字段 对外推送的回调地址配置。
对外推送的回调地址配置。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(128) | 必填 | — | ||
| url | VARCHAR(1000) | 必填 | 回调地址 | ||
| events | JSON | 可空 | ["lead.created","lead.status_changed","event.signup","wechat.follow","attribution.created"] | ||
| secret | VARCHAR(128) | 必填 | HMAC 签名密钥 | ||
| headers | JSON | 可空 | 附加请求头 | ||
| is_active | BOOLEAN | 必填 | — | ||
| retry | INTEGER | 必填 | — | ||
| timeout | INTEGER | 必填 | — | ||
| success_count | INTEGER | 必填 | — | ||
| fail_count | INTEGER | 必填 | — | ||
| last_status | INTEGER | 可空 | — | ||
| last_error | TEXT | 必填 | — | ||
| last_triggered_at | DATETIME | 可空 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
website 16 个字段 官网/落地页配置。
官网/落地页配置。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(255) | 必填 | — | ||
| domain | VARCHAR(255) | 必填 | — | ||
| slug | VARCHAR(128) | 必填 | — | ||
| template | VARCHAR(64) | 必填 | — | ||
| logo | VARCHAR(500) | 必填 | — | ||
| theme | JSON | 可空 | 主题配置 | ||
| modules | JSON | 可空 | 页面模块 | ||
| status | VARCHAR(16) | 必填 | — | ||
| view_count | INTEGER | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
wechat_auto_reply 13 个字段 微信自动回复规则。
微信自动回复规则。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| keyword | VARCHAR(128) | 必填 | 关键字 | ||
| match_type | VARCHAR(16) | 必填 | contains/exact/regex/subscribe/default | ||
| reply_type | VARCHAR(16) | 必填 | text/news/image/voice/video | ||
| content | TEXT | 必填 | 文本内容 | ||
| media_id | VARCHAR(128) | 必填 | 素材类回复的 media_id | ||
| articles | JSON | 可空 | 多图文 | ||
| sort | INTEGER | 必填 | — | ||
| is_active | BOOLEAN | 必填 | — | ||
| hit_count | INTEGER | 必填 | 命中次数 | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
wechat_config 27 个字段 微信服务号配置。
微信服务号配置。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| id | INTEGER | 必填 | 主键 | — | |
| appid | VARCHAR(64) | 必填 | AppID | ||
| origin_id | VARCHAR(64) | 必填 | 原始 ID gh_xxx | ||
| nickname | VARCHAR(128) | 必填 | 服务号名称 | ||
| account_type | VARCHAR(32) | 必填 | service_auth 认证服务号 | ||
| verified | BOOLEAN | 必填 | — | ||
| entity | VARCHAR(255) | 必填 | 主体名称 | ||
| admin_email | VARCHAR(128) | 必填 | — | ||
| callback_url | VARCHAR(500) | 必填 | — | ||
| callback_token | VARCHAR(128) | 必填 | — | ||
| encrypt_mode | VARCHAR(16) | 必填 | — | ||
| data_format | VARCHAR(16) | 必填 | — | ||
| aeskey_set | BOOLEAN | 必填 | AESKey 是否已配置 | ||
| push_enabled | BOOLEAN | 必填 | 消息推送开关 | ||
| oauth_domain | VARCHAR(255) | 必填 | 网页授权域名 | ||
| js_domain | VARCHAR(255) | 必填 | JS接口安全域名 | ||
| biz_domain | VARCHAR(255) | 必填 | 业务域名 | ||
| ip_whitelist | JSON | 可空 | API IP 白名单 | ||
| access_token_expires_at | DATETIME | 可空 | — | ||
| last_token_at | DATETIME | 可空 | — | ||
| last_sync_at | DATETIME | 可空 | — | ||
| follower_count | INTEGER | 必填 | — | ||
| last_error | TEXT | 必填 | — | ||
| health | VARCHAR(16) | 必填 | ok/error/unknown | ||
| extra | JSON | 可空 | — | ||
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
wechat_event 20 个字段 微信推过来的事件原始记录。
微信推过来的事件原始记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| openid | VARCHAR(64) | 必填 | — | ||
| msg_type | VARCHAR(32) | 必填 | event/text/image/... | ||
| event_type | VARCHAR(64) | 必填 | — | ||
| event_key | VARCHAR(255) | 必填 | — | ||
| content | TEXT | 必填 | 文本消息内容 | ||
| raw_xml | TEXT | 必填 | 原始 XML(已解密后) | ||
| raw_encrypted | TEXT | 必填 | 原始密文(若为安全模式) | ||
| encrypt_type | VARCHAR(16) | 必填 | ''/aes | ||
| reply_body | TEXT | 必填 | 返回给微信的响应体 | ||
| reply_type | VARCHAR(16) | 必填 | empty/text/news | ||
| forwarded | BOOLEAN | 必填 | 是否已透传给上游 | ||
| forward_status | INTEGER | 可空 | 上游返回状态码 | ||
| forward_error | VARCHAR(255) | 必填 | — | ||
| signature | VARCHAR(128) | 必填 | — | ||
| timestamp | VARCHAR(32) | 必填 | — | ||
| nonce | VARCHAR(32) | 必填 | — | ||
| sign_ok | BOOLEAN | 必填 | 签名是否通过 | ||
| ip | VARCHAR(64) | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
wechat_follower 23 个字段 关注服务号的人。
关注服务号的人。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| openid | VARCHAR(64) | 必填 | — | ||
| unionid | VARCHAR(64) | 必填 | — | ||
| nickname | VARCHAR(128) | 必填 | ⚠️ 微信已收回权限,恒为空 | ||
| headimgurl | VARCHAR(1000) | 必填 | ⚠️ 同上,恒为空 | ||
| sex | INTEGER | 必填 | — | ||
| country | VARCHAR(64) | 必填 | — | ||
| province | VARCHAR(64) | 必填 | — | ||
| city | VARCHAR(64) | 必填 | — | ||
| language | VARCHAR(32) | 必填 | — | ||
| remark | VARCHAR(255) | 必填 | 公众号运营者备注 | ||
| subscribe | BOOLEAN | 必填 | — | ||
| subscribe_time | DATETIME | 可空 | — | ||
| unsubscribe_time | DATETIME | 可空 | — | ||
| subscribe_scene | VARCHAR(64) | 必填 | ADD_SCENE_QR_CODE 表示扫码关注 | ||
| qr_scene | INTEGER | 可空 | 二维码整数参数 | ||
| qr_scene_str | VARCHAR(255) | 必填 | 实测 ",45,10,cgl,,0,550,0,0,1943,0,0" | ||
| uid | BIGINT | 可空 | 关联线索 uid(新功能:反查) | ||
| tag_ids | JSON | 可空 | 微信标签 | ||
| group_id | INTEGER | 可空 | 微信分组 id | ||
| is_blacklisted | BOOLEAN | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
wechat_material 16 个字段 微信素材。
微信素材。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| media_id | VARCHAR(128) | 必填 | 微信 media_id | ||
| material_type | VARCHAR(16) | 必填 | image/news/video/voice | ||
| name | VARCHAR(255) | 必填 | 标题/文件名 | ||
| digest | TEXT | 必填 | 摘要 | ||
| url | VARCHAR(1000) | 必填 | 微信侧 URL(可能过期) | ||
| local_path | VARCHAR(500) | 必填 | 本地镜像路径 | ||
| thumb_url | VARCHAR(1000) | 必填 | — | ||
| thumb_media_id | VARCHAR(128) | 必填 | — | ||
| articles | JSON | 可空 | — | ||
| file_size | INTEGER | 必填 | — | ||
| sync_from_wechat | BOOLEAN | 必填 | — | ||
| wechat_update_time | DATETIME | 可空 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
wechat_poster 24 个字段 海报模板与生成记录。
海报模板与生成记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(255) | 必填 | 海报名 postername | ||
| poster_url | VARCHAR(500) | 必填 | 底图 URL posterurl | ||
| poster_local_path | VARCHAR(500) | 必填 | 底图本地路径 | ||
| pos_left | INTEGER | 必填 | postleft | ||
| pos_top | INTEGER | 必填 | posttop | ||
| qr_width | INTEGER | 必填 | qrwidth | ||
| qr_height | INTEGER | 必填 | qrheight | ||
| post_type | INTEGER | 必填 | 1=活动 2=问卷 3=通用(原站 posttype;3 为本项目新增) | ||
| post_id | BIGINT | 可空 | 活动/问卷 ID(postid) | ||
| text_layers | JSON | 可空 | [{"field":"lead_name","x":100,"y":1500,"size":48,"color":"#082453","align":"left"}] | ||
| canvas_width | INTEGER | 必填 | — | ||
| canvas_height | INTEGER | 必填 | — | ||
| remark | TEXT | 必填 | 备注(原站 editpost_remark) | ||
| is_active | BOOLEAN | 必填 | — | ||
| generate_count | INTEGER | 必填 | 已生成张数 | ||
| last_generated_at | DATETIME | 可空 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| legacy_postid | BIGINT | 可空 | 原站 postid | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
wechat_qrcode 18 个字段 二维码台账。⚠️ 线上用的是不可撤销的永久码。
二维码台账。⚠️ 线上用的是不可撤销的永久码。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| scene_str | VARCHAR(255) | 必填 | 场景值 | ||
| scene_id | INTEGER | 可空 | 整数场景值 | ||
| action_name | VARCHAR(32) | 必填 | QR_SCENE/QR_STR_SCENE/QR_LIMIT_* | ||
| ticket | VARCHAR(255) | 必填 | 微信返回的 ticket | ||
| qr_url | VARCHAR(1000) | 必填 | showqrcode URL | ||
| local_path | VARCHAR(500) | 必填 | 本地镜像 | ||
| biz_type | VARCHAR(32) | 必填 | event/survey/consultant/invite | ||
| biz_id | BIGINT | 可空 | 业务 ID(aid/qid) | ||
| consultant_id | BIGINT | 可空 | — | ||
| expire_seconds | INTEGER | 必填 | 0=永久 | ||
| expires_at | DATETIME | 可空 | — | ||
| scan_count | INTEGER | 必填 | 被扫次数 | ||
| follow_count | INTEGER | 必填 | 带来的关注数 | ||
| signup_count | INTEGER | 必填 | 带来的报名数 | ||
| created_by | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
wechat_stat 12 个字段 微信统计。
微信统计。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| stat_date | DATE | 必填 | — | ||
| new_followers | INTEGER | 必填 | 新关注 | ||
| cancel_followers | INTEGER | 必填 | 取消关注 | ||
| net_growth | INTEGER | 必填 | — | ||
| total_followers | INTEGER | 必填 | — | ||
| msg_sent | INTEGER | 必填 | 消息发送人次 | ||
| msg_reach | INTEGER | 必填 | 消息送达人次 | ||
| qr_scan | INTEGER | 必填 | 二维码扫码次数 | ||
| raw | JSON | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
wechat_template 13 个字段 微信模板消息。
微信模板消息。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| template_id | VARCHAR(128) | 必填 | — | ||
| title | VARCHAR(128) | 必填 | — | ||
| primary_industry | VARCHAR(64) | 必填 | — | ||
| deputy_industry | VARCHAR(64) | 必填 | — | ||
| content | TEXT | 必填 | 模板原文,含 {{xxx.DATA}} | ||
| example | TEXT | 必填 | 示例 | ||
| variables | JSON | 可空 | [{"key":"first","label":"标题"}] | ||
| scene | VARCHAR(32) | 必填 | 业务场景 event_signup/survey_submit/... | ||
| is_active | BOOLEAN | 必填 | — | ||
| send_count | INTEGER | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
wechat_template_send 16 个字段 模板消息发送记录。
模板消息发送记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| template_id | VARCHAR(128) | 必填 | — | ||
| touser | VARCHAR(64) | 必填 | 目标 openid | ||
| uid | BIGINT | 可空 | 关联线索 uid | ||
| page | VARCHAR(500) | 必填 | 跳转页 | ||
| url | VARCHAR(500) | 必填 | 跳转链接(旧版) | ||
| data | JSON | 可空 | 模板变量值,对应 {{x.DATA}} | ||
| msg_id | BIGINT | 可空 | 微信返回的 msgid | ||
| status | VARCHAR(16) | 必填 | pending/sent/failed/blocked | ||
| errcode | INTEGER | 可空 | — | ||
| errmsg | VARCHAR(255) | 必填 | — | ||
| sent_at | DATETIME | 可空 | — | ||
| operator_id | BIGINT | 可空 | — | ||
| scene | VARCHAR(32) | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) |
workflow_run 9 个字段 工作流执行记录。
工作流执行记录。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| task_id | BIGINT | 必填 | — | ||
| trigger_payload | JSON | 可空 | — | ||
| matched | BOOLEAN | 必填 | — | ||
| dry_run | BOOLEAN | 必填 | — | ||
| actions_result | JSON | 可空 | — | ||
| error | TEXT | 必填 | — | ||
| duration_ms | INTEGER | 必填 | — | ||
| created_at | DATETIME | 必填 | — | ||
| id | BIGINT | 必填 | 主键 | — |
workflow_task 17 个字段 工作流里的任务。
工作流里的任务。
| 字段 | 类型 | 可为空 | 主键 | 关联到 | 备注 |
|---|---|---|---|---|---|
| name | VARCHAR(255) | 必填 | — | ||
| trigger_type | VARCHAR(32) | 必填 | lead_created/behavior/signup/status_change/schedule/wechat_follow | ||
| trigger_config | JSON | 可空 | 触发条件参数 | ||
| conditions | JSON | 可空 | [{"field":"leadsstatus","op":"eq","value":2}] | ||
| actions | JSON | 可空 | [{"type":"add_tag","tag_id":297},{"type":"assign","account_id":550},{"type":"notify_wechat","manager_id":45},{"type":"webhook","endpoint_id":3}] | ||
| status | VARCHAR(16) | 必填 | draft/active/paused/archived | ||
| dry_run | BOOLEAN | 必填 | 新建默认干跑,避免误触发 | ||
| run_count | INTEGER | 必填 | — | ||
| last_run_at | DATETIME | 可空 | — | ||
| last_error | TEXT | 必填 | — | ||
| owner_id | BIGINT | 可空 | — | ||
| id | BIGINT | 必填 | 主键 | — | |
| create_time | DATETIME | 必填 | 创建时间(UTC) | ||
| update_time | DATETIME | 必填 | 更新时间(UTC) | ||
| is_deleted | BOOLEAN | 必填 | 是否已删除(软删) | ||
| deleted_at | DATETIME | 可空 | 删除时间 | ||
| deleted_by | BIGINT | 可空 | 删除人 manager_id |
固定名单(状态、类型这些中文名从哪来)
系统里很多地方要显示「跟进中」「已转化」这类中文。 这些文字不写在页面里,而是集中在一处—— 这样改一次就全站生效,不会出现「这个页面上写『已转化』、那个页面上写『转化成功』」。
BEHAVIOR_LABELS 12 项 dict 线索的行为类型(报名、浏览、分享…)
线索的行为类型(报名、浏览、分享…)
| 编号 / 键 | 显示的文字 |
|---|---|
| view_event | 浏览活动 |
| signup_event | 报名活动 |
| submit_survey | 提交问卷 |
| download_wbks | 下载白皮书 |
| view_video | 观看视频 |
| read_article | 阅读文章 |
| view_email | 打开邮件 |
| click_email | 点击邮件 |
| wechat_share | 微信分享 |
| wechat_follow | 关注公众号 |
| interactive_ask | 小组问答 |
| contact_request | 请求联系 |
CONTENT_TYPE_LABELS 4 项 dict 内容的类型(文章、视频…)
内容的类型(文章、视频…)
| 编号 / 键 | 显示的文字 |
|---|---|
| advert | 广告 |
| video | 视频 |
| wbks | 白皮书 |
| article | 文章 |
EXPORTABLE_FIELDS 32 项 tuple 导出 Excel 时允许导出的字段白名单 —— 防止把不该导的列导出去
导出 Excel 时允许导出的字段白名单 —— 防止把不该导的列导出去
| 编号 / 键 | 显示的文字 |
|---|---|
| — | account |
| — | attachment |
| — | averagescore |
| — | businessline |
| — | company |
| — | corpemail |
| — | corpsize |
| — | department |
| — | firstname |
| — | firstregchannel |
| — | firstreginvitor |
| — | firstregtime |
| — | firstregtitle |
| — | industry |
| — | ismeettime |
| — | jobtitle |
| — | lastname |
| — | lastregchannel |
| — | lastreginvitor |
| — | lastregtime |
| — | lastregtitle |
| — | leadsstatus |
| — | location |
| — | meeting |
| — | memberno |
| — | membership |
| — | mobile |
| — | request |
| — | seniority |
| — | telephone |
| — | uid |
| — | wnickname |
EXPORT_DATE_FIELDS 3 项 frozenset 导出时哪几个字段要按日期格式写
导出时哪几个字段要按日期格式写
| 编号 / 键 | 显示的文字 |
|---|---|
| — | firstregtime |
| — | ismeettime |
| — | lastregtime |
FIELD_LABELS 37 项 dict 活动报名表单里每种字段的中文名
活动报名表单里每种字段的中文名
| 编号 / 键 | 显示的文字 |
|---|---|
| uid | 客户ID |
| wnickname | 微信昵称 |
| wopenid | 微信OpenID |
| wheadimg | 微信头像 |
| firstname | 名 |
| lastname | 姓 |
| jobtitle | 职位 |
| company | 公司 |
| corpemail | 企业邮箱 |
| location | 所在地 |
| telephone | 电话 |
| mobile | 手机号 |
| industry | 行业 |
| seniority | 资历 |
| department | 部门 |
| corpsize | 公司规模 |
| membership | 是否会员 |
| memberno | 会员编号 |
| businessline | 业务线 |
| attachment | 附件 |
| firstregchannel | 首次渠道 |
| lastregchannel | 最近渠道 |
| firstreginvitor | 首次邀请人 |
| lastreginvitor | 最近邀请人 |
| firstregtitle | 首次来源标题 |
| lastregtitle | 最近来源标题 |
| firstregtime | 首次提交时间 |
| lastregtime | 最近提交时间 |
| account | 归属顾问 |
| meeting | 是否约见 |
| request | 需求 |
| ismeettime | 约见时间 |
| leadsstatus | 线索状态 |
| averagescore | 行为总分 |
| mtype2 | 内容标签 |
| create_time | 入库时间 |
| update_time | 更新时间 |
FIELD_TYPES 5 项 tuple 报名表单支持的字段类型
报名表单支持的字段类型
| 编号 / 键 | 显示的文字 |
|---|---|
| — | checkbox |
| — | radio |
| — | select |
| — | text |
| — | textarea |
FIELD_TYPES_WITH_OPTIONS 3 项 frozenset 哪些字段类型需要配选项
哪些字段类型需要配选项
| 编号 / 键 | 显示的文字 |
|---|---|
| — | checkbox |
| — | radio |
| — | select |
FIELD_TYPE_LABELS 5 项 dict 字段类型的中文名
字段类型的中文名
| 编号 / 键 | 显示的文字 |
|---|---|
| text | 单行文本 |
| textarea | 多行文本 |
| select | 下拉选择 |
| radio | 单选 |
| checkbox | 多选 |
ISADD_LABELS 2 项 dict 定义了但没人用 ⚠️ 老系统的一个开关字段标签。零引用:定义了但没有任何代码读它。
⚠️ 老系统的一个开关字段标签。零引用:定义了但没有任何代码读它。
| 编号 / 键 | 显示的文字 |
|---|---|
| 1 | 联系人组件 |
| 2 | 常用组件 |
LEADS_STATUS_LABELS 5 项 dict 线索的跟进状态(未跟进 / 跟进中 / 已转化…)—— 后台到处都是它
线索的跟进状态(未跟进 / 跟进中 / 已转化…)—— 后台到处都是它
| 编号 / 键 | 显示的文字 |
|---|---|
| 1 | 未跟进 |
| 2 | 已拒绝 |
| 4 | 跟进中 |
| 6 | 转化成功 |
| 7 | 无效线索 |
QUESTION_TYPE_LABELS 12 项 dict 问卷题型的中文名
问卷题型的中文名
| 编号 / 键 | 显示的文字 |
|---|---|
| 1 | 段落说明 |
| 2 | 单行文本 |
| 3 | 多行文本 |
| 4 | 下拉框 |
| 5 | 单选 |
| 6 | 上传附件 |
| 7 | 多选 |
| 8 | 评分 |
| 9 | 排序 |
| 10 | 分割线 |
| 11 | 分页 |
| 12 | 矩阵量表 |
REG_CHANNEL_LABELS 6 项 dict 定义了但没人用 ⚠️ 注册渠道标签。零引用:定义了但没有人读。
⚠️ 注册渠道标签。零引用:定义了但没有人读。
| 编号 / 键 | 显示的文字 |
|---|---|
| event | 活动 |
| survey | 问卷 |
| video | 视频 |
| document | 文档 |
| wbks | 白皮书 |
| link | 外链 |
REG_CHANNEL_TYPES 9 项 dict 注册渠道的编号与名称(老系统的编号体系)
注册渠道的编号与名称(老系统的编号体系)
| 编号 / 键 | 显示的文字 |
|---|---|
| 新活动 | event |
| 活动 | event |
| 新问卷 | survey |
| 问卷 | survey |
| 新视频 | video |
| 视频 | video |
| 文档 | document |
| 白皮书 | wbks |
| 外链 | link |
ROLE_LABELS 6 项 dict 后台角色的中文名
后台角色的中文名
| 编号 / 键 | 显示的文字 |
|---|---|
| superadmin | 超级管理员 |
| admin | 管理员 |
| manager | 顾问主管 |
| consultant | 顾问 |
| marketing | 市场运营 |
| readonly | 只读 |
SCENE_STR_FIELDS 12 项 tuple 扫二维码时随码带过来的字符串字段
扫二维码时随码带过来的字符串字段
| 编号 / 键 | 显示的文字 |
|---|---|
| — | activity_id |
| — | channel |
| — | consultant_id |
| — | f10 |
| — | f11 |
| — | f7 |
| — | f8 |
| — | leading |
| — | platform |
| — | reserved |
| — | resource |
| — | tenant |
SEARCH_DYNAMIC_SELECTS 5 项 dict 搜索框里哪些条件是从数据库动态取选项的
搜索框里哪些条件是从数据库动态取选项的
| 编号 / 键 | 显示的文字 |
|---|---|
| s_location2 | location_l2 |
| s_businessline | businessline |
| s_firstreginvitor | firstreginvitor |
| s_lastreginvitor | lastreginvitor |
| s_account | account_name |
SEARCH_FIELDS 24 项 tuple 线索搜索支持哪些条件
线索搜索支持哪些条件
| 编号 / 键 | 显示的文字 |
|---|---|
| — | s_account |
| — | s_businessline |
| — | s_company |
| — | s_corpemail |
| — | s_corpsize |
| — | s_department |
| — | s_endscore |
| — | s_firstname |
| — | s_firstregchannel |
| — | s_firstreginvitor |
| — | s_industry |
| — | s_jobtitle |
| — | s_lastname |
| — | s_lastregchannel |
| — | s_lastreginvitor |
| — | s_leadsstatus |
| — | s_location1 |
| — | s_location2 |
| — | s_meeting |
| — | s_memberno |
| — | s_membership |
| — | s_mobile |
| — | s_seniority |
| — | s_startscore |
SEARCH_LABELS 24 项 dict 搜索条件的中文名
搜索条件的中文名
| 编号 / 键 | 显示的文字 |
|---|---|
| s_firstname | 名 |
| s_lastname | 姓 |
| s_jobtitle | 职位 |
| s_company | 公司 |
| s_corpemail | 企业邮箱 |
| s_mobile | 手机号 |
| s_location1 | 一级地区 |
| s_location2 | 二级地区 |
| s_industry | 行业 |
| s_seniority | 资历 |
| s_department | 部门 |
| s_corpsize | 公司规模 |
| s_membership | 是否会员 |
| s_memberno | 会员编号 |
| s_businessline | 业务线 |
| s_startscore | 行为分下限 |
| s_endscore | 行为分上限 |
| s_firstregchannel | 首次渠道 |
| s_lastregchannel | 最近渠道 |
| s_firstreginvitor | 首次邀请人 |
| s_lastreginvitor | 最近邀请人 |
| s_account | 归属顾问 |
| s_meeting | 约见 |
| s_leadsstatus | 线索状态 |
SEARCH_SELECT_FIELDS 15 项 frozenset 哪些搜索条件要用下拉框
哪些搜索条件要用下拉框
| 编号 / 键 | 显示的文字 |
|---|---|
| — | s_account |
| — | s_businessline |
| — | s_corpsize |
| — | s_department |
| — | s_firstregchannel |
| — | s_firstreginvitor |
| — | s_industry |
| — | s_lastregchannel |
| — | s_lastreginvitor |
| — | s_leadsstatus |
| — | s_location1 |
| — | s_location2 |
| — | s_meeting |
| — | s_membership |
| — | s_seniority |
SUBSCRIBE_SCENE_LABELS 13 项 dict 定义了但没人用 ⚠️ 微信关注场景标签。零引用,且老系统里也找不到对应证据。
⚠️ 微信关注场景标签。零引用,且老系统里也找不到对应证据。
| 编号 / 键 | 显示的文字 |
|---|---|
| ADD_SCENE_SEARCH | 公众号搜索 |
| ADD_SCENE_ACCOUNT_MIGRATION | 公众号迁移 |
| ADD_SCENE_PROFILE_CARD | 名片分享 |
| ADD_SCENE_QR_CODE | 扫描二维码 |
| ADD_SCENE_PROFILE_LINK | 图文页内名称点击 |
| ADD_SCENE_PROFILE_ITEM | 图文页右上角菜单 |
| ADD_SCENE_PAID | 支付后关注 |
| ADD_SCENE_WECHAT_ADVERTISEMENT | 微信广告 |
| ADD_SCENE_REPRINT | 他人转载 |
| ADD_SCENE_LIVESTREAM | 视频号直播 |
| ADD_SCENE_CHANNELS | 视频号主页 |
| ADD_SCENE_WXA | 小程序关注 |
| ADD_SCENE_OTHERS | 其他 |
YN_LABELS 2 项 dict 「是 / 否」两个字的写法 —— 看起来微不足道,但老系统有 14 个下拉框曾因此被压成文本框
「是 / 否」两个字的写法 —— 看起来微不足道,但老系统有 14 个下拉框曾因此被压成文本框
| 编号 / 键 | 显示的文字 |
|---|---|
| 1 | 是 |
| 0 | 否 |
一个既有的小混乱,如实说
表示「创建时间」的字段有两种写法:create_time 和
created_at。现在的情况是
55 张表用前者、11 张表用后者。
create_time 是为了跟老系统对得上(字段名一致,迁移才不会错位);
后来新加的表用了更常见的 created_at。
麻烦在于同一张表里两种都出现,或者有人凭印象记成
created_at 去查一张其实叫 create_time 的表——
这类错误不会报错,只会查不到数据。所以这条被写进了项目硬规矩里。