# 更新日志

# Diboot v2.10.0 release (2023/10/10)

# 内核 diboot-core & core starter v2.10.0

🍻 优化:

  • @BindCount注解优化为通过分组count查询计数实现
  • @BindField 注解支持通过中间表的多条件关联从表,绑定从表字段 Issue I71VHY (opens new window)
  • @BindQuery 注解 Comparison.CONTAINS 类型支持查询JsonArray中是否包含某个值
  • BaseService添加扩展方法:
    • getViewObject(queryWrapper, voClass)
    • getValueOfField(queryWrapper, getterFn)
  • JSON工具类:优化json转换parseArray支持指定复杂类型
  • BeanUtils.getGenericityClass() 检测逻辑优化,兼容拿到interface的情况
  • PropertiesUtils.get() 新增默认值参数
  • 优化SqlFileInitializer 执行多更新操作时事务回滚逻辑
  • 优化Jackson配置,避免BigDecimal转换成String避免JS超长问题
  • Fix: 关联表查询的关联字段排序命名问题
  • 升级依赖版本:spring boot 至 v2.7.16 等

# IAM组件 diboot-IAM starter v2.10.0

🍻 优化:

  • 移除脏数据检查逻辑,优化菜单资源响应性能
  • 优化redis获取全部keys的实现,避免海量数据效率低的问题
  • 优化用户体系模型默认填充更新时间,便于数据同步等场景提取增量数据
  • 升级依赖版本:shiro 至 v1.12.0 等

# 定时任务组件 diboot-scheduler starter v2.10.0

🍻 优化:

  • fix:系统启动时的定时任务的加载判定逻辑错误导致定时无法启动的问题

# 文件、移动端、消息提醒组件 v2.10.0

🍻 优化:

  • 优化Oracle初始化sql
  • 升级依赖至最新:easy-excel 至 v3.3.2等

# PC前端 diboot-antd-admin & diboot-element-admin v2.10.0

🍻 优化:

  • 个人中心修改密码和系统用户管理修改密码添加密码校验
  • 登录密码加密
  • 替换在线编辑器地址
  • 预置功能的新建表单支持“连续添加”

# 代码生成工具 diboot-devtools v2.10.0

🎉 新增:

  • 树形表自身支持生成左树右列表
  • 移动端列表页支持搜索功能
  • form表单支持生成保存并继续功能

# 微服务版(企业版) diboot-cloud v2.10.0

🍻 优化:

  • 登录密码加密解密
  • 替换定时编辑器链接
  • 升级依赖版本: spring-cloud 2021.0.8,spring-boot 2.7.16, diboot-core 2.10.0

# 工作流版(企业版)diboot-workflow v2.10.0

🎉 新增 & 优化:

  • 表单:
    • 新增地址定位、扫码录入 组件
    • 新增高级子表单复制行功能
    • 优化高级子表单支持模板打印适配
    • 优化导出包含子表单数据的excel
    • 重构子表单API数据自动导入方案,通过数据手动变更传递数值变更来进行导入操作,防止出现不可控的导入操作或不响应问题
    • 完善高级子表单中下拉框多组件关联的功能
    • 重构高级子表单渲染 & 子表单数据对接 & 数据校验规则重构
    • 优化子表单在行数据不全时的汇总计算(剔除要素不完整的数据记录)
  • 移动端: 移动端展示基于Vant重构了,各个表单组件基于移动端规范重写适配:各表单组件、部门人员选择器、业务对象选择器等,以及各个流程办理相关移动端页面基于移动端规范和习惯重写,带来更好的UI&UE体验。
  • 流程:
    • 增加已办详情查看的字段权限控制
    • 优化设计器驳回配置,支持跨主子流程驳回
    • 优化默认分支由输入改为选择
    • 优化执行优先级配置
    • 优化流程获取元素方法
  • 其他:
    • 登录密码加密解密
    • 添加多数据库适配文档
    • 升级依赖版本、清理过期代码

🐛 修复:

  • fix: 修复并签任务驳回后再次执行任务完成数计算错误
  • fix: 移动端发起流程时,表单校验出错的问题
  • fix 修复多实例设置成跳过驳回后就不会自动认领的问题
  • fix 修复中间事件阻塞导致多实例数据设置异常
  • fix 修复flowable处理outgoing、incoming转化后丢失问题
  • fix 其他已知问题

# Diboot v2.9.0 release (2023/04/12)

# 内核 diboot-core & core starter v2.9.0

🍻 优化:

  • 调整数据权限拦截实现,支持Mappr方法之上添加 @InterceptorIgnore 忽略拦截,以及支持更新/删除时的拦截
  • BaseService 支持 ChainQuery 以简化调用写法。 Thanks @emptypoint
  • 调整Pagination的entityClass参数避免启用spring docs提取分页对象属性时报错
  • 优化异常类提示信息中支持{}占位字符串及替换
  • 远程绑定与feign解耦支持自定义其他实现
  • ContextHelper中getApplicationContext调用异常时打印堆栈便于排查
  • 只依赖core,未实现dictionaryService时执行绑定打印warn告警不阻止执行
  • 优化字典选项创建时检查重复
  • 升级依赖版本:spring boot 至 v2.7.10

# IAM组件 diboot-IAM starter v2.9.0

🍻 优化:

  • 删除用户时一并删除其任职岗位
  • IamUserService增加getUserLeaderId获取指定用户上级id的接口
  • 调整指定部门下的用户列表获取
  • 用户账号解锁功能相关完善
  • 升级依赖版本:shiro 至 v1.11

# 文件组件 diboot-file starter v2.9.0

🎉 新增:

  • 文件存储方式新增支持阿里OSS存储与读取 🍻 优化:
  • 升级依赖版本:easy-excel 至 v3.2.1, file-upload至1.5

# 定时任务组件 diboot-scheduler starter v2.9.0

🍻 优化:

  • 未初始化表时的启动报错防护

# 移动端前端 diboot-mobile-ui v2.9.0

🍻 优化:

  • 升级uview至1.8.8

# PC前端 diboot-antd-admin v2.9.0

🍻 优化:

  • 优化部门人员选择器限制滚动区高度
  • 增加固定表头通用方法及使用文档
  • 组织人员管理中添加帐号状态显示及维护
  • 完善个人信息中上传头像功能

# PC前端 diboot-element-admin v2.9.0

🍻 优化:

  • 优化部门人员选择器限制滚动区高度
  • 列表页固定表头

# 代码生成工具 diboot-devtools v2.9.0

🍻 优化:

  • devtools主子表前端生成时,如果绑定多个子表,后端service、entity只支持生成一个

# 微服务版(企业版) diboot-cloud v2.9.0

🍻 优化:

  • 远程绑定feign解耦实现优化
  • 升级依赖版本: spring-cloud 2021.0.6,spring-boot 2.7.10, diboot-core 2.9.0

# 工作流版(企业版)diboot-workflow v2.9.0

🎉 新增:

  • 表单:增加包含主子表的手写静态表单集成至流程的示例
  • 表单:静态表单定义支持添加子表单定义,支持导入子表单字段、
  • 流程:新增发起人上级变量,支持上级审批
  • 流程:静态表单支持暂存功能
  • 流程:连续节点相同执行人支持自动跳过任务 🍻 优化:
  • 表单:日期选择器支持数据变更配置与执行
  • 表单:优化ElementUI版级联选择操作后页面卡顿的问题
  • 表单:移动端显示适配的全面优化(日期、业务对象选择、级联选择等各组件适配优化)
  • 流程:切换流程终止的实现模式
  • 流程:优化加签限制,不允许签上加签
  • 流程:优化ElementUI版前端打包配置
  • 流程:优化计算多实例时,优先使用静态表单原始变量名称获取字段值
  • 升级相关依赖至最新 🐛 修复:
  • fix: 人员设置切换审批类型时,审批方式无法初始化
  • fix: 竞签中前/后加签导致任务乱的问题
  • fix: 节点候选人由多个变成一个时无法正常移除多实例配置
  • fix: 用户任务多实例转为普通用户任务bpmnlint校验元素异常的问题
  • fix: 多暂存情况 获取草稿箱异常
  • fix: 多分支后使用变量分配多实例任务,可能导致的变量不存在的问题
  • fix: 动态分配下一节点,部门前缀未添加的问题
  • fix:当子表单切换为表单布局时,仍然执行了数据自动导入的问题
  • fix: 并行网关中驳回到网关前节点,再次提交至并行网关的流转问题

# Diboot v2.8.0 release (2022/12/30)

# 内核 diboot-core & core-starter v2.8.0

🎉 新增:

  • service增加getId2EntityMap接口便于匹配逻辑需要

🍻 优化:

  • Dynamic动态缓存支持指定不同的过期时间
  • getLabelValueList支持DynamicJoinQueryWrapper联表查询条件参数
  • jackson序列化配置优化,避免某特殊情况的被覆盖
  • 升级依赖版本:spring boot 至 v2.7.6

# IAM组件 diboot-IAM-starter v2.8.0

🍻 优化:

  • 登录失败次数超限锁定账号
  • 升级依赖版本:shiro 至 v1.10

