快速落库方案(不拆表版)
目的
在不拆 Contact/Case 表的前提下,把你给的《律所市场部・案件线索台账(完整版)》快速落到本站现有 by_market_lead 上,做到:
- 字段结构化、可筛选、可统计
- 与现有流程(分配/阶段/审批/审计/SLA/报表)兼容
- 先上线跑通,再逐步演进到 Contact/Case 拆模
0) 现有表与字段(已具备)
by_market_lead 目前已具备(部分列举):
- 基础:
client_name / mobile / wechat / email / source / demand / remark / create_time - 跟进:
next_follow_time / first_contact_time / first_contact_result / next_action / next_follow_date - 分配/阶段:
assign_status / lawyer_worker_id / lawyer_accept_status / current_stage - 财务:
finance_received_amount / finance_pending_amount / finance_mode / finance_invoice_status / finance_settle_status - 行政:
admin_contract_no / admin_contract_file / admin_archive_status / admin_archive_time - 审批/审计/交接:另有独立表(已做)
1) 直接落库到 by_market_lead 的字段清单(推荐新增列)
命名原则:可读 + 可枚举 + 可统计。多选字段用逗号分隔 code(短期),后期可换关联表。
1.1 基础必填(台账“一”)
client_regionVARCHAR(64) NOT NULL DEFAULT ''
- 示例:广东省/深圳市/南山区(至少到区县)
client_ageTINYINT UNSIGNED NOT NULL DEFAULT 0consult_dateINT UNSIGNED NOT NULL DEFAULT 0
- 咨询日期(时间戳,默认=创建时间)
case_type_codeVARCHAR(32) NOT NULL DEFAULT ''
- 案件类型枚举:marriage/traffic/debt/labor/criminal/contract/tort/inherit/other…
summaryTEXT
- 案情简要描述(可复用现有 demand,但建议新增别名字段便于后续拆模)
1.2 高转化补充(台账“二”)
渠道来源(结构化)
channel_mainVARCHAR(32) NOT NULL DEFAULT ''
- douyin/kuaishou/xhs/wechat/intro_customer/intro_peer/offline_poplaw/qcc/visit/baidu_sem/other
channel_subVARCHAR(64) NOT NULL DEFAULT ''
- 关键词/活动批次/讲座名称/转介绍人
意向&紧迫&金额
urgency_levelVARCHAR(24) NOT NULL DEFAULT ''
- urgent_filing/near_hearing/sued_or_executed/mediation/long_dispute/consult
target_amountINT UNSIGNED NOT NULL DEFAULT 0
- 标的额(分或元二选一;建议分=与财务字段一致)
intent_levelVARCHAR(16) NOT NULL DEFAULT ''
- high/medium/low/compare/none
decision_makerVARCHAR(16) NOT NULL DEFAULT ''
- self/family/couple/other
fee_budget_levelVARCHAR(16) NOT NULL DEFAULT ''
- low/mid/high/risk_only/pay_first/pay_later
证据&诉求(多选 codes,逗号分隔)
evidence_codesVARCHAR(255) NOT NULL DEFAULT ''
- iou,contract,medical,accident_cert,transfer,chat,recording,other…
claim_codesVARCHAR(255) NOT NULL DEFAULT ''
- get_money,divorce,custody,mitigate,respond,enforcement,inherit_split,other…
流失&敏感
lost_reason_codeVARCHAR(32) NOT NULL DEFAULT ''
- price_high,compare_other,settled_privately,no_evidence,not_now,other
is_sensitiveTINYINT(1) NOT NULL DEFAULT 0is_remoteTINYINT(1) NOT NULL DEFAULT 0
1.3 风控&合规(台账“三”)
冲突检索后续建议做独立 log 表;不拆表版先把“结果字段”落主表即可。
opponent_nameVARCHAR(64) NOT NULL DEFAULT ''opponent_mobileVARCHAR(32) NOT NULL DEFAULT ''conflict_check_statusVARCHAR(20) NOT NULL DEFAULT 'NONE'
- NONE/PASS/HIT/OVERRIDDEN
conflict_check_timeINT UNSIGNED NOT NULL DEFAULT 0limitation_riskVARCHAR(16) NOT NULL DEFAULT 'UNKNOWN'
- UNKNOWN/OK/RISK
risk_noticeVARCHAR(255) NOT NULL DEFAULT ''
- 风险告知摘要
fee_mode_codeVARCHAR(16) NOT NULL DEFAULT ''
- fixed/risk/half_risk/installment/other
1.4 复盘统计(台账“四”)
lead_valid_statusVARCHAR(16) NOT NULL DEFAULT 'UNKNOWN'
- UNKNOWN/VALID/INVALID
entrust_timeINT UNSIGNED NOT NULL DEFAULT 0
- 进入“已委托”的时间(可在阶段流转时自动写入)
close_timeINT UNSIGNED NOT NULL DEFAULT 0
- 进入“结案”的时间(可在阶段流转时自动写入)
成交周期/复购/二次案件:短期可用 entrust_time - create_time 计算;不建议手填。
2) SQL 迁移草案(建议新增一个 migration)
建议新建:docs/sql/migrations/V20260414_008_market_lead_ledger_fields.sql,内容为:
ALTER TABLE by_market_lead ADD COLUMN ...(上述字段)- 新增索引(建议):
- idx_shop_case_type (shop_id, case_type_code)
- idx_shop_channel (shop_id, channel_main)
- idx_shop_urgency (shop_id, urgency_level)
- idx_shop_intent (shop_id, intent_level)
- idx_shop_conflict (shop_id, conflict_check_status)
3) 页面与交互改造点(最小改造)
3.1 新建线索页(Merchant/market/create.html)
新增输入项:
- 地区、年龄、案件类型、紧急程度、标的额
- 来源渠道(主/子)
- 证据(多选)、诉求(多选)
- 意向程度、决策人、预算区间
- 是否敏感/异地(checkbox)
- 对方当事人(姓名/手机号)
3.2 线索详情页(Merchant/market/detail.html)
新增展示/编辑区块:
- 台账字段展示(同上)
- 冲突检索结果(短期先手工选:PASS/HIT)
- 风险告知、诉讼时效风险
- 流失原因、线索有效性
仍沿用现有字段级权限:业务/财务/行政分开可编辑。
4) 后端保存与权限(最小策略)
4.1 MarketAction::create/saveLead
create():保存新增字段;consult_date默认 NOW_TIMEsaveLead():
- 把“台账字段”归为 业务字段 scope(随 CAN_EDIT_BUSINESS)
- 冲突检索状态 conflict_check_status 默认业务可写,但 OVERRIDDEN 仅管理部可写(后续)
4.2 阶段时间戳自动写入
- 阶段进入
ENTRUSTED时:写entrust_time = NOW_TIME - 阶段进入
CLOSED时:写close_time = NOW_TIME
5) 统计与报表(先出“能用的第一版”)
在现有 ReportAction 的基础上扩展:
- 按渠道(channel_main)漏斗:线索数 → 已分配 → 已委托 → 已结案
- 按案件类型(case_type_code)统计
- 按紧急程度(urgency_level)看待处理
6) 不拆表版的局限(你需要提前知道)
- 重复咨询/复购:无法形成稳定 Contact 资产(只能靠手机号/姓名模糊判断)
- 冲突检索:只能先做“轻量比对+结果字段”,要做强合规仍建议后续拆
Contact/Case - 多选字段:逗号分隔 codes 后期会想换关联表(但短期足够)
7) 推荐上线顺序(最快见效)
- 先加字段 + 新建/详情页可录入
- 报表加“按渠道/类型”统计
- 冲突检索做轻量版(手机号/姓名匹配 + 日志)
- 再迭代拆 Contact/Case
