背景:案件数据分散在多个维度
案件侦办不是一条单线流程:线索、人员、地点、物品、时间、组织关系交织在一起,参与方还包括不同层级和不同业务条线。系统既要能按案件组织数据,也要能按人员、组织、时间等维度交叉查看。
原有系统组织模型单一,流程改动依赖开发,大量文件只能下载后人工翻阅,协同效率低。
核心难点
- 多维组织:同一人员可能同时属于行政、业务和案件团队,权限模型不能只有一棵树。
- 流程变化:不同案件类型的审批和流转规则不同,硬编码无法持续。
- 大文件:扫描件、音视频、压缩包多,存储、预览和内容检索都吃力。
- 多端联动:不同终端和角色看到的数据与操作不同。
方案:组织、流程、文件、协同
1. 多维组织模型
把组织、岗位、业务条线和案件团队分开建模,通过关系表组合授权。权限判断同时考虑人员归属、案件角色和数据密级,避免“一个部门一棵树”带来的僵化。
2. 自研表单流程引擎
针对案件流转的高性能和灵活配置需求,自研表单与流程引擎:表单 Schema 描述字段和校验,流程定义描述节点和条件,运行时绑定版本,支持并行、会签、退回和转办。
3. 文件处理与检索
对大文件做压缩、分片和格式转换,扫描件走 OCR,文本类文件建全文索引;预览与下载分离,按权限控制。文件内容检索与案件、人员、时间等元数据组合查询。
4. 微服务与多端
按领域拆分服务,统一网关负责鉴权和路由;关键服务多副本部署,文件与索引独立扩容;多端通过统一 API 接入,按角色返回不同视图和操作。
结果
多维组织按业务维度灵活建模
自研流程手搓高性能工作流引擎
文件检索压缩、裁剪与内容检索
系统支撑了案件协同、流程流转和大文件检索的核心场景,组织与权限模型能覆盖复杂业务关系;自研流程引擎让案件类型变化可以通过配置落地,减少了对开发发版的依赖。
复盘
行业系统的难点往往不在技术栈,而在业务模型。组织、权限、流程三者一旦建模错误,后面所有功能都会别扭。先把模型和边界讨论清楚,再写代码。