# 文件组件 diboot-file-starter v2.8.0

🍻 优化:

  • 升级依赖版本:easy-excel 至 v3.1.3

# 消息通知组件 diboot-message-starter v2.8.0

🐛 修复:

  • fix 邮件发送通道初始化相关bean注入问题

# 定时任务组件 diboot-scheduler-starter v2.8.0

🍻 优化:

  • 定时任务异常日志输出

# 移动端前端 diboot-mobile-ui v2.8.0

🍻 优化:

  • 升级uview至1.8.7

# PC前端 diboot-antd-admin & diboot-element-admin v2.8.0

🍻 优化:

  • editTableCell支持多选

# 代码生成工具 diboot-devtools v2.8.0

🍻 优化:

  • 扩展新建表时的备选预置字段:parent_id、org_id、update_by等
  • 新建表时写入默认关联字段的关联信息
  • 字段comment备注重复时仅提示不阻止
  • 列表页面生成配置支持指定列表页列头宽度

🐛 修复:

  • fix表有模块前缀时,生成的导入导出代码包名错误问题
  • fix表有模块前缀时,生成的权限码对象名错误问题

# 微服务版(企业版) diboot-cloud v2.8.0

🍻 优化:

  • 本地化页面登录页也支持多租户
  • 用户体系数据同步支持实时同步
  • BindDict支持List以适配jsonarray数据类型
  • 升级依赖版本: spring-cloud 2021.0.5,spring-boot 2.7.6, diboot-core 2.8.0

🐛 修复:

  • fix: devtools中新增的字典选项未能同步至redis的问题

# 工作流版(企业版)diboot-workflow v2.8.0

🎉 新增:

  • 表单部分:
    • 子表单支持自定义业务数据导入配置
    • 新增支持更多字段的高级子表单组件
    • 动态表单部门/人员选择组件支持配置部门根节点,精确控制选择范围
    • 表单支持分类,以使表单量大的场景更易用
  • 流程部分:
    • 用户任务增加默认抄送配置
    • 新增流程工作台,显示待办、已办、已发、常用流程等

🍻 优化:

  • 表单点击提交的时候校验不通过时自动定位到表单元素
  • 表单字段命名关键字校验优化为一次请求本地校验
  • 升级依赖版本:flowable 至 v6.8.0

🐛 修复:

  • fix 修复移动端处理任务后未能返回列表页的问题
  • fix 复制后的表单字段名更改被禁用的问题
  • fix element业务对象选择组件对于只读权限不生效的问题
  • fix element版本上传组件文件删除无效的问题
  • fix 修复多个开始节点导致流程备注消息获取失败的问题
  • fix 修复网关后多个节点使用相同用户变量值,导致重复设置前缀问题

# Diboot v2.7.0 release (2022/10/09)

# 内核 diboot-core & core-starter v2.7.0

🎉 新增:

  • 关联数据绑定splitBy支持JsonArray的拆解绑定
  • 新增LocalDate2DateConvertor, SqlDate2LocalDateConvertor,String2LocalDate*Convertor支持更多日期转换场景

🍻 优化:

  • 关联数据绑定deepBind深度绑定支持更多层
  • BindDict支持List以适配jsonarray数据类型
  • BindQuery移除无法支持跨表的toLambdaQueryWrapper
  • service.getSingleEntity()支持动态JOIN的扩展查询条件
  • D日期工具类模糊转换支持T分隔符
  • 升级依赖版本:spring boot 2.7.4

🐛 修复:

  • fix TableLogic逻辑删除注解指定value的情况下列名识别问题
  • fix 关联表中的排序字段未追加至select的问题
  • fix BindQuery联表查询条件构建无WHERE时未附加逻辑删除条件的问题
  • fix 无TableField注解的Entity类中columnName未提取的问题
  • fix 动态JOIN的空串处理策略问题

# IAM组件 diboot-IAM-starter v2.7.0

🍻 优化:

  • 优化用户名不存在的错误提示
  • 移除废弃代码及JWT相关标识

🐛 修复:

  • fix: authorizationCache的key序列化后为null的问题
  • fix: 用户岗位中间表id长度不够导致添加用户岗位报错问题
  • fix: PositionDataScope参数传递错误问题

# 文件组件 diboot-file-starter v2.7.0

🍻 优化:

  • 迁移thumbnailator至ImageThumbnailHelper,避免未依赖时的报错问题
  • 优化excel读取属性注解缓存为有序Map,以适配需要按序解析的场景

# 消息通知组件 diboot-message-starter v2.7.0

🎉 新增:

  • 系统消息默认通道SystemMessageChannel,以支持系统消息发送

# 定时任务组件 diboot-scheduler-starter v2.7.0

🍻 优化:-

# 移动端组件 diboot-mobile-starter v2.7.0

🍻 优化:升级weixinjava至4.4.0

# 移动端前端 diboot-mobile-ui v2.7.0

🍻 优化:

  • 升级uview至1.8.6版本

# PC前端 diboot-antd-admin v2.7.0

🎉 新增:

  • 新增系统消息窗口显示功能

🍻 优化:

  • 移除axios的withCredentials配置

🐛 修复:

  • fix:修复tree组件 子级已展开则父级无法折叠

# PC前端 diboot-element-admin v2.7.0

🎉 新增:

  • 新增系统消息窗口显示功能

🍻 优化:

  • 移除列表字段居中显示样式
  • 移除axios的withCredentials配置

🐛 修复:

  • fix:修复个人中心页面字典未加载的问题

# 代码生成工具 diboot-devtools v2.7.0

🎉 新增:

  • 字段类型新增List类型(数据库类型为JsonArray),支持配置1-n关联
  • 支持主子表表单页面的前后端完整代码直接生成

# 微服务版(企业版) diboot-cloud v2.7.0

🍻 优化:

  • 优化刷新用户缓存时避免清掉自身权限
  • auth-center支持多实例场景下的session共享
  • 升级依赖版本: spring-cloud 2021.0.4,spring-boot 2.7.4, diboot-core 2.7.0

🐛 修复:

  • fix: 用户岗位中间表id长度不够导致添加用户岗位报错问题
  • fix: tree组件 子级已展开则父级无法折叠的问题

# 工作流版(企业版)diboot-workflow v2.7.0

🎉 新增:

# 表单:

  • 表单发布后支持修改操作(新增字段,修改/删除原有字段)
  • 业务对象组件支持数据变更时自动填充其他字段值
  • 表单设计器标题组件支持构建大纲导航
  • 子表单支持excel导入,支持导入模板下载
  • 新增“链接组件”,支持弹窗打开、新页签打开,支持url自动赋值
  • 新增自定义业务对象示例“合同列表”选取
  • 表单发布支持同步创建历史表,保存表单数据快照
  • 表单打印支持上传word模板进行打印,支持排版要求高的场景
  • 表单数据管理功能独立菜单,优化配置,支持批量下载打印文件等
  • 日期选择器可配置选择类型以支持选择年份/月份

# 流程:

  • 流程图执行人配置重构优化,去除候选概念,更易用易懂
  • 流程图支持泳道,流转记录支持显示当前泳道名称(对应流程阶段)
  • 流程设计器支持流程图节点对齐等美化操作
  • 流程设计器支持流程配置校验功能
  • 流程操作按钮支持自定义名称、按钮变量
  • 驳回新增支持驳回到指定节点、重发跳过的配置
  • 流程可见范围支持配置 角色/岗位
  • 流程审批意见支持添加附件、支持切换富文本形式
  • 支持催办操作
  • 排他网关支持配置默认条件分支
  • 排他网关后连线支持条件优先级,多条为真,优先走优先级高分支
  • 流程候选人候选组支持使用表单字段

🍻 优化:

  • 暂存优化支持暂存多个记录
  • 表格布局内的组件可配置边框消除
  • 优化流程管理功能(合并 流程模型、流程定义功能)
  • 新建流程的弹窗中支持先选择表单
  • 优化多租户相关实现代码及启停配置
  • 优化菜单及权限的初始化配置

🐛 修复:

  • fix form_id字段长度不够导致绑定更多表单时超长问题
  • fix 表格布局单元格不支持多次从右向左合并问题

# Diboot v2.6.0 release

# 内核 diboot-core & core-starter v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库
  • @BindCount注解,用于子项汇总计数的绑定场景
  • 新增Pagination.isPaginationParam用于过滤请求参数是否为分页参数
  • 新增MapUtils工具类,用于Oracle、DM等需要忽略大小写的Map取值等场景

🍻 优化:

  • 绑定注解的condition中支持添加主表扩展条件,如 "AND this.gender = 'M' "
  • BindQuery空值处理优化,支持指定构建IsNull
  • 优化获取schema及数据库类型的逻辑,规避不兼容问题
  • BeanUtils.buildTree支持非id命名主键,指定各节点名
  • Context监听切换为ApplicationReadyEvent,避免特定情况下被刷新问题
  • Spring类型转换器优化,支持LocalDateTime等,支持扩展
  • BeanUtils get*Property支持从map对象中提取属性值
  • 缓存接口增加synchronized,避免多线程场景的潜在问题
  • 升级依赖版本:spring boot 2.7.0, mybatis-plus 3.5.2

