V20260708_03__lobster_handoff_policy.sql 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. -- 数字员工人工接管提醒策略
  2. -- 设计原则:客户侧无感,不配置“转给谁”,统一提醒客户归属销售;无归属销售时由业务侧兜底到管理员/待处理池。
  3. CREATE TABLE IF NOT EXISTS lobster_handoff_policy (
  4. id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
  5. company_id BIGINT NOT NULL COMMENT '企业ID',
  6. enabled TINYINT DEFAULT 1 COMMENT '是否启用自动人工接管提醒',
  7. trigger_manual_request TINYINT DEFAULT 1 COMMENT '客户明确要求人工/负责人时提醒',
  8. trigger_high_risk TINYINT DEFAULT 1 COMMENT '投诉/退款/举报/法律风险时提醒',
  9. trigger_urgency TINYINT DEFAULT 1 COMMENT '客户明显着急或不满时提醒',
  10. trigger_low_relevance TINYINT DEFAULT 1 COMMENT 'AI连续答非所问时提醒',
  11. trigger_media TINYINT DEFAULT 1 COMMENT '图片/视频/文件等需要人工查看时提醒',
  12. trigger_reply_risk TINYINT DEFAULT 1 COMMENT 'AI回复高风险被拦截时提醒',
  13. trigger_quota_exceeded TINYINT DEFAULT 1 COMMENT 'AI额度用完时提醒',
  14. notify_owner_sales TINYINT DEFAULT 1 COMMENT '固定提醒客户归属销售',
  15. pause_ai TINYINT DEFAULT 1 COMMENT '触发后暂停AI自动回复',
  16. silent_to_customer TINYINT DEFAULT 1 COMMENT '客户侧无感,不发送转人工提示',
  17. create_follow_task TINYINT DEFAULT 1 COMMENT '创建销售跟进待办',
  18. record_reason TINYINT DEFAULT 1 COMMENT '记录接管原因',
  19. customer_message VARCHAR(500) DEFAULT NULL COMMENT '可选客户提示语,默认不发送',
  20. internal_notice VARCHAR(500) DEFAULT '客户需要人工跟进,请及时处理' COMMENT '提醒归属销售的内部提示',
  21. status TINYINT DEFAULT 1 COMMENT '状态 1正常 0停用',
  22. create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人',
  23. create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  24. update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人',
  25. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  26. PRIMARY KEY (id),
  27. UNIQUE KEY uk_company (company_id),
  28. KEY idx_enabled (enabled, status)
  29. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数字员工-人工接管提醒策略';
  30. -- 人工接管事件表:记录无感接管原因、归属销售提醒状态和后续待办
  31. CREATE TABLE IF NOT EXISTS lobster_handoff_events (
  32. id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
  33. company_id BIGINT NOT NULL COMMENT '企业ID',
  34. instance_id BIGINT DEFAULT NULL COMMENT '工作流实例ID',
  35. external_user_id VARCHAR(128) DEFAULT NULL COMMENT '外部联系人/客户ID',
  36. trigger_type VARCHAR(64) DEFAULT NULL COMMENT '触发类型',
  37. trigger_detail VARCHAR(1000) DEFAULT NULL COMMENT '触发详情',
  38. reason VARCHAR(500) DEFAULT NULL COMMENT '接管原因',
  39. urgency VARCHAR(50) DEFAULT NULL COMMENT '紧急程度',
  40. notify_owner_sales TINYINT DEFAULT 1 COMMENT '是否提醒归属销售',
  41. pause_ai TINYINT DEFAULT 1 COMMENT '是否暂停AI',
  42. silent_to_customer TINYINT DEFAULT 1 COMMENT '客户侧是否无感',
  43. create_follow_task TINYINT DEFAULT 1 COMMENT '是否创建跟进待办',
  44. notify_status VARCHAR(30) DEFAULT 'pending' COMMENT '提醒状态 pending/sent/failed/unassigned',
  45. owner_sales_id VARCHAR(64) DEFAULT NULL COMMENT '客户归属销售ID',
  46. follow_task_id BIGINT DEFAULT NULL COMMENT '跟进待办ID',
  47. create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  48. PRIMARY KEY (id),
  49. KEY idx_company_instance (company_id, instance_id),
  50. KEY idx_owner_sales (company_id, owner_sales_id),
  51. KEY idx_trigger (trigger_type)
  52. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数字员工-人工接管提醒事件';
  53. -- 扩展旧人工接管事件表字段,MySQL 8 支持 IF NOT EXISTS,重复执行不报错
  54. ALTER TABLE lobster_handoff_events
  55. ADD COLUMN IF NOT EXISTS notify_owner_sales TINYINT DEFAULT 1 COMMENT '是否提醒归属销售',
  56. ADD COLUMN IF NOT EXISTS pause_ai TINYINT DEFAULT 1 COMMENT '是否暂停AI',
  57. ADD COLUMN IF NOT EXISTS silent_to_customer TINYINT DEFAULT 1 COMMENT '客户侧是否无感',
  58. ADD COLUMN IF NOT EXISTS create_follow_task TINYINT DEFAULT 1 COMMENT '是否创建跟进待办',
  59. ADD COLUMN IF NOT EXISTS notify_status VARCHAR(30) DEFAULT 'pending' COMMENT '提醒状态 pending/sent/failed/unassigned',
  60. ADD COLUMN IF NOT EXISTS owner_sales_id VARCHAR(64) DEFAULT NULL COMMENT '客户归属销售ID',
  61. ADD COLUMN IF NOT EXISTS follow_task_id BIGINT DEFAULT NULL COMMENT '跟进待办ID';