risk.model.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /**
  2. * 群风控与异常干预模块 — 数据模型定义
  3. *
  4. * 对应规范文档 §八「模块 5:群风控与异常干预模块」
  5. *
  6. * 核心表:
  7. * - risk_keyword :风险关键词库
  8. * - alert :预警记录(命中敏感词、阈值异常等)
  9. * - work_order :干预工单(预警自动生成)
  10. * - kb_case :异常处理案例知识库(二期)
  11. */
  12. /** 风险关键词 */
  13. export interface RiskKeyword {
  14. /** 主键 */
  15. id: number;
  16. /** 关键词 */
  17. keyword: string;
  18. /** 分类:price=价格敏感, competitor=竞品, complaint=投诉, custom=自定义 */
  19. category: 'price' | 'competitor' | 'complaint' | 'custom';
  20. /** 严重程度:1=低, 2=中, 3=高 */
  21. severity: 1 | 2 | 3;
  22. /** 状态:1=启用, 0=停用 */
  23. enabled: number;
  24. /** 备注 */
  25. remark: string;
  26. /** 创建时间 */
  27. createdAt: string;
  28. }
  29. /** 预警类型 */
  30. export type AlertType = 'keyword' | 'threshold' | 'abnormal';
  31. /** 预警记录 */
  32. export interface Alert {
  33. /** 主键 */
  34. id: number;
  35. /** 群 ID */
  36. roomId: string;
  37. /** 预警类型 */
  38. type: AlertType;
  39. /** 预警等级:1=信息, 2=警告, 3=严重 */
  40. level: 1 | 2 | 3;
  41. /** 预警标题 */
  42. title: string;
  43. /** 详细描述 */
  44. description: string;
  45. /** 匹配到的关键词(keyword 类型时) */
  46. matchedKeyword: string;
  47. /** 关联的消息 ID */
  48. messageId: number;
  49. /** 状态:open=待处理, handled=已处理, ignored=已忽略 */
  50. status: 'open' | 'handled' | 'ignored';
  51. /** 处理人 ID */
  52. handlerId: number;
  53. /** 处理备注 */
  54. handleNote: string;
  55. /** 关联的工单 ID */
  56. workOrderId: number;
  57. /** 创建时间 */
  58. createdAt: string;
  59. /** 处理时间 */
  60. handledAt: string;
  61. }
  62. /** 工单状态 */
  63. export type WorkOrderStatus = 'pending' | 'in_progress' | 'completed' | 'cancelled';
  64. /** 干预工单 */
  65. export interface WorkOrder {
  66. /** 主键 */
  67. id: number;
  68. /** 关联预警 ID */
  69. alertId: number;
  70. /** 工单标题 */
  71. title: string;
  72. /** 工单描述 */
  73. description: string;
  74. /** 指派负责人 ID */
  75. assigneeId: number;
  76. /** 截止时间 */
  77. deadline: string;
  78. /** 状态 */
  79. status: WorkOrderStatus;
  80. /** 处理记录 */
  81. handleRecord: string;
  82. /** 创建时间 */
  83. createdAt: string;
  84. /** 完成时间 */
  85. completedAt: string;
  86. }