# IAM组件 diboot-IAM-starter v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库

🍻 优化:

  • 默认为无状态,不再依赖session,以降低集群部署场景复杂度
  • token 缓存与刷新替换逻辑优化
  • 接口与权限码的提取与检查校验逻辑优化重构,更合理更高效
  • 数据权限范围控制预置实现类优化为前端岗位-数据权限设置的后端完整实现

🐛 修复:

  • fix: 多租户场景下,默认service在保存账号时无法setTenantId的问题

# 文件组件 diboot-file-starter v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库

🍻 优化:

  • 升级easy-excel组件至3.1.1

# 消息通知组件 diboot-message-starter v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库

🍻 优化:

  • message组件简化优化(全新变量注解,变量类可为任意类,注解自动提取)

# 定时任务组件 diboot-scheduler-starter v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库

# 移动端组件 diboot-mobile-starter v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库

# 移动端前端 diboot-mobile-ui v2.6.0

🍻 优化:

  • 优化表单提交,增加防误触控制

🐛 修复:

  • 修复移动端分页同一页面多次加载数据问题

# PC前端 diboot-antd-admin v2.6.0

🍻 优化:

  • 优化资源权限的权限码接口配置功能,更简单
  • 优化角色权限选择配置
  • 验证码增加traceId标识串,以剔除后端session依赖
  • 打包移除cdn,调整富文本的无效cdn

🐛 修复:

  • fix:antdv版本人员无法选择的问题

# PC前端 diboot-element-admin v2.6.0

🍻 优化:

  • 优化资源权限的权限码接口配置功能,更简单
  • 优化角色权限选择配置
  • 验证码增加traceId标识串,以剔除后端session依赖
  • 打包移除cdn,调整富文本的无效cdn

🐛 修复:

  • fix:组织机构页面特定情况下出现的无响应问题

# 开发工具 diboot-devtools v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库
  • 支持多组件数据联动的配置与生成
  • 支持前端搜索日期时间的范围生成配置

🍻 优化:

  • 优化前端生成:列表页生成配置支持直观切换为树列表形式
  • 优化统计图表生成的逻辑
  • 优化建表规则提示,命名要求更规范

🐛 修复:

  • fix:配置各层代码生成至不同路径的设置未生效问题
  • fix: 修复关联子表单批量中,删除只删除最后一行问题

# 微服务版(企业版) diboot-cloud v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库
  • 接口与权限码的提取与检查校验逻辑优化重构,更合理更高效
  • 登录页增加验证码

🍻 优化:

  • 升级依赖版本: spring-cloud 2021.0.3,spring-boot 2.6.8

# 工作流版(企业版)diboot-workflow v2.6.0

🎉 新增:

  • 支持达梦、人大金仓 数据库(扩展包)
  • 支持移动端(扩展包,基于diboot-mobile-ui)
  • 支持多租户
  • 候选组支持选部门
  • 新增多实例加签、减签支持
  • 新增动态分配下一节点执行人支持分配候选组
  • 支持流程图版本回退
  • 支持消息中间事件
  • 动态表单支持业务对象选择器组件配置与集成
  • 选项型组件选项数据支持级联数据联动功能

🍻 优化:

  • 升级diboot基础组件及 admin-ui 至 2.6.0
  • 优化流程配置候选部分UI,简化操作
  • 优化动态分配用户
  • 优化流程图展示效果
  • 固定表单命名统一为静态表单
  • 支持静态表单与动态表单混用并在流程中支持多个静态表单
  • 动态表单子表单校验与数据处理优化
  • 优化代码:逻辑下放,完善注释等

🐛 修复:

  • 修复串行多实例不支持分配用户的问题
  • 修复流程基础信息无法更新问题
  • 修复网关可视化配置字段值可能存在条件解析失败的问题
  • 修复XML新导入流程中后续节点字段权限配置可能存在必须配读写权限的问题

详细内容参考:https://www.diboot.com

# Diboot v2.5.0 release

# 内核 diboot-core & core-starter v2.5.0

🎉 新增:

  • attachMore新增alias别名字段,避免出现多个同对象的冲突情况
  • attachMore接口增加attachMoreSecurityCheck安全检查方法
  • 新增FAIL_AUTHENTICATION认证失败的状态码
  • 字符串工具类S新增S.extractToken,从请求头中提取token

🍻 优化:

  • 重构数据权限的实现为基于字段名以便适配更多场景
  • 优化数据权限检查增加缓存,避免重复解析
  • 优化JsonResult、JSON、V工具类(thanks for @emptypoint)
  • BeanUtils.convertValueToFieldType支持反序列化转换
  • 支持中间表1-n非主键绑定
  • jacksonHttpMessageConverters配置优化及支持LocalDateTime
  • 优化updateTime为新建时数据库赋值更新时统一填充
  • 升级依赖版本:spring boot 2.6.5, mybatis-plus 3.5.1

🐛 修复:

  • Fix bug: 绑定缓存的Entity信息热更新后未同步刷新的问题

# IAM starter组件 diboot-IAM-starter v2.5.0

🎉 新增:

  • 系统配置功能
  • AuthService新增OAuth2SSOServiceImpl,支持通过OAuth2单点登录接入
  • IamSecurityUtils新增支持logout(user)支持强退指定用户

🍻 优化:

  • token检查安全加固,支持拦截非系统颁发的伪造token
  • 优化updateTime为新建时数据库赋值更新时统一填充
  • 用户体系相关表主键更改为雪花id,便于数据同步场景的处理。

🐛 修复:

  • Fix bug: 组织根id判断的 equals(0) 结果错误问题

# 文件starter组件 diboot-file-starter v2.5.0

🍻 优化:

  • ddl中创建时间数据类型由timestamp改为datetime

# 消息通知starter组件 diboot-message-starter v2.5.0

🍻 优化:

  • ddl中创建时间数据类型由timestamp改为datetime
  • 优化updateTime为新建时数据库赋值更新时统一填充

# 定时任务starter组件 diboot-scheduler-starter v2.5.0

🍻 优化:

  • 移除entity中的createByName字段,替换为VO中绑定字段
  • 拆分提取QuartzSchedulerService定义,便于用户扩展
  • 优化updateTime为新建时数据库赋值更新时统一填充

# 移动端starter组件 diboot-mobile-starter v2.5.0

🍻 优化:

  • ddl中日期时间数据类型由timestamp改为datetime

# 移动端前端 diboot-mobile-ui v2.5.0

🍻 优化:

  • 代码注释优化(thanks 小强君)
  • 移动端页面布局优化

🐛 修复:

  • fix: 修复列表数据获取后依然显示加载的问题

# PC前端 diboot-antd-admin v2.5.0

🎉 新增:

  • 支持多tab打开页面
  • 系统配置功能
  • 支持OAuth2 SSO单点登录登出默认实现

🍻 优化:

  • 页面紧凑化全局样式调整,更大化可显示区域
  • 移除refMultiForm
  • 优化定时任务的日志显示
  • 优化减少attachMore的获取请求
  • 默认端口统一为9528,避免与cloud服务端口冲突

🐛 修复:

  • Fix bug: 岗位表单再次打开时未清除的问题

# PC前端 diboot-element-admin v2.5.0

🎉 新增:

  • 系统配置功能
  • 支持OAuth2 SSO单点登录登出默认实现

🍻 优化:

  • 页面紧凑化全局样式调整,更大化可显示区域
  • 优化定时任务的日志显示
  • 优化减少attachMore的获取请求
  • 移除refMultiForm
  • Element-ui 升级至 2.15.7

# 开发工具 diboot-devtools v2.5.0

🎉 新增:

  • 新用户自动开通高级功能7天订阅体验 (废除引荐码)
  • 后端字段支持配置可选“乐观锁”生成@version注解
  • 搜索区的关联字段可切换“下拉” 或 “左树”展示形式,支持直接生成左树右列表
  • 新增outputPathBase配置项,支持将组件的基础代码生成到指定路径下

🍻 优化:

  • devtools 前端CRUD生成页面 默认加载最新的快照,并支持重置&暂存
  • 优化组件初始化检查逻辑,未生成时仅提示不再强制跳转,仅初次跳转

🐛 修复:

  • fix:配置了模块策略时VO绑定字段更新时生成的package路径错误的问题
  • fix:列名不填导致网络异常报错的问题

# 微服务版(企业版) diboot-cloud v2.5.0

🎉 新增:

  • auth-center统一认证中心 与 user-center 用户中心 从原auth-server模块剥离,便于后期维护
  • 支持SSO单点登录&统一退出(用于企业门户)
  • 支持Portal首页门户,支持client客户端应用单点接入管理(用于企业门户)
  • 支持多租户与其权限体系配置功能(用于SaaS系统)
  • 集成Skywalking,支持微服务性能监控、链路追踪、日志收集
  • 新增用户体系相关数据同步接口,用于子系统同步用户相关数据
  • 新增@InnerApi注解,用于服务间后端调用接口
  • 初始数据可执行脚本程序,一键初始化全部基础数据

