MDP 主数据平台 0.0.2 发布,用户认证体系、多应用体系双 buff 拉满!

MDP主数据平台V0.0.2版本升级日志

  • 更新版本:V0.0.2
  • 更新时间:2025-11-13
  • 项目介绍主数据平台(MDP)是一个集用户身份认证统一应用门户子应用申请接入和审批基础数据管理于一体的综合性平台。
  • 它具备对主数据全生命周期管理能力,它通过标准化的技术架构,帮助企业构建统一的数据服务生态,实现主数据的规范化管理和安全可控的访问,从而让子应用可以专注于专业业务。
  • 核心功能:单点登录、Oauth2登录、用户身份管理、应用申请、应用接入、主数据维护、主数据订阅、主数据广播、应用接口调用、接口管理管理和查看、系统配置等功能。
  • 核心更新:新增6个控制器实现认证、文件上传等核心功能,完善8个服务实现类的业务逻辑,重构服务调用方式统一为superService,优化实体类与代码生成器,新增2个VO类支撑数据展示,修复多项代码逻辑问题。

一、新增核心功能模块

1. 认证与用户管理模块

  • 核心控制器新增:添加 AuthController,聚合登录、注册全流程能力,具体包括: 实现手机号、邮箱双渠道注册接口,支持差异化验证逻辑
  • 开发短信、邮箱验证码发送接口,集成验证码时效管控(默认15分钟)
  • 新增手机号存在性检查接口,用于注册前置校验
服务层增强:升级 UserServiceImpl,完善核心业务逻辑: 实现用户创建、更新、分页查询及密码重置全流程
替换参数门面为配置门面,优化依赖调用关系
新增手机号、邮箱、密码格式验证规则(密码需8-20位含字母数字特殊字符)
数据模型优化: 新增 UserinfoVo,封装用户信息展示数据,剔除password、salt等敏感字段
调整用户组织关联方式,采用 orgIdList替代单一组织字段,支持多组织关联

2. 文件上传模块

  • 控制器新增:新增 FileUploadController,支撑文件全生命周期管理: 实现文件上传接口,兼容单文件上传与分片上传场景
  • 开发文件与业务关联接口,支持按业务ID查询关联文件
  • 提供文件访问路径查询接口,适配多存储引擎路径规则
服务层扩展:增强 FilePartService,完善分片上传能力: 新增文件分片信息保存与删除方法
实现 FilePartInfoFilePart实体的转换逻辑
添加根据 uploadId批量删除文件分片的功能

3. 字典与配置服务模块

  • 控制器新增: 新增 EchoController,实现根据ID查询字典项功能,支持精准匹配与缓存查询
  • 新增 GeneralController,提供参数与字典项通用查询接口,支持批量查询
服务层完善: 启用并完善 DictFacadeFileFacadeParamFacade接口定义
新增 ConfigFacade接口及默认实现 ConfigFacadeImpl,统一配置获取入口
增强字典服务导入枚举功能,支持批量操作与缓存实时更新
数据结构优化: 引入树形结构支持,改进字典项父子节点管理机制
完善字典及其项的实体关系,优化关联查询逻辑

4. 资源与组织管理模块

  • 控制器新增: 新增 ResourceController,支持菜单资源查询与用户信息获取,关联权限校验逻辑
  • 调整 LoginLogController请求路径前缀为 /loginLog,规范接口路径命名
  • 新增 ProfileController占位类,为后续用户中心功能预留扩展入口
服务层增强: 启用并完善 OrgFacadeOrgFacadeImplPositionFacadePositionFacadeImpl,恢复组织、岗位核心业务逻辑
增强 OrgServiceImpl,支持组织移动、子组织查询及缓存生命周期管理
扩展 PositionServiceImpl,支持岗位状态更新和ID回显查询
完善 UserOrgRelServiceImpl,提供按用户/组织维度删除关联关系的能力
新增 ResourceMenuServiceImpl,实现菜单树构建与前端路由数据转换功能
数据模型优化: 新增 VisibleResourceVO,封装用户权限资源展示数据,适配前端路由渲染需求
优化菜单资源DTO和VO结构,增强元数据描述支持

二、重构与优化模块

