1、该项目旨在开发一套高效可扩展的CRM系统,用于支持企业客户关系、合同流程及电商数据的统一管理。系统目标包括实现多角色协同办公与精细权限控制、支持高并发微服务架构、处理百万级Excel数据并构建安全可靠的身份认证与授权体系。
2、系统核心模块包括客户管理、合同流程审批、电商数据导入导出、多角色权限控制及服务治理。采用SpringCloud微服务架构,结合Nacos、Nginx和Docker实现高可用部署,通过Spring Security + JWT + Redis实现动态权限管理,并集成EasyExcel与Python脚本支持大数据处理与校验。
3、主要业务流程涵盖用户登录与JWT认证、合同提交与RBAC权限审批、Excel数据导入与校验处理、以及基于Nginx网关的微服务调用与负载均衡,形成了一套完整、安全、高效的企业级CRM操作流程。
1. 整体架构与技术栈:该系统采用Spring Cloud微服务架构,以Nacos作为服务注册与配置中心,Nginx实现网关层负载均衡。核心模块中,客户与合同管理使用SpringBoot+MyBatis-Plus+SQLServer技术栈;权限认证层基于Spring Security+JWT+Redis构建,实现动态权限控制;大数据处理模块则集成EasyExcel进行Excel高效读写,并调用Python脚本进行数据校验,全部服务通过Docker进行容器化部署。
2. 我的负责模块与量化结果:我独立负责了核心的权限系统与数据导入功能的开发。结果上,设计的RBAC权限模型成功支撑了销售、主管等4类角色的动态权限分配,实现了按钮级的精准控制;开发的Excel导入功能,通过采用监听器模式,将百万级数据导入的内存占用降低了超过50%,导入耗时从分钟级优化至秒级,并实现了自动化的数据校验与错误报告生成。
3. 我遇到的难点与解决方案:难点在于JWT令牌无法失效与分布式权限数据同步问题。我通过将JWT有效期缩短,并将其与用户权限信息同时存入Redis的方案来解决。每次请求同时验证令牌有效性和权限最新状态,从而在兼顾无状态特性的同时,实现了权限的实时更新与令牌的可控失效。