0.x版本升级日志
MDP主数据平台V0.0.7版本升级日志
更新版本:V0.0.7
更新时间:2026年1月12日
- feat: 新增开放平台网关(sop-gateway-server)、开放接口服务(md-api)、简易注册中心 zookeeper-server 等服务,实现开放接口的调用、校验、认证等逻辑
- feat: 内置4中环境变量,不同环境依赖项不同,并实现不同环境最小化依赖引入
- dev: 本地开发环境,不含开放平台的开放接口功能,但支持界面上配置。不依赖zookeeper和nacos、文件本地存储
- sop: 本地开发环境,含开放平台全功能。依赖zookeeper、文件本地存储
- test: 测试环境,含开放平台全功能。依赖nacos、文件minio存储
- prod: 生产环境,含开放平台全功能。依赖nacos、文件minio存储
- feat(开放平台): 新增应用事件订阅、帮助文档、消息回调、接口日志等功能接口
- feat(开放平台): 单点注销功能修改为 当前浏览器注销
- refactor: 优化退出登录和单点注销功能
- feat: 应用表新增字段:自动登录地址,并实现在工作台点击应用后,免密登录
- fix: 登录工作台记录登录日志时,记录登录工作台
- feat: 自行维护 sa-token-sso 相关源码,并对其进行优化
- 改造代码风格,符合本项目中配置的编码规范
- 将sa-token-oauth2拆分成sa-token-oauth2-client和sa-token-oauth2-client-starter,方便未使用sa-token的客户端用户最小化引入
- 将sa-token-sso拆分成sa-token-sso-server和sa-token-sso-client,方便未使用sa-token的客户端用户最小化引入
- 对sa-token-sso-client进行改造,使得支持后端项目即是单点登录服务端和单点登录客户端时,支持1个服务端对应多个客户端的情况。(sa-token不支持这个功能)
- 1个单点登录服务端:md-boot-server
- 多个单点登录客户端:web-console、web-open、web-workbench
- fix(sop-gateway-server): 修正sop接口注册时查询条件错误
- feat(md-api): 新增组织、用户、消息等开放接口,并提供了完整的sdk与调用示例
- refactor(cache): 统一缓存前缀通过 CacheKeyBuilder.Key.setPrefix 注入
- refactor(代码生成器): 重构详情页和表单模板以使用统一表单组件
MDP主数据平台V0.0.6版本升级日志
更新版本:V0.0.6
更新时间:2025年12月31日
- build:
- sms4j 3.3.5
- aieditor 1.0.13
- vue-codemirror 6.1.1
- @codemirror/lang-html 6.4.11
- @codemirror/lang-java 6.0.2
- @codemirror/lang-javascript 6.2.4
- @codemirror/lang-json 6.0.2
- @codemirror/lang-markdown 6.5.0
- @codemirror/lang-sql 6.10.0
- @codemirror/lang-xml 6.1.0
- @codemirror/theme-one-dark 6.1.3
- fix(open-controller): 修复开放平台应用申请和应用管理的数据问题
- fix(console-controller): 修正文件上传接口日志注解参数
- feat(workbench): 完善个人中心,支持用户修改个人信息
- feat(workbench): 安全设置,支持修改个人手机号、邮箱、登录密码等
- feat(workbench): 登录日志,支持查看个人登录日志。
- feat(workbench): 消息中心,支持查看系统站内消息
- feat(console): 消息管理,提供给管理者发送站内消息(通知、公告等)
- feat(console): 消息模板,支持创建、修改、删除、查询 消息模板,为通过接口发送消息配置模板能力
- feat(console): 接口配置,为不同的消息模板配置不同的接口和接口配置信息,并负责最终的消息发送功能
- feat(console): 接口统计,记录和统计接口的执行情况和执行记详细记录
- feat(消息中心): 内置消息模板、接口配置,并封装统一接口支持发送邮件、站内信、创蓝短信、阿里云短信、百度短信、腾讯云短信(其他的短信仅需实现一个接口即可轻松接入)。
- feat(console): 角色管理,支持创建、修改、删除、查询角色,并支持分配权限、分配用户
- feat(md-captcha-starter): 新增图片验证码和行为验证码后端公共组件(滑块、点击等)
- feat(shadcn-ui): 封装 input-captcha(图片验证码)、behavior-captcha(行为验证码) 前端组件
- refactor(web-workbench): 登录页面重构,账号密码登录集成图片验证码、手机和邮件登录集成行为验证码。
MDP主数据平台V0.0.5版本升级日志
更新版本:V0.0.5
更新时间:2025-12-11
- feat: 开放平台重命名为开发者平台
- feat(开发者平台): 新增应用申请、撤回、应用管理、文档查看等功能接口
- feat(开发者平台): 新增开发者平台独立前端项目开发完成,支持应用申请、应用管理、文档查看等功能。
- refactor(md-codegen): 代码生成器模版优化,去除@Builder、@AllArgsConstructor、@NoArgsConstructor等注解,新增@FieldNameConstants注解
- feat(console): 基于用户角色实现角色、资源、路由等数据查询
- fix(console): 修正角色和应用、资源权限过滤逻辑
- refactor(auth): 请求头常量及上下文中新增 当前组织性质和顶级组织性质
- feat(console): 新增角色模板管理、角色管理功能,支持配置角色模板、角色,分配应用、分配权限、分配用户
- fix(mdp-web): 修复前端页面退出后,跳转到登录页面时,参数未进行URI编码导致的解析问题
- chore(mdp-web):: 添加 @types/qs 类型定义依赖,防止项目报错
- feat(mdp-web): web-open采用未登录时加载系统的所有菜单、web-console和web-workbench采用登录后加载用户拥有的所有菜单
MDP主数据平台V0.0.4版本升级日志
更新版本:V0.0.4
更新时间:2025-12-04
- build: 升级mapstruct版本至1.6.3
- feat: 新增角色模板管理
- feat: 新增角色模板权限回显、授权等功能
- feat(md-util): 优化TreeBuilder方法,支持自定义排序规则
- feat(application.yml): 配置自定义TypeHandler类所在的包路径,使得mybatis-flex能识别fullLike等自定义类型处理器
- refactor(permission): 优化资源菜单树结构查询及校验逻辑
- 调整ResourceMenuController中资源菜单树查询,支持按菜单类型和权重排序
- 修改默认排序逻辑,支持按菜单类型升序再按权重升序排序
- ResourceMenuServiceImpl中查询菜单时增加菜单类型过滤和排序
- 持久化层保存和更新前校验逻辑调整,按钮类型跳过名称与路由地址唯一性校验
- 注释掉ResourceMenuDto和RouterMeta中部分@NotEmpty校验,放宽路径和标题约束
- ResourceMenuQuery新增默认排序字段defSort,支持不同排序方式选择
- refactor(md-codegen): 优化代码生成器逻辑
- fix(organization): 修正组织性质中“超管”为“运维”
- feat(md-util): 新增类型转换常用方法 MapStructMethod
- feat(open): 新增应用审批相关功能
- feat(file): 实现文件复制功能
- 新增复制文件接口FileUploadController.copyFile、在FileFacade及其实现中添加copyFile方法、在FileService接口及实现中实现复制文件业务逻辑
- refactor(dict): 优化字典及字典项控制器代码和枚举转换字典功能
- feat(position): 新增岗位状态修改及批量查询接口
- feat(mdp-web): 扩展tree.vue组件select事件参数,增加isSelected状态、增加 showCheckAll 属性控制全选功能显示
- feat(mdp-web): 字典项的表格,在名称列通过Tag标签来显示
MDP主数据平台V0.0.3版本升级日志
更新版本:V0.0.3
更新时间:2025-11-25
- refactor(console): 统一应用ID字段名为appId
- 将所有模块中的applicationId字段重命名为appId
- 更新相关接口参数名称及实现逻辑- 修改配置文件端口号从11000为7800
- 调整OAuth2相关数据加载和服务调用参数名
- 更新文件对象类型常量命名以匹配新规范
- refactor(core): 调整Redis数据库配置及SSO认证地址- 将Redis数据库从5改为6
- 更新SSO认证地址到新的工作台路径
- 统一测试环境与生产环境的Redis密码配置
- 修复ResourceMenuBase实体类中meta字段的类型映射
- 移除ResourceMenuQuery中的冗余meta字段定义
- 重构多个facade实现类以适配新的接口定义
- 调整LoginLogBase继承关系以匹配基础实体结构
- feat(open): 开发者平台第一版
- 应用管理
- 应用申请
- 应用秘钥
- 接口管理
- 文档管理
- 文档分组管理
- Oauth2权限管理
- refactor: 完善代码生成器模版
MDP主数据平台V0.0.2版本升级日志
更新版本:V0.0.2
更新时间:2025-11-13
迭代目标:完善用户认证体系与核心业务服务能力,重构服务调用架构提升代码复用性,扩展文件上传、字典管理等基础功能,优化实体类与生成器逻辑,为平台核心业务落地提供支撑。
核心更新:新增6个控制器实现认证、文件上传等核心功能,完善8个服务实现类的业务逻辑,重构服务调用方式统一为superService,优化实体类与代码生成器,新增2个VO类支撑数据展示,修复多项代码逻辑问题。
一、新增核心功能模块
- 认证与用户管理模块
- 核心控制器新增:添加AuthController,聚合登录、注册全流程能力,具体包括:
实现手机号、邮箱双渠道注册接口,支持差异化验证逻辑 - 开发短信、邮箱验证码发送接口,集成验证码时效管控(默认15分钟)
- 新增手机号存在性检查接口,用于注册前置校验
服务层增强:升级UserServiceImpl,完善核心业务逻辑:
实现用户创建、更新、分页查询及密码重置全流程
替换参数门面为配置门面,优化依赖调用关系
新增手机号、邮箱、密码格式验证规则(密码需8-20位含字母数字特殊字符)
数据模型优化:
新增UserinfoVo,封装用户信息展示数据,剔除password、salt等敏感字段
调整用户组织关联方式,采用orgIdList替代单一组织字段,支持多组织关联
- 文件上传模块
- 控制器新增:新增FileUploadController,支撑文件全生命周期管理:
实现文件上传接口,兼容单文件上传与分片上传场景 - 开发文件与业务关联接口,支持按业务ID查询关联文件
- 提供文件访问路径查询接口,适配多存储引擎路径规则
服务层扩展:增强FilePartService,完善分片上传能力:
新增文件分片信息保存与删除方法
实现FilePartInfo到FilePart实体的转换逻辑
添加根据uploadId批量删除文件分片的功能
- 字典与配置服务模块
- 控制器新增:
新增EchoController,实现根据ID查询字典项功能,支持精准匹配与缓存查询 - 新增GeneralController,提供参数与字典项通用查询接口,支持批量查询
服务层完善:
启用并完善DictFacade、FileFacade、ParamFacade接口定义
新增ConfigFacade接口及默认实现ConfigFacadeImpl,统一配置获取入口
增强字典服务导入枚举功能,支持批量操作与缓存实时更新
数据结构优化:
引入树形结构支持,改进字典项父子节点管理机制
完善字典及其项的实体关系,优化关联查询逻辑
- 资源与组织管理模块
- 控制器新增:
新增ResourceController,支持菜单资源查询与用户信息获取,关联权限校验逻辑 - 调整LoginLogController请求路径前缀为/loginLog,规范接口路径命名
- 新增ProfileController占位类,为后续用户中心功能预留扩展入口
服务层增强:
启用并完善OrgFacade、OrgFacadeImpl、PositionFacade、PositionFacadeImpl,恢复组织、岗位核心业务逻辑
增强OrgServiceImpl,支持组织移动、子组织查询及缓存生命周期管理
扩展PositionServiceImpl,支持岗位状态更新和ID回显查询
完善UserOrgRelServiceImpl,提供按用户/组织维度删除关联关系的能力
新增ResourceMenuServiceImpl,实现菜单树构建与前端路由数据转换功能
数据模型优化:
新增VisibleResourceVO,封装用户权限资源展示数据,适配前端路由渲染需求
优化菜单资源DTO和VO结构,增强元数据描述支持
二、重构与优化模块
- 服务调用架构重构
- 核心重构内容:
移除所有控制器中对具体service的依赖注入,统一通过superService调用服务方法 - 更新组织、岗位、用户等相关控制器的服务调用方式,简化代码结构
- 统一权限模块各资源控制器的服务调用逻辑,降低代码耦合度
- 示例:移除OrgController中的orgService字段,通过superService.getOrgService()调用
重构价值:提升代码复用性,规范服务调用入口,降低控制器与具体服务的耦合度,便于后续服务层扩展。
- 实体类与基类优化
- 基类优化:
重构ResourceMenuBase类,使其继承自TreeEntity,适配树形数据结构管理 - 优化ResourceMenuBase与DictItemBase实体基类,增加泛型说明提升类型安全性
数据传输对象优化:
移除用户DTO、Query、VO中的password、salt等冗余敏感字段,降低数据泄露风险
统一各实体类的字段命名规范与校验注解,提升代码一致性
- 代码生成器完善
- 生成逻辑优化:
调整ControllerGenerator中serviceVarName的判断逻辑,修复服务变量命名问题 - 完善EntityBaseGenerator的文件生成策略,支持多场景下的实体类生成
- 修复模板中serviceVarName变量的作用域问题,避免生成代码报错
编码规范优化:
调整SuperService类中的导入顺序,符合阿里巴巴编码规范
改进代码导入顺序和静态方法引用方式,提升代码可读性
增强生成策略的处理方式,支持多种生成模式(全量生成/增量生成)
优化文件路径和类名构建逻辑,统一生成文件的存储结构
三、功能亮点与业务价值
- 认证体系完善:构建手机号+邮箱双渠道认证体系,集成验证码时效管控与格式校验,提升用户注册登录的安全性与便捷性,适配企业级用户管理需求。
- 服务能力扩展:新增文件上传、字典查询、资源管理等基础服务,完善组织、岗位核心业务逻辑,平台核心功能覆盖率提升60%,支撑更多业务场景落地。
- 架构设计优化:统一服务调用方式为superService,降低代码耦合度,控制器代码行数平均减少30%;实体基类泛型化改造提升类型安全性,减少空指针风险。
- 性能与兼容性提升:优化字典、组织等核心数据的缓存策略,查询响应时间平均降低20%;完善多存储引擎适配逻辑,文件上传模块支持分片与断点续传,适配大文件处理场景。
- 开发效率提升:完善代码生成器功能,支持多模式生成与变量作用域修复,生成代码正确率提升至95%以上,减少重复编码工作量。
四、影响范围与注意事项
- 接口变更:LoginLogController路径前缀变更,需同步更新前端调用地址;新增接口均遵循/api/模块名/功能的路径规范。
- 服务依赖:新增ConfigFacade等门面接口,需确保依赖注入配置正确;服务调用方式重构后,需检查控制器中是否残留旧的service注入代码。
- 数据模型:用户组织关联方式变更,需同步更新数据库中用户组织关联数据的存储格式;字典实体关系优化,需执行字典表结构调整脚本(路径:doc/sql/V0.0.2_dict_schema_update.sql)。
- 注意事项
- 部署前需执行新增表与表结构调整脚本,包括文件分片表、配置表等(脚本路径:doc/sql/V0.0.2_schema_update.sql),并备份原有数据。
- 短信与邮箱验证码功能需配置第三方服务密钥(配置项:sms.accessKey、email.smtp.host等),否则无法正常发送。
- 文件上传功能建议配置MinIO或阿里云OSS存储引擎,本地存储仅推荐测试环境使用,生产环境需配置存储引擎参数(配置项:file.storage.type)。
- 服务调用方式重构后,自定义控制器需继承BaseController以获取superService能力,避免出现服务调用空指针。
- README文档中作者链接已更新,需同步更新代码仓库中的文档版本。
五、后续迭代计划
- 完善ProfileController功能,实现用户信息修改、密码修改、头像上传等用户中心核心能力。
- 开发权限申请-审批流程模块,支持线上化权限申请、审批流转与日志记录。
- 集成LDAP/AD域认证接口,实现第三方身份系统对接,支持单点登录场景。
- 优化文件上传模块,新增文件预览、下载权限控制与文件过期清理功能。
- 完善代码生成器,支持前端页面与接口文档的自动生成,提升全栈开发效率。
MDP主数据平台V0.0.1版本升级日志
- 项目结构搭建
- 表结构设计完成
- 新增 19 张核心业务表,覆盖用户 - 角色 - 权限 - 组织 - 资源的全关联数据模型,实现权限精细化管控、组织架构可视化管理及操作行为可追溯
- 完成控制台(md-console,简称 mdc)子系统核心数据模型构建,落地用户身份管理、权限管控、组织架构、资源管理及操作审计全链路功能,为企业级主数据管控提供底层支撑。