1. 立项背景和目标
本项目是CRM系统中的报表服务模块,旨在为保险公司提供全面、准确、及时的业务数据分析和报表支持。随着保险业务规模不断扩大,传统手工报表已无法满足精细化管理需求,亟需构建一个高效、可扩展的报表服务体系,支持监管报送、经营分析、绩效考核等多维度数据需求。
2. 软件功能、核心功能模块的介绍
项目采用典型的微服务架构,分为API层和Provider层:
API层:定义统一的服务接口规范,包含20+个核心服务接口,如保单报表服务(IPolicyReportService)、画像报表服务(IPortraitReportService)、团队管理服务等
Provider层:实现具体业务逻辑,包含30+个业务处理类(Biz),覆盖保单、代理人、分公司、产品、续期等多个业务领域
核心功能模块包括:
保单报表模块:支持监管报送(人身险/产险月报)、业绩统计、承保率分析、继续率统计等
画像报表模块:提供代理人画像、团队画像、MDRT追踪、星级人力管理等功能
团队管理模块:支持团队业绩考核、季度预警、见习预警等管理功能
数据集市模块:提供数据标准化处理和元数据管理能力
监管合规模块:满足保险中介行业协会统计、非现场监管等合规要求
3. 业务流程、功能路径描述
业务流程遵循"数据采集→数据处理→报表生成→结果输出"的完整链路:
数据源接入:从CRM系统、保司系统等获取原始业务数据
数据处理:通过MyBatis Plus进行数据查询和聚合计算
报表生成:按不同业务场景生成定制化报表
结果输出:支持Web页面展示、Excel导出、API调用等多种方式
定时任务:通过XXL-JOB调度中心执行批量数据处理任务
1. 整体架构和设计思路,不同模块使用的技术栈
项目采用分层架构设计:
技术栈:Spring Boot 2.x + Dubbo + MyBatis Plus + Druid + PageHelper + XXL-JOB
数据层:MySQL分库分表,支持主从读写分离,配置ShardingSphere加密规则
服务层:基于Dubbo的RPC服务调用,API与Provider分离部署
缓存层:集成Redis(配置在application.yml中)
消息队列:Kafka用于异步数据同步
定时任务:XXL-JOB分布式任务调度
各模块技术特点:
保单模块:复杂SQL查询,大量关联查询和聚合计算
画像模块:多维度数据交叉分析
监管模块:严格遵循监管报表格式要求
性能优化:采用分页查询、缓存策略、SQL优化等手段提升性能
2. 负责模块
保单报表模块:开发并维护IPolicyReportService接口及其实现,覆盖15+个核心报表功能
画像报表模块:主导IPortraitReportService的设计与实现
性能优化:将关键报表查询响应时间从8s优化至1.2s以内,提升6倍性能
代码质量:完成300+个单元测试用例
文档建设:编写完整的API文档和数据库设计文档