🍻 优化:

  • 服务模块下的各环境配置文件统一优化
  • 模块拆分与命名统一优化
  • 登录方式统一调整为授权码模式
  • 优化updateTime为新建时数据库赋值更新时统一填充
  • 前端支持多tab页打开页面,及页面紧凑化样式优化
  • 升级diboot-core内核组件及 diboot-antd-admin 至 2.5.0
  • 升级依赖版本: spring-cloud 2021.0.1,spring-boot 2.6.5

# 工作流版(企业版)diboot-workflow v2.5.0

🎉 新增:

  • 表单设计器新增支持公式计算(数字计算、日期计算等)
  • 表单设计器新增自动编号组件
  • 表单设计器新增级联选择器组件
  • 表单数据CRUD动态管理功能
  • 表单输入框等支持从接口中设置默认值数据
  • 表单字段显示受控的支持
  • 新增流程发起暂存功能
  • 新增任务执行时指定下一节点执行人
  • 流程设计支持服务任务
  • 流程设计支持子流程
  • 流程设计支持信号事件配置
  • 流程设计多实例支持配置候选组

🍻 优化:

  • 优化任务处理界面,增大页面空间,优化UI,布局紧凑
  • 优化流程设计器页面,增大设计区空间,优化UI
  • 优化表单设计器页面,增大设计区空间,优化UI
  • 优化antd版本支持多tab页打开页面,及页面紧凑化样式优化
  • 优化andt切换至表单设计器、流程设计器自动收起侧边栏
  • 升级diboot基础组件及前端项目 至 2.5.0
  • 升级依赖版本: flowable 6.7.2

🐛 修复:

  • 修复部分列表排序异常
  • 修复管理员无权处理自己流程的问题
  • 修复流程开始节点跟流程调用节点,执行报错问题
  • 修复网关处驼峰转化到这变量无法填充问题
  • 修复并行中驳回导致并行其他节点处于待办状态(增加id配置约定_begin,_end)
  • 修复节点字段隐藏导致发起和任务处理时无法正常提交

# Diboot v2.4.0 release

# 内核 diboot-core & core-starter v2.4.0

🎉 新增:

  • 关联数据绑定执行切换为异步并发执行,进一步提升查询性能
  • @BindQuery注解支持添加多个组合为OR查询
  • @BindDict注解支持逗号拆分匹配

🍻 优化:

  • KeyValue替换为LabelValue避免使用时混淆
  • AttachMore支持远程过滤、及附加查询条件、支持跨表树形(异步)构建
  • 更新加密脱敏策略的默认实现为空实现
  • 数据权限相关类package移至data.access
  • 移除异步执行器TaskExecutor的bean name指定
  • V、S、D等系列工具类的优化 (thanks for @emptypoint)
  • 升级依赖版本:spring boot 2.6.2

🐛 修复:

  • Fix bug: 数据权限检查在某些情况下过滤条件重复的问题
  • Fix bug: DynamicMemoryCacheManager缓存过期判断问题

# 文件组件 diboot-file-starter v2.4.0

🎉 新增:

  • 新增LockedWriteHandler,支持导出excel的sheet页锁定某列
  • 新增FreezePaneWriteHandler,支持导出的excel动冻指定行与列以及自动冻结表头
  • 新增@ExcelComment,支持添加表头批注
  • 新增文件删除接口

🍻 优化:

  • Excel支持大数据量的分页导入分批写入
  • Excel上传的过程优化,包括支持类型推断、上传合法数据、下载错误数据、错误记录标注、异常提示等
  • @ExcelBindDict注解支持逗号拆分匹配
  • 升级依赖版本:easyexcel 3.0.5

🐛 修复:

  • Fix bug: 上传文件的备注信息未成功保存的问题

# IAM组件 diboot-IAM-starter v2.4.0

🍻 优化:

  • 组织相关列表页查询支持名称的模糊查询
  • Operation改为OperationCons,避免与swagger3注解冲突导致书写繁琐

🐛 修复:

  • Fix bug: 修正非mysql数据库脚本中的permission_id命名错误

# 消息通知组件 diboot-message-starter v2.4.0

🍻 优化:

  • 发送消息支持通过模板code查询模板
  • 支持自动填充创建人id值

# 定时任务组件 diboot-scheduler-starter v2.4.0

🍻 优化:

  • 优化定时任务初始化逻辑
  • 支持自动填充创建人id值

# 移动端组件 diboot-mobile-starter v2.4.0

🍻 优化:

  • 简化小程序、公众号使用配置
  • 支持IamMember和IamUser关联
  • 默认初始化移动端的登录账号密码 admin/123456
  • nickname改为可空,适配微信接口调整
  • 升级依赖微信开发包 weixin-java-* 至 4.2.0

# 移动端前端 diboot-mobile-ui v2.4.0

🎉 新增:

  • 支持用户名密码、微信公众号、小程序 登录的对接实现
  • 增加CRUD示例页面
  • 增加个人中心页面
  • 增加IamUser绑定微信登陆
  • 增加上传组件、选择器、checkbox、地区选择器、时间选择器、卡片、描述等组件 🍻 优化:
  • 系列页面及组件的多端适配调整优化
  • 升级uviewui至1.8.5、适配HBuilder新版本

# PC前端 diboot-antd-admin v2.4.0

🎉 新增:

  • 上传文件管理功能
  • echarts依赖

🍻 优化:

  • 调整attachMore相关的命名调用等
  • 下拉选项支持远程搜索、支持联动、支持跨表树形(异步)构建
  • excel导入导出优化,错误提示优化,支持导出错误数据等
  • 优化消息模板管理功能
  • 优化行编辑组件支持树

🐛 修复:

  • Fix bug: 校验或enhance方法抛出异常后,提交状态未消除的问题

# PC前端 diboot-element-admin v2.4.0

🎉 新增:

  • 上传文件管理功能
  • echarts依赖

🍻 优化:

  • 调整attachMore相关的命名调用等
  • 下拉选项支持远程搜索、支持联动、支持跨表树形(异步)构建
  • excel导入导出优化,错误提示优化,支持导出错误数据等
  • 优化消息模板管理功能
  • 优化行编辑组件支持树

🐛 修复:

  • Fix bug: 修复checkbox提交异常回显失败的问题
  • Fix bug: import组件remove方法无法调用的问题

# 工具 diboot-devtools v2.4.0

🎉 新增:

  • 新增移动端页面生成(基于 diboot-mobile-ui)
  • 面板组件支持常规统计图表的生成
  • 数据表管理新增“参考库建表”,支持常用的省市区建表及数据导入
  • 数据表管理新增“批量添加字段”功能
  • swagger接口文档支持切换为Springdoc(替代Springfox)
  • 快照实现优化(移除开关、自动保存)(thanks @梦想家)

🍻 优化:

  • PC端CRUD页面生成支持配置生成远程搜索及多选搜索
  • 前端生成相关的性能优化、组件分组与命名优化
  • 配置n-n关联时支持自定义中间表表名
  • 支持JDK17

🐛 修复:

  • fix Mysql5.7 0000-00-00日期报错问题

# 微服务版(企业版) diboot-cloud v2.4.0

🎉 新增:

  • 关联数据绑定支持跨服务绑定(分属于不同服务里的对象间可互相绑定)

🍻 优化:

  • KeyValue 替换为 LabelValue以避免使用时混淆
  • Excel上传的过程优化,包括支持类型推断、上传合法数据、下载错误数据、错误记录标注、异常提示等
  • @BindDict @ExelBindDict 注解支持逗号拆分匹配
  • Operation -> OperationCons 以避免与swagger注解冲突
  • 调整上传文件白名单与大小限制
  • 移除actuator依赖提升安全性
  • 升级diboot基础组件及 admin-ui 至 2.4.0
  • 升级依赖版本: spring-cloud 2021.0.0,spring-boot 2.6.2

# 工作流版(企业版)diboot-workflow v2.4.0

🎉 新增:

  • 上传文件管理功能

🍻 优化:

  • 流程图查看优化,基于bpmn.js渲染流程图替代flowable的图片流程图
  • 超大表格布局下的表单设计功能性能优化
  • 动态表单导入外部表后,允许更改表单名称与字段标签名
  • 升级diboot基础组件及 admin-ui 至 2.4.0
  • 升级依赖版本: flowable 6.7.1

# diboot v2.3.1 release

# 内核 diboot-core & core-starter v2.3.1

🎉 新增:

  • 新增@ProtectField注解实现字段加密与脱敏,支持安全等保
  • BindEntityList新增支持多个ID拼接存储的值进行拆解绑定
  • BindFieldList新增支持orderBy排序
  • 新增diboot.global.init-sql全局配置,关闭sql自动初始化检查
  • 新增InvalidUsageException用于提示错误的调用

🍻 优化:

  • 优化请求参数的合法检查、异常信息过滤等安全防护
  • 优化PagingJsonResult添加空构造方法,便于反序列化
  • 优化BaseService的N-N更新接口实现
  • 升级依赖版本:spring boot 2.5.5, mybatis-plus 3.4.3.4...

🐛 修复:

  • Fix bug: 优化select字段逻辑特定情况下误转换有AS别名字段的问题

# 文件组件 diboot-file-starter v2.3.1

🍻 优化:

  • 优化文件类型黑白名单及合法检查逻辑

# IAM组件 diboot-IAM-starter v2.3.1

🎉 新增:

  • 新增IamSecurityUtils.getCurrentUserId(),直接返回用户id

🍻 优化:

  • 优化异步日志保存类,指定异步executor,避免多异步执行器场景下冲突
  • 用户角色更新接口实现逻辑优化
  • 升级依赖版本: shiro1.8.0

🐛 修复:

  • Fix bug: 下载接口添加@log日志注解报异常问题

# 消息通知组件 diboot-message-starter v2.3.1

🍻 优化:

  • 邮件通道默认支持发送HTML格式邮件
  • 优化异步日志保存类,指定executor,避免多异步执行器场景下冲突
  • 优化message的模板id允许为空,支持不依赖模板的消息记录

# 定时任务组件 diboot-scheduler-starter v2.3.1

🍻 优化:

  • 新增createByName字段冗余,移除IAM依赖
  • 定时任务对象新增saveLog是否记录日志开关
  • 定时任务名称支持自定义及模糊查询
  • 优化异步日志保存类,指定executor,避免多异步执行器场景下冲突

# 移动端组件 diboot-mobile-starter (新组件) v2.3.1

🎉 🎉🎉:

  • 支持H5账号密码登录、微信小程序登录与注册、微信公众号登录与注册
  • 组件自动配置,iam-member移动端成员表自动初始化
  • 提供配套 diboot-mobile-ui (uni-app版) 前端框架

# 移动端前端 diboot-mobile-ui (新组件) v2.3.1

🎉 🎉🎉:

  • 基于uni-app基础轻量封装
  • 支持H5账号密码登录
  • 支持微信小程序登录与自动注册
  • 支持微信公众号登录与自动注册

# PC前端 diboot-antd-admin v2.3.1

🍻 优化:

  • 调整attachMore请求逻辑,兼容自定义attachMore和通用attachMore接口
  • 新增自定义开区间查询
  • 定时任务支持配置标题及日志开关
  • 新增可编辑表格
  • 调整文件上传大小为10M
  • 引入图片预览组件

🐛 修复:

  • Fix bug: 点击上传的文件项弹窗异常问题

# PC前端 diboot-element-admin v2.3.1

🍻 优化:

  • 调整attachMore请求逻辑,兼容自定义attachMore和通用attachMore接口
  • 新增自定义开区间查询
  • 定时任务支持配置标题及日志开关
  • 新增可编辑表格
  • 调整文件上传大小为10M

# 工具 diboot-devtools v2.3.1

🎉 新增:

  • devtools引荐活动,输入邀请码,双方各获一周前端生成使用期限
  • 前端生成新增支持关联场景的集成方案,使面板组件易于集成
  • 前端代码生成后自动格式化
  • 前端列表生成支持可选editable可编辑表格

🍻 优化:

  • 支持PostgreSQL 12+版本
  • N-N关联配置支持自定义属性名
  • 字段自动填充实现改为生成MP的MetaObjectHandler实现类

🐛 修复:

  • fix:1-n的详情页设置保存快照后恢复回显异常问题
  • fix:后端代码删除后,之前的关联设置未能正确回显的问题
  • fix:非id,uuid主键的已有表生成后端代码报错的问题

# 微服务 diboot-cloud v2.3.1

🎉 新增:

  • 用户列表新增excel上传下载功能

🍻 优化:

  • 配置简化优化,包路径优化,common基础组件改为starter,增加自动配置,业务模块无需再配置scan "com.diboot"
  • auth-server中的resource server配置移至yml中
  • scheduler定时任务新增saveLog是否记录日志开关,定时任务名称支持自定义及模糊查询
  • message模块邮件通道支持发送HTML格式邮件
  • 依赖升级

🐛 修复:

  • fix:图片文件下载的弹窗预览异常问题

# diboot v2.3.0 release

# diboot-core & core-starter

🎉 新增:

  • 新增redis及无状态相关可选自动配置实现
  • 新增支持“删除撤回”的后端接口
  • BindQuery支持配置Strategy空值处理策略

🍻 优化:

  • 优化关联数据绑定缓存及资源占用相关代码
  • 优化绑定VO及getViewObjectList等接口仅select必需字段
  • 优化支持含转义关键字的列绑定
  • 优化BaseCrudRestController中的泛型定义
  • 优化starter中的配置参数支持输入提示
  • 优化单元测试,添加默认配置文件等
  • 升级依赖版本:spring boot 2.5.3, mybatis-plus 3.4.3.1...

🐛 修复:

  • Fix bug: 特殊场景下的绑定结果中map为null报错的问题

# diboot-file-starter

🎉 新增:

  • 新增@ExcelOption注解,支持导入导出字典字段为excel“下拉选项”形式

🍻 优化:

  • 优化starter中的配置参数支持输入提示
  • 预览时页面显示的总数由分页数量优化为导入的总数量
  • 升级依赖版本

# diboot-IAM-starter

🎉 新增:

  • 新增EncryptCredential加密处理,支持登录加密场景
  • 新增redis及无状态相关自动配置实现
  • 新增配置参数支持便捷开启无状态

🍻 优化:

  • 优化starter中的配置参数支持输入提示
  • 移除IamUserService中的*SortByOrg接口
  • 升级依赖版本

🐛 修复:

  • Fix bug: getParentOrgIds接口某种数据场景下报NPE的问题

# diboot-message-starter

🍻 优化:

  • 邮件通道支持发送附件
  • 优化starter中的配置参数支持输入提示
  • 升级依赖版本

# diboot-scheduler-starter

🍻 优化:

  • 优化starter中的配置参数支持输入提示
  • 清理过期代码,升级依赖版本

# 前端 diboot-antd-admin

🍻 优化:

  • 删除操作增加支持撤回
  • 优化角色权限选择UI,叶子节点平铺
  • 优化文件上传下载组件细节
  • 优化全局样式定义
  • 优化搜索框支持可清除
  • 搜索框支持回车搜索和列表选择后搜索
  • 优化退出清空token相关逻辑

# 前端 diboot-element-admin

🍻 优化:

  • 更换富文本编辑器为tinymce
  • 删除增加支持撤回操作
  • 优化角色权限选择UI,叶子节点平铺
  • 优化文件上传下载组件细节
  • 优化全局样式定义
  • 优化搜索框支持可清除
  • 搜索框支持回车搜索和列表选择后搜索

# diboot-devtools

🎉 新增:

  • 数据表管理支持表前缀/模块及Entity类名自定义;
  • 数据表管理新增索引管理功能;
  • 数据表管理支持删除表、重命名表;
  • CRUD列表与表单页面支持树结构的生成;
  • CRUD前端生成配置支持保存快照,恢复快照;
  • 前端列表、详情、时间轴、导出等,可选ID字段;
  • 前端列表表格可对满足条件的字段进行缩略展示相关配置和生成;
  • 支持线上订阅

🍻 优化:

  • 页面系列样式及交互优化;
  • 前端生成的代码格式优化;
  • 面板列表倒序排列;
  • 优化:生成后端代码后,应用不重启,在设计器中也能够读取到对应的关联字段;

🐛 修复:

  • fix:多个面板容器存在时,之前的面板预览样式丢失的问题;
  • fix:偶发的关联显示字段不显示或不能设置的问题;
  • fix:被关联表在ER图中,不显示字典关联的字典数据列表的问题;
  • fix:系列具有列表配置功能的前端组件在读取历史配置信息后不能正确回显的问题;

# diboot v2.2.1

# diboot-core & diboot-core-starter

🎉 新增:

  • @BindQuery注解新增strategy参数,支持空值处理策略(默认忽略空字符串)
  • 基于Spring的内存缓存实现(BaseCacheManager),并优化绑定缓存实现
  • SqlFileInitializer新增executeMultipleUpdateSqlsWithTransaction,支持事务的多SQL更新
  • BaseService新增IService的getMap(queryWrapper)等接口
  • @CollectThisApi注解,自动提取注解对应的rest接口
  • 工具类 S.splitToList,D.formatDurationLabel等

🍻 优化:

  • 关联数据绑定的实现中字段名列名的转换由规则转换改为精确转换
  • 支持BindField&BindDict组合使用
  • BeanUtils.convertValueToFieldType支持LocalDateTime转换

🐛修复:

  • 修复@BindQuery查询不支持自定义逻辑删除字段的问题
  • 升级依赖jar至最新(spring boot 2.4.5, mybatis-plus 3.4.2等)

# diboot-IAM starter

🎉 新增:

  • 权限纠错功能,支持上线前自动检查配置的错误接口
  • IamOrgService新增getParentOrgIds接口,支持获取部门的上级ids

🍻 优化:

  • @log日志记录支持POST等非url参数

# diboot-file starter