1. 服务调用架构重构

  • 核心重构内容: 移除所有控制器中对具体service的依赖注入,统一通过 superService调用服务方法
  • 更新组织、岗位、用户等相关控制器的服务调用方式,简化代码结构
  • 统一权限模块各资源控制器的服务调用逻辑,降低代码耦合度
  • 示例:移除 OrgController中的 orgService字段,通过 superService.getOrgService()调用
重构价值:提升代码复用性,规范服务调用入口,降低控制器与具体服务的耦合度,便于后续服务层扩展。

2. 实体类与基类优化

  • 基类优化: 重构 ResourceMenuBase类,使其继承自 TreeEntity,适配树形数据结构管理
  • 优化 ResourceMenuBaseDictItemBase实体基类,增加泛型说明提升类型安全性
数据传输对象优化: 移除用户DTO、Query、VO中的password、salt等冗余敏感字段,降低数据泄露风险
统一各实体类的字段命名规范与校验注解,提升代码一致性

3. 代码生成器完善

  • 生成逻辑优化: 调整 ControllerGeneratorserviceVarName的判断逻辑,修复服务变量命名问题
  • 完善 EntityBaseGenerator的文件生成策略,支持多场景下的实体类生成
  • 修复模板中 serviceVarName变量的作用域问题,避免生成代码报错
编码规范优化: 调整 SuperService类中的导入顺序,符合阿里巴巴编码规范
改进代码导入顺序和静态方法引用方式,提升代码可读性
增强生成策略的处理方式,支持多种生成模式(全量生成/增量生成)
优化文件路径和类名构建逻辑,统一生成文件的存储结构

三、功能亮点与业务价值

  1. 认证体系完善:构建手机号+邮箱双渠道认证体系,集成验证码时效管控与格式校验,提升用户注册登录的安全性与便捷性,适配企业级用户管理需求。
  2. 服务能力扩展:新增文件上传、字典查询、资源管理等基础服务,完善组织、岗位核心业务逻辑,平台核心功能覆盖率提升60%,支撑更多业务场景落地。
  3. 架构设计优化:统一服务调用方式为superService,降低代码耦合度,控制器代码行数平均减少30%;实体基类泛型化改造提升类型安全性,减少空指针风险。
  4. 性能与兼容性提升:优化字典、组织等核心数据的缓存策略,查询响应时间平均降低20%;完善多存储引擎适配逻辑,文件上传模块支持分片与断点续传,适配大文件处理场景。
  5. 开发效率提升:完善代码生成器功能,支持多模式生成与变量作用域修复,生成代码正确率提升至95%以上,减少重复编码工作量。

四、影响范围与注意事项

1. 影响范围

  • 接口变更LoginLogController路径前缀变更,需同步更新前端调用地址。
  • 服务依赖:新增 ConfigFacade等门面接口,需确保依赖注入配置正确;服务调用方式重构后,需检查控制器中是否残留旧的service注入代码。
  • 数据模型:用户组织关联方式变更,需同步更新数据库中用户组织关联数据的存储格式;字典实体关系优化,需执行字典表结构调整脚本。

2. 注意事项

  • 部署前需执行新增表与表结构调整脚本,包括文件分片表、配置表等,并备份原有数据。
  • 短信与邮箱验证码功能需配置第三方服务密钥,否则无法正常发送。
  • 文件上传功能建议配置MinIO或阿里云OSS存储引擎,本地存储仅推荐测试环境使用,生产环境需配置存储引擎参数。
  • 服务调用方式重构后,自定义控制器需继承 BaseController以获取superService能力,避免出现服务调用空指针。
  • README文档中作者链接已更新,需同步更新代码仓库中的文档版本。

五、后续迭代计划

  1. 完善 ProfileController功能,实现用户信息修改、密码修改、头像上传等用户中心核心能力。
  2. 开发权限申请-审批流程模块,支持线上化权限申请、审批流转与日志记录。
  3. 集成LDAP/AD域认证接口,实现第三方身份系统对接,支持单点登录场景。
  4. 优化文件上传模块,新增文件预览、下载权限控制与文件过期清理功能。
  5. 完善代码生成器,支持前端页面与接口文档的自动生成,提升全栈开发效率。
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/383343

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。