You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
2.3 KiB
34 lines
2.3 KiB
|
5 hours ago
|
# crm-log
|
||
|
|
|
||
|
|
全局日志域(A7-4 日志管理):跨域审计轴,与各域内轨迹表互不替代。
|
||
|
|
|
||
|
|
## 边界
|
||
|
|
|
||
|
|
- 本模块只服务 A7-4 三页(用户操作日志 / 登录日志 / 批量操作日志)的全局审计视图与结果文件管理。
|
||
|
|
- 域内三轨迹表(OpportunityOplog / CustomerOplog / LeadHistory)服务各详情页轨迹,票 06 拍板不动、不聚合。
|
||
|
|
|
||
|
|
## 术语
|
||
|
|
|
||
|
|
| 术语 | 含义 |
|
||
|
|
| --- | --- |
|
||
|
|
| 操作日志(sys_log_operation) | 全局写操作审计行:操作快照(姓名/组织/账号/IP)+ op_type 8 枚举 + 内容 + 结果 |
|
||
|
|
| 登录日志(sys_log_login) | 登录/退出审计行,含可定位身份的失败行(账号禁用、非组织成员) |
|
||
|
|
| 批量操作日志(sys_log_batch) | 导入/导出/批量修改/批量删除审计行,挂计数明细文本与结果文件 |
|
||
|
|
| 结果文件 | 批量操作的留存文件(导入错误报告/导出 Excel),crm-file 落盘,保留 90 天 |
|
||
|
|
|
||
|
|
## 采集机制(票 02 拍板:混合)
|
||
|
|
|
||
|
|
- **AOP 兜底切面**(`OpLogAspect`,全仓首个 @Aspect):切全 Controller POST,URL 关键词映射 op_type,`@OpLog` 注解(crm-base)可覆写语义;排除 `/api/auth/**`(内联埋点更精确)、`/api/log/**`(自产自销)、`/api/file/**`(分片高频)。
|
||
|
|
- **SPI 内联埋点**:`OpLogPort`(crm-base 定义,本模块 `OperationLogCollector` 实现)——crm-auth 登录/退出(成功 + 禁用/非组织成员失败行)、crm-rule LeadPool 导入/导出/批量删除(操作页面/计数明细/结果文件只有业务侧给得出)。埋点方一律 `ObjectProvider<OpLogPort>` 容忍缺 Bean。
|
||
|
|
- 覆盖面拍板:写侧先行,不采 GET「查询」(81 个 GET 全采代价大、价值密度低);枚举保留 8 项,未来补采零改表。
|
||
|
|
|
||
|
|
## 对外关系
|
||
|
|
|
||
|
|
- 依赖 crm-auth(身份快照解析:AuthUser + 部门名)与 crm-file(FileApi 落盘/下载)——单向,不反向。
|
||
|
|
- 批量结果文件统一由本模块落盘:导出留档载荷优先,其次失败明细自动生成错误报告 Excel;行上只存 fileId。
|
||
|
|
- 90 天保留期:下载时校验(66001「文件已过期」)+ `LogFileCleanupTask` 每日 3:30 清理(crm.file.cleanup-cron 错峰),日志行本身不删。
|
||
|
|
|
||
|
|
## 错误码
|
||
|
|
|
||
|
|
66xxx 段(66001 结果文件已过期 / 66002 无可下载结果文件)——README 错误码表登记。
|