🎉 新增:

  • 静态方法excel文件流读取
  • FileStorageService.upload(inputStream, fileName)接口

🍻 优化:

  • 最小粒度重写替换excel上传本地存储

# diboot-scheduler starter

🎉 新增:

  • diboot.component.scheduler.enable参数,以支持开发环境暂停定时任务启动

🍻 优化:

  • BindJob替换为CollectThisJob

# diboot-message starter(新组件)

🎉 Starter启动自动安装依赖的数据表 🎉 支持自定义扩展消息发送,默认实现mail提供简单邮件发送 🎉 支持@TemplateVariable注解实现自定义模版变量和自动提取 🎉 启用devtools,自动生成初始样例controller代码到本地

# diboot devtools

🎉 新增:

  • 非订阅用户可见前端生成页面(不可提交)
  • 消息模块初始化代码生成

🍻 优化:

  • cloud环境下支持生成模块下的CommonController

# 前端项目 diboot-antd-admin

🎉 新增:

  • 消息模版功能
  • 消息发送记录功能
  • 权限纠错功能,上线前自动检查配置的错误接口
  • dashboard新增注意事项
  • tinymce富文本编辑器

🍻 优化:

  • 系列代码与依赖升级,与ant design pro3.0.1版本一致
  • 新建按钮权限配置,增加自定义权限code输入方式
  • 文件上传图片显示大小一致
  • 权限配置页面添加“按钮”的操作交互更直观

# 前端项目 diboot-element-admin

🎉 新增:

  • 消息模版功能
  • 消息发送记录功能
  • 权限纠错功能,上线前自动检查配置的错误接口
  • dashboard新增注意事项

🍻 优化:

  • 文件上传图片显示大小一致
  • 权限配置页面添加“按钮”的操作交互更直观

# diboot v2.2.0

# diboot-core v2.2.0 & diboot-core-starter v2.2.0

🎉新增:

  • BatchUpdateEntitiesDTO,用于批量更新操作
  • HttpHelper、AnnotationUtils工具类
  • JsonResult增加JsonResultFilter返回值过滤器接口,用于统一过滤返回给前端的字段

🔨增强:

  • 数据字典添加子项排序功能
  • Dictionary字典新增app_module字段,支持多模块复用场景
  • BindQuery兼容支持IService接口的查询
  • BindQuery比对条件增加ENDSWITH,支持“以?结尾”的LIKE查询
  • 扩展D日期工具类,增加中英文月份星期等方法

🍻优化:

  • 默认json转换改为jackson,及JSON工具类适配jackson优化
  • Cons类增加常用状态枚举:ENABLE_STATUS、RESULT_STATUS
  • core中剥离字典表依赖,字典绑定接口化,字典service实现类和mapper移至core-starter,以适配cloud及缓存等场景
  • BaseController中buildQueryWrapper接口拆分为buildQueryWrapperByDTO和buildQueryWrapperByParams,避免歧义
  • BaseEntity中的获取主键值的方法getPrimaryKey重命名为getPrimaryKeyVal
  • BeanUtils.convertToStringKeyObjectMap支持lambda参数
  • BaseService公开IService的query、update等取wrapper接口
  • SqlHandler改为SqlFileInitializer并从core-starter移至core

🐛修复:

  • where条件为空时,数据权限拦截报NPE的问题
  • 角色权限表单不设置权限时提交出错的问题
  • 升级依赖支持spring-boot 2.4.1,mybatis-plus 3.4.1
  • 移除fastjson依赖,commons-io依赖

# diboot-IAM starter v2.2.0

🎉新增:

  • 新增预置 组织机构、岗位、人员管理功能基础代码
  • 新增无状态的实现StatelessJwtAuthFilter,以兼容session及无状态两种方式

🔨增强:

  • IamOperationLog、IamResourcePermission新增app_module字段,支持多模块复用场景

🍻优化:

  • IAM基础表重命名: iam_frontend_permission 改成 iam_resource_permission,iam_role_permission 改成 iam_role_resource
  • DefaultJwtRealm依赖的service改为懒加载,避免循环依赖冲突
  • 去掉cacheManager配置项,改用直接重写@bean的方式配置缓存实现类
  • shiro初始化相关优化
  • 组件名 iam-base 改为iam,升级shiro starter至1.7.0
  • 移除自动升级逻辑、移除ShiroProxyConfig类

# diboot-file starter v2.2.0

🔨增强:

  • UploadFile新增app_module字段,支持多模块复用场景
  • 文件存储接口化,以支持灵活替换不同的文件存储形式

🍻优化:

  • 字典导入,当字典字段允许空时,excel未填写不报错。非字典字段导入的判空提示兼容@NotNull注解。
  • 上传文件大小配置参数兼容支持: spring.servlet.multipart.max-request-size
  • 升级easy-excel至2.2.7

# diboot-scheduler starter v2.2.0

🎉新增:

  • 新增定时任务组件starter,自动初始化
  • 封装Quartz定时任务统一管理及日志的更优实践
  • @BindJob注解提供定时任务定义,自动收集提取定时任务实例及参数,便于前端管理

# diboot-devtools starter v2.2.0

🎉新增:

  • 面板设计器支持"时间轴"组件生成
  • 面板设计器支持"通用表单"组件生成
  • 面板设计器支持 "Tabs 标签栏"生成,可自定义标签栏,也可与数据字段关联
  • 表单类型新增"二维码",支持二维码的显示和下载
  • 表单字段支持自定义按钮及其处理方法,如弹框选择数据
  • 支持对表单中的字段是否支持更新的配置生成
  • 在面板选择的时候,可进行面板的新建与编辑
  • 对定时任务组件的初始代码controller代码生成
  • 支持diboot-cloud微服务项目下的生成

🔨增强:

  • 详情页设计中添加多个从对象列表,可配置tab显示
  • 1-1,n-1关联字段属性名支持编辑
  • 生成的关联对象下拉框组件支持可搜索
  • 表单页 可配置 字段是否可修改,适配有些字段新增后不可改的场景

🍻优化:

  • 空样例值的字段更改为非空时,先填充默认值,再执行更新,避免报错无法更新
  • 不生成表单页时,同步提示确认是否取消“删除”
  • 1-1,n-1绑定的时候,更新代码的逻辑优化
  • 页面、面板配置区域可展开为更宽的宽度
  • 前端事件编排能力优化
  • 前端页面、面板设计器系列功能性改进、交互优化

🐛修复:

  • 前端upload组件,增加multiple的props属性。修复limitCount大于1,只能文件单个文件的问题
  • 自动添加的页面权限中,更改功能中缺少获取详情接口的问题
  • Boolean类型和日期类型的字段生成的代码,非空校验和回显的问题。
  • 解决有依赖open-feign环境下的冲突问题
  • 移除disabled是否启用参数,非开发环境下依赖devtools将报错提示。

# diboot-antd-admin v2.2.0 & diboot-element-admin v2.2.0 前端项目

🎉新增:

  • IAM相关: 组织机构管理、岗位管理、人员管理功能
  • 数据字典添加排序功能
  • scheduler: 定时任务管理

🍻优化:

  • 对于不可更改和不可删除的数据字典进行更改与删除的限制
  • 菜单权限页面改名为资源权限页面,对应的表由iam_frontend_permission改为iam_resource_permission
  • 数据字典列表不显示其子项的系列操作按钮
  • 数据字典列表中显示出子项的编码值

🐛修复:

  • 角色权限表单中不设置权限时,表单不能提交的问题

# diboot v2.1.2

# diboot-core v2.1.2 && diboot-core-starter v2.1.2

  • 🔨增强 @Bind*关联数据绑定注解,condition支持两个字段的关联,如"this.user_type=type AND this.user_id=id"
  • 🔨增强 @Bind关联数据绑定支持嵌套绑定(设置deepBind=true),如被绑定对象为VO(仍然有@Bind关联数据绑定注解),则再执行VO对象中的关联数据绑定
  • 🔨增强 @BindEntityList注解新增orderBy属性,配置被绑定实体集合的排序
  • 🍻优化: jdbc url读取支持自定义url参数,以支持shardingsphere等个性化配置
  • 🍻优化: buildTree支持自定义parentId属性名、children属性名
  • 🍻优化:JsonResult增加泛型参数,以适配微服务等场景
  • 🍻优化:diboot-core去掉starter依赖,改为依赖spring-framework,以避免微服务等场景的依赖冲突
  • 🍻优化: BaseService添加mybatis-plus的query(),lambdaQuery(),update(),lambdaUpdate()构建接口
  • 🍻优化: 增加DataAccessControlInteceptor重构数据权限拦截实现
  • 🍻优化: Dictionary字典增加tenantId字段冗余,以支持多租户场景
  • 🍻优化: is_deleted逻辑删除字段添加select = false,从select中剔除
  • 🍻starter 新增升级逻辑
  • 🍻升级依赖组件: Spring framework 5.2.9,Spring Boot 2.3.4,Mybatis-Plus 3.4.0,fastjson 1.2.74
  • 🍻该版本相关文档优化
  • 🐛修复: @Bind*关联数据绑定注解condition条件中的LIKE条件解析错误问题
  • 🐛修复: @BindQuery中Comparison.IN对于List类型字段查询未生效的问题
  • 🐛修复: DictionaryVO中的关联注解错误

# IAM-base-starter v2.1.2

  • 🎉新增:@Log注解+操作日志功能后端实现
  • 🍻重命名CacheManager实例名为shiroCacheManager,避免跟其他CacheManager冲突
  • 🍻实体增加tenantId字段冗余,以支持多租户场景
  • 🍻starter 新增升级逻辑
  • 🐛修复: url mapping注解为空时,提取注解权限报NPE的问题
  • 升级依赖组件: okhttp 4.9.0

# diboot-file-starter v2.1.2

  • 🍻实体增加tenantId字段冗余,以支持多租户场景
  • 🍻starter 新增升级逻辑
  • 升级依赖组件: okhttp 4.9.0

# diboot-devtools-starter v2.1.2

  • 🎉新增:用于组件集成的前端设计与生成功能(devtools企业版)
  • 🎉新增:组件编排功能(devtools企业版)
  • 🎉新增:组件布局功能(devtools企业版)
  • 🎉新增:列表页支持列表的多选与批量删除功能的生成
  • 🍻优化:增大BigDecimal的默认长度
  • 🍻优化:生成前端代码的格式系列优化
  • 🍻优化:支持IDEA社区版下运行(移除scope:provided即可)
  • 🍻优化:对前端页面生成功能的系列优化
  • 🐛修复: devtools一张表中有2个字段关联同一张表(或同表的同一字段)时,生成的对象属性名/asName属性名重复
  • 🐛修复: devtools图片上传改了context-path后,生成的url路径还是/api
  • 🐛修复: 系统自动生成的put权限没有/{id}的问题
  • 🐛修复: 重新生成子路由页面后,父路由的菜单图标丢失的问题
  • 🐛修复: 生成具有图片的element多栏详情页时,图片超出当前列的边界的问题

# diboot v2.1.1

# diboot-core v2.1.1

  • 🔨增强@BindQuery注解,支持跨表字段的动态Join查询

  • 🎉新增@BindFieldList注解,用于绑定某个字段的集合

  • 🎉新增@DataAccessCheckpoint注解,以支持数据权限相关处理

  • 🎉新增@Accept(name)注解,支持非同名字段间的值拷贝

  • 🎉新增:V.equals()对Map类型的比较

  • 🍻优化BindQuery注解,支持BETWEEN绑定List类型对象

  • 🍻优化: 统一注入request到BaseController中,移除方法中的request参数

  • 🍻优化:BaseCrudRestController,类定义中移除VO泛型参数,改为调用时指定VO类,以适配多个VO

  • 🍻优化:批量大小BatchSize支持可配置

  • 🍻优化: @Bind注解的中间表查询解析支持首选调用对应Mapper执行,无Mapper再用JDBC

  • 🍻优化:动态关联的逻辑删除字段的处理

  • 🍻优化:主键不为Long时,查询列表默认是用createTime倒序排序

  • 🍻BaseServiceImpl增加beforeCreateEntity,用以Insert前字段值的填充

  • 🍻BaseExtEntity添加Deprecated注解,不再推荐继承

  • 🍻fastjson默认配置增加条件初始化,首选以用户自定义配置为准

  • 🍻fastjson默认配置移除日期格式的全局配置,以字段指定为准

  • 🐛修复: ContextHelper缓存支持刷新,以解决启用热更新时报错的问题

  • 升级依赖组件: Spring Boot 2.3.1,Mybatis-Plus 3.3.2,fastjson 1.2.72

  • 文档优化完善

# diboot-devtools v2.1.1

  • 🎉新增:前端界面设计器,可以根据自己需求定制化地配置前端页面功能项
  • 🎉新增:前端代码生成功能,根据设计器配置结果,可生成带关联的CRUD、导入导出等完整功能
  • 🎉新增:前端代码生成后对前端项目的路由进行自动配置
  • 🎉新增:前端代码生成后对前端项目菜单、按钮权限的自动配置
  • 🎉新增:组件初始化页面,由之前版本的随项目启动自动生成基础代码改为手动点击按钮生成
  • 🎉新增:diboot.devtools.output-path配置项,以简化devtools对于生成后端代码路径的配置
  • 🎉新增:在设置关联字段后,可以设置在当前表中绑定关联的实体
  • 🎉新增:多种与前端相结合的表单类型
  • 🍻优化:优化后端代码生成,支持DTO,ListVO,DetailVO相关生成及绑定
  • 🍻优化:n-n关联的中间表后端代码生成,默认中间表不再生成VO, DTO, Controller相关代码
  • 🍻优化:字段关联配置以点击弹出配置面板呈现
  • 🍻优化:数据结构管理页面,左侧表列表栏可折叠
  • 🍻优化:支持在中文路径、带有空格路径下的项目中启动
  • 🍻优化:提升devtool启动速度

# IAM-base v2.1.1

  • 🎉新增:BaseLoginUser用以可登录的用户类继承,并支持附加扩展对象
  • 🎉新增:配置参数 diboot.iam.enable-permission-check,结合anno-urls=/**配置,可忽略权限检查,便于开发环境调试
  • 🍻更新:shiro版本至最新,优化shiro相关自动配置
  • 🍻去除extdata相关继承,移除BeanUtils

# diboot-file v2.1.1

  • 🎉新增@ExcelBindField注解,用于excel导入导出自动转化name-id
  • 🎉新增@ExcelBindDict注解,用于excel导入导出自动转化字典name-value
  • 🎉新增文件上传策略,适配前端项目diboot-**-admin
  • 🍻升级依赖组件版本至当前最新:easyexcel、okhttp

# 两套前端项目

# diboot v2.0.5

# diboot-core 基础内核 v2.0.5:

  • 🐛修复: 中间表关联时,如果附加目标表字段的扩展条件,条件未生效的bug,如: this.id=user_role.user_id AND user_role.role_id=id AND code='ADMIN'

  • 🐛修复: PostgreSQL数据库下,对于注解绑定关联的扩展条件,可能存在的数据类型不匹配的问题

  • 🐛修复: SQLServer批量插入未返回entity ID且报错的问题

  • 🐛修复: Oracle大写问题导致某些情况下无法绑定有附加条件的注解

  • ✨n-n关联的中间表查询中支持动态按需添加中间表的is_deleted=0逻辑删除条件

  • ✨jdbc url参数支持从多数据源配置中的主数据源参数中读取

  • BindAnnotationGroupCache更名为ParserCache,并增加其他解析过程中的缓存

  • BusinessException增加单String参数,指定错误信息

  • 🎉JsonResult增加Status状态码对应的静态初始化方法,更便于书写,如:JsonResult.OK(data)

  • 🎉BaseService增加用于批量增删改1对多关联数据的系列接口: create/update/deleteEntityAndRelatedEntities

  • 🎉BaseService增加检测唯一性的接口exists(IGetter<T> getterFn, Object value)

  • 🎉V增加validateBean方法,用于手动校验基于validator注解的bean校验

  • 🎉RelationsBinder增加单个entity/vo参数的绑定接口

  • 🎉SqlExecutor中增加validateQuery方法,用于starter执行验证性SQL

  • 🎉BaseCrudController中增加afterDeleted()方法,用于删除后的扩展处理

# diboot-devtools 开发助理 v2.0.5:

  • 🔨生成本地Controller的Base类改为默认BaseCustomCrudController,不再继承父类url mapping,支持通过配置启用父类url继承

  • 🔨生成entity的字段时自动检测父类BaseCustomEntity的属性,父类中存在的,不再重复生成定义

  • 🔨非空字段的样例数据不再强制填写,未填写时可直接提交,由devtools自动生成

  • 🔨关联字段的可选字段限定与当前column同类型字段(默认选中id/uuid),as字段显示String类型字段,使选择更方便

  • 🎨BaseExtCustomEntity被删除后不再重新生成,以支持不需要extdata的场景

  • 🎨Date日期类型,字段加上注解 @JSONField(format = ""),以兼容fastjson全局配置覆盖format的问题)

  • 🎉字段定义数据类型增加BigDecimal类型

  • 🎉基于diboot-iam组件,初始生成iam相关的controller至本地

  • 🎉基于diboot-file组件,初始生成UploadFileController至本地

  • 💄配置页面UI样式优化

# diboot-iam-base 身份认证基础组件 v2.0.5:

  • 🎉RBAC角色权限模型 + JWT的认证授权 实现,支持刷新token

  • 🎉简化的BindPermission注解,支持兼容shiro的简化权限绑定与自动鉴权

  • 🎉自动提取需要鉴权的后端接口, 借助前端系统权限设置页面,智能、快速地配置前后端菜单、按钮与权限关联

  • 🎉支持灵活的扩展能力(扩展多种登录方式、灵活替换用户实体类、自定义缓存等)

  • 🎉Starter启动自动安装依赖的数据表

  • 🎉加密方式更改为MD5+盐

  • 🎉登录页增加验证码支持

  • 🎉权限支持修改后立即生效

  • 🎉启用devtools,自动生成IAM相关基础代码到本地

# diboot-file 文件处理组件 v2.0.5:

  • ✨基于EasyExcel轻量封装

  • 🎉封装常用的文件本地存储、上传下载、图片压缩水印等常用处理

  • 🎉Starter启动自动安装依赖的数据表

  • 🎉支持Java标准注解的校验

  • 🎉支持@BindDict注解实现字典name-value转换

  • 🎉提供完善的校验错误提示

  • 🎉启用devtools,自动生成初始样例controller代码到本地

# 两套前端项目

# diboot v2.0.4

# diboot-core 基础内核 v2.0.4

  • PagingJsonResult增加IPage参数构造方法,支持Ipage转换为PagingJsonResult();
  • BaseCrudRestController增加afterDeleted(),用于删除后的处理
  • BaseService,BaseCrudRestController增加批量删除多个id的接口
  • BaseService增加判断是否存在的exists接口
  • DictionaryService.getKeyValueList()查询结果按sort_id排序
  • DictionaryService增加接口,支持同时添加/删除父子节点
  • 默认加入lombok注解支持常用bean的链式调用
  • BeanUtils增加distinctByKey(list, key)方法,支持对List按指定字段去重
  • /list查询,url中的空字符串参数不再参与构建QueryWrapper
  • BaseConfig增加取不到返回指定默认值的方法
  • EntityList更名为ValidList并简化使用调用,用于校验List
  • 构建工具由gradle切换到maven
  • 优化完善example示例代码
  • Fix bug: 通过Spring获取service实例如果是代理的情况下,解析不到泛型Entity的问题
  • Fix bug: 修复关联数据被物理删除后,关联数据绑定报错的问题

# diboot-devtools 开发助理 v2.0.4

  • 生成的Entity、VO中增加 @Accessors(chain = true) Lombok注解,默认支持链式调用
  • Swagger @API注解优化:value改为tags: @API(tags="") ?
  • 优化devtools启动成功的打印信息便于找到
  • 初始化自动生成身份认证组件IAM-base所需的controller代码
  • 依赖了diboot-iam-base组件,则生成Controller中添加BindPermission注解
  • Fix bug: PostgreSQL配置未指定schema时,提取schema错误的问题
  • Fix bug: deleted, createTime字段不存在时生成的带注解属性的类型错误的问题

# diboot-iam-base v2.0.4-RC2

  • 开箱即用的RBAC角色权限模型
  • 基于JWT的认证授权,支持申请token、刷新token
  • 简化的BindPermission注解,支持菜单+操作两级权限控制
  • 支持BindPermission注解自动收集并更新至数据表
  • 预置用户名密码登录(密码带盐加密), 并支持多种登录方式扩展
  • 预置默认用户实体,并支持灵活替换用户类型
  • 默认启用内存缓存,并支持自定义缓存实现类

# diboot v2.0.3

# Diboot-core 基础内核:

  • BindEntity、BindEntityList注解支持非Entity类型的对象属性绑定。示例: @BindEntity(…) XxVo xxVo; @BindEntityList(…) List xxVoList;
  • BindQuery基于request参数去绑定请求属性,Entity中含默认值的自带属性(除is_deleted外)不再参与转换QueryWrapper。
  • PropertiesUtils改为使用environment获取配置参数,以兼容yml配置。
  • 数据校验BindingResult转由DefaultExceptionHandler中统一处理,移除Controller中的BindingResult参数
  • 优化pagination分页默认的排序字段为id(与create_time等效,查询效率更高),不存在id字段的查询清除默认排序
  • JsonResult参数优化,去掉变参参数
  • diboot-component-*组件包装成starter并移至diboot-v2-starter项目下
  • 默认依赖SpringBoot版本升级为2.2.1.RELEASE
  • Fix bug: 修复pagination分页有升降序混合时的排序字段顺序错误的问题

# Diboot-devtools 开发助理:

  • devtools初始化时自动生成各层Base父类、DictionaryController类、ExceptionHandler类等便于扩展的初始代码。
  • 表关联设置新增/更新时,devtools自动创建/更新索引,并记录索引SQL
  • 表关联配置与代码生成的操作逻辑优化,支持配置生成绑定全类型注解(@BindField @BindEntity @BindEntityList)
  • 关联字段改名时,自动同步修改生成的VO中的注解绑定的属性名&字段名
  • 字段名填写完后自动检查是否为数据库关键字&保留字,如是则提示
  • 支持配置是否生成Mapper XML文件,默认true生成
  • 增加新建表数据库表表名大小写混用的情况的校验提示
  • parent_id的表自身关联生成的显示名属性命名优化为 parent前缀,如parentName,便于理解
  • Fix bug: 用yml配置文件生成表关联时出现读不到application.properties文件异常
  • Fix bug: jdbc url中参数值出现/时提取数据库名错误的问题

# diboot v2.0.3-RC2

# diboot-core 内核:

  • 优化BaseCrudRestController,引入Entity,VO泛型,用于简化子类代码。
  • 优化帮助文档(增加介绍视频等)
  • 优化starter中的初始化SQL相关实现代码

# diboot-devtools开发助理:

  • 默认生成BaseCrudMappingRestController,绑定RequestMapping及Swagger,简化子类代码。
  • 增加diboot.devtools.base-controller-class-name配置项,以支持自定义BaseController类,生成的Controller代码将继承自该类
  • 增加对无is_deleted、create_time字段的数据表的生成注解支持
  • 在新增中间表关联后,devtools生成的中间表可以马上显示在列表中
  • 优化完善生成的Swagger注解
  • devtools接口url增加版本号,用于支持多版本
  • Fix bug:
    • contextPath为/的情况下devtools报错
    • 解决新增和更新数据字典子项存在的bug问题
    • 解决多个字段选择相同的数据字典,生成或更新代码后,vo代码中存在重复属性的问题

# diboot-component-*:

  • 将diboot-component-* 组件包装为对应的starter

# diboot v2.0.3-RC1

# diboot-core:

  • 数据字典初始化SQL脚本转移至core-starter,由core-starter自动安装
  • 依赖组件版本升级(Spring boot 2.1.8,Mybatis-plus 3.2.0,Fastjson 1.2.60)
  • 关联数据绑定支持ORACLE大写字段名
  • S.toLowerCaseCamel(),S.toSnakeCase()优化,兼容Oracle列名与字段名转换
  • 数据字典字典重命名为: description,is_deletable,is_editable 以避免Oracle关键字冲突
  • 增加添加层级数据字典的接口
  • 绑定时的cloneEntity方法移至BeanUtils,便于他处调用
  • V.isNumber更改为判断所有数字类型(含整数,浮点数,负数)
  • 移除BeanUtils中不生效的Lambda缓存
  • Fix bug: 绑定注解的condition中有等于字符串附加条件时执行异常的问题

# diboot-devtools开发助理:

  • starter自动安装初始化
  • 支持MySQL,MariaDB,ORACLE,SQLServer, PostgreSQL数据库
  • UI操作数据结构与关联关系维护
  • 数据结构联动代码,支持代码生成与同步更新本地代码
  • 支持关联关系图
  • 支持添加数据字典
  • 支持Lombok等参数配置开关

# diboot-shiro, diboot-component-*

  • shiro权限基础组件优化
  • 增加文件组件,消息组件

# diboot v2.0.2

# diboot-core v2.0.2

  • 增加了BindEntity注解,用于支持Entity/DTO 自动转换为QueryWrapper对象:
    • Entity或者DTO中非等于的比较,添加注解如@BindQuery(comparison = Comparison.LIKE) 进行声明;
    • Controller里调用super.buildQueryWrapper(entityOrDto) 或者直接调用 QueryBuilder.toQueryWrapper(entityOrDto) 即可进行转换。
  • 优化Pagination对象属性定义,支持在Controller中自动绑定参数值
  • 移除了diboot-core中非必须的依赖
  • 修复BeanUtils.buildTree()中抓取属性值id的问题

# diboot v2.0.1

# diboot-core v2.0.1

New features:

  • @BindDict注解 自动绑定数据字典(枚举值)的显示值Label
  • @BindField注解 自动绑定其他表的字段
  • @BindEntity注解 自动绑定关联表Entity
  • @BindEntityList注解 自动绑定关联表Entity集合
  • 通用Controller简单包装(BaseController, BaseCrudRestController)
  • 通用Service简单包装 (BaseService)
  • 提供分页的简单包装 Pagination
  • 关联数据绑定支持MybatisPlus的IService的所有实现类相关Entity的绑定,不再强制要求继承diboot的BaseService
  • 绑定调用类优化并更名为RelationsBinder
  • Entity/EntityList对象绑定时使用克隆,避免Entity对象引用导致非预期的修改结果
  • RequestTimeFilter请求响应时间过滤器,记录耗时操作
  • BeanUtils、S、D、V、Encryptor等常用的工具类
  • 增加默认的异常处理类DefaultExceptionHandler
  • 升级依赖SpringBoot至2.1.6,Mybatis-plus至3.1.2