Appearance
【v2026-04】
新增代码生成器 Excel 导入,增强 IoT 场景联动与数据流转
📈 Statistic
- 总代码行数:391327
- 源码代码行数:244342
- 注释行数:88591
- 单元测试用例数:1884
⭐ New Features
SYSTEM 系统管理专区:
【优化】用户选择 UserSelectV2 布局,多选支持、默认选中当前用户支持、禁选支持、默认部门支持,由 @半栈幼儿员 贡献 #877 INFRA 基础设施专区:
【优化】上传文件路径新增
PATH_SUFFIX_AS_DIRECTORY开关,支持后缀(时间戳 + 随机数)作为上级目录或拼接到文件名两种形态,由 @半栈幼儿员 贡献 #1514【优化】代码生成器
CodegenBuilder注释中英文引号转中文引号的实现,并补充单测,由 @芋道源码 贡献 3078fe3【优化】
HttpUtils.replaceUrlQuery改用 hutoolUrlQuery#remove替换反射实现,并补充单测,由 @lliyueling 贡献 #248【新增】区域数据
area.csv补全最新地名,并补充AreaUtils单测,由 @chenchenche 贡献 #247【新增】代码生成器支持 Excel 导入功能,覆盖后端及 Vue2 / Vue3 / Vben2 / Vben5 全部前端模板,由 @itkdm 贡献 #1082 、#1083
【优化】代码生成器 Excel 导入:新增
yudao.codegen.import-enable全局开关(默认关闭);Vue3 / Vben5 Schema 抽出独立ImportForm组件对齐user模块;补齐 Vben5 antd / ele × general / schema 共 4 套 frontType 单元测试与importEnable=true断言覆盖,由 @芋道源码 贡献 40d2882 IoT 物联网专区:【新增】IoT 数据流转新增 MQTT 与 Database 两种 Action 实现,由 @puhui999 贡献 d668af1
【新增】Vue3 管理后台 IoT 数据流转 Database 数据目的的配置表单,含建表 SQL 提示与一键复制,由 @puhui999 贡献 #867 BPM 工作流专区:
【新增】BPM 条件节点支持「包含」「不包含」操作符,由 @LesanOuO 贡献 #1519 、#864 AI 大模型专区:
【新增】AI 知识库段落补齐删除接口
DELETE /ai/knowledge/segment/delete,对齐前端调用,由 @芋道源码 贡献 ea3ad5c【新增】AI 通义千问支持多模态模型(qwen-vl / qvq / qwen-omni / qwen3.5 与 3.6 系列),并兼容从
metadata解析reasoningContent,由 @芋道源码 贡献 814a963 ,对应 https://t.zsxq.com/g5V0j 、https://t.zsxq.com/geWKz 、https://t.zsxq.com/7g2du
🐞 Bug Fixes
【修复】租户
get-by-website接口的website参数正则不支持端口,导致localhost:81、127.0.0.1:81等带端口的访问场景下登录页无法识别租户,由 @芋道源码 贡献 9307f56【修复】Vue3 管理后台响应拦截器对
code = 0成功码的判断逻辑,避免||将0覆盖为默认成功码,由 @zhulh 贡献 #871【修复】Vue3 管理后台请求拦截器
isToken语义反转、白名单未生效的问题,由 @funcong 贡献 #866【修复】Vue2 管理后台
utils/index.js的debounce工具函数 later 触发时拿不到调用参数(内层形参...args遮蔽外层闭包),由 @芋道源码 贡献 5a0d8a9 ,对应 https://gitee.com/yudaocode/yudao-ui-admin-vue2/issues/IDKUIB【修复】Vue3 管理后台 form-create 单图上传规则
disabled字段标题与默认值错配,由 @芋道源码 贡献 e98d575【修复】Vue3 管理后台 TagsView 关闭非当前标签后 keep-alive 缓存未跟随收缩,DOM 节点与 JS heap 持续累积,由 @芋道源码 贡献 a704620 ,对应 https://t.zsxq.com/O7adc
【修复】
convertor.py在 MySQL 转 PG 等数据库时,报表 / 工作流模块的列注释中文乱码、json / date / longblob 等类型映射缺失、INSERT 转义未对齐等多处遗漏,由 @lk67 贡献 #1528【修复】Spring Boot Admin 监控页面无法在 iframe 中正常显示,新增
spring.boot.admin.frame-ancestors配置允许嵌入域名,由 @haoyangyang 贡献 #1515【修复】微信小程序订单发货信息上传:修正失效的重试机制并改为指数退避(1s / 2s / 4s 共 3 次),由 @芋道源码 贡献 987d49c
【修复】用户无部门时数据权限
DEPT_AND_CHILD/DEPT_CUSTOM的 null 处理遗漏,并补单测,由 @芋道源码 贡献 3df4f8d Vben5.0 管理后台专区:【修复】CRM 客户/联系人/线索新增表单的「地址」树形下拉无内容,以及商机状态「应用部门」、产品「产品类型」、ERP 销售出库的客户/销售人员/结算账户/产品/创建人下拉同样无内容,由 @芋道源码 贡献 42fffd2 ,对应 https://t.zsxq.com/EdaN8
【修复】CRM「合同配置」「客户公海规则配置」表单 label 错用
labelClass: 'w-100',挤掉 RadioGroup 输入区,改用labelWidth: 120,由 @芋道源码 贡献 627e31f ,对应 https://t.zsxq.com/MdJTA【修复】MALL 商品管理列表与商品选择器的「价格」列直接展示后端原始的「分」(如
19900.00应为199.00 元),由 @芋道源码 贡献 8020b4b ,对应 https://gitee.com/zhijiantianya/yudao-cloud/issues/IJJYPP【修复】MALL 商品保存时 SKU 销售价/市场价/成本价/一二级佣金被反复 *100 漂移,由 @芋道源码 贡献 b293e11 ,对应 https://t.zsxq.com/DNBTJ
IoT 物模型新增/编辑弹窗,事件类型选了「告警」「故障」仍提示「请选择事件类型,由 @芋道源码 贡献 228c546 ,对应 https://t.zsxq.com/bbGIe
【修复】导出 Excel / 下载模板等 download 接口在 access token 过期时不触发刷新,下载到的文件是「账号未登录」JSON;web-antd / web-ele / web-naive / web-tdesign 四个壳子统一加 Blob 业务错误嗅探拦截器,由 @芋道源码 贡献 897220e ,对应
【修复】form-create 多图上传选 png/jpeg/gif 等被错误拦截,
isImage兼容 MIME /.ext/ 纯后缀三种 accept 写法,由 @芋道源码 贡献 e385823 ,对应 https://t.zsxq.com/3BEPT【修复】BPM 流程实例审批弹窗:网关分支重算的并发与提交问题(同步自 Vue3 管理后台),由 @芋道源码 贡献 c641542
【修复】BPM 流程设计器审批节点自定义配置编辑后丢失(web-antd / web-ele),由 @lb1565387341 贡献 #259 IoT 物联网专区:
【修复】设备属性上报时,物模型 identifier 与设备上报 key 大小写不一致导致属性丢失;以及 BOOL 类型上报字符串
"true"/"false"时Convert.toByte抛NumberFormatException落库失败,由 @芋道源码 贡献 3146f64【修复】IoT 网关调用 biz 的「设备注册 / 子设备注册」RPC URL 缺少
/rpc-api/iot/device前缀,命中 Security 过滤器返回「账号未登录」,导致设备动态注册(一型一密)失败,由 @芋道源码 贡献 95b1345【修复】IoT 场景联动设备事件触发器配置「比较值」后永远不触发,并新增结构体/数组事件值的 JSON 整体相等比较,由 @芋道源码 贡献 87c8d7e 、d5a9e2e ,对应 https://t.zsxq.com/cBKXK
【修复】IoT 数据流转规则在属性上报场景下,多条规则命中同一数据目的会重复推送(原先按 ruleId 去重并未在 sink 维度去重),由 @芋道源码 贡献 eda6ffa ,对应 https://t.zsxq.com/EdaN8
【修复】IoT 设备消息日志:
device_message表params/data列宽NCHAR(2048)→VARCHAR(8192)对齐 MQTT 8KB 上限;@Async写入加 try/catch 避免静默失败,由 @芋道源码 贡献 47c093a【修复】IoT 设备消息/设备属性写入 TDengine 时由 SQL
NOW改为应用端显式传入毫秒时间戳ts,避免NOW不被驱动识别或批量写入主键时间冲突导致落库失败,由 @haohaoMT 贡献 9ee57dc 、5b3e1a8 Admin Uniapp 管理后台专区:【修复】用户详情页「状态」字段错绑成
formData?.sex,由 @芋道源码 贡献 93be4cf ,对应 https://gitee.com/yudaocode/yudao-ui-admin-uniapp/issues/IJ2F7Z【修复】iOS 打包后页面底部出现白色留白,
manifest.config.ts加app-plus.safearea.bottom.offset = 'none',由 @芋道源码 贡献 466785f ,对应 https://gitee.com/yudaocode/yudao-ui-admin-uniapp/issues/IEZGWJ MALL 商城专区:【修复】H5 公众号微信 JSSDK 签名 URL 错用
location.origin导致wx.config invalid signature,改用location.href.split('#')[0],由 @芋道源码 贡献 b6b0ca3 ,对应 https://t.zsxq.com/WwYCf【修复】商城运费模板包邮判断方向反向,件数 / 金额统一为
>=,同步 DO / BO 注释,由 @芋道源码 贡献 ef807be【修复】商城砍价活动促销明细 promotion id 错用
seckillActivityId,改为bargainActivity.getActivityId(),由 @芋道源码 贡献 ef807be【修复】商城
TradePriceCalculatorHelper.buildCalculateResp对spu.getGiveIntegral()兜底 0,避免recountAllGivePoint拆箱 NPE,由 @芋道源码 贡献 ef807be【优化】恢复并补齐商城价格 calculator 单测(Delivery / Coupon / Discount / PointUse / Reward / PriceService),新增 BargainActivity 单测,共 30 用例,由 @芋道源码 贡献 ef807be MES 制造执行专区:
【修复】MES 「常见缺陷」的「检测项类型」错用了独立的
mes_defect_type字典,与「检测项设置」语义一致却需要分别维护字典,改为复用mes_indicator_type字典,由 @芋道源码 贡献 96918b4 BPM 工作流专区:【修复】BPM 流程实例抄送:被抄送人字段(
userId)误绑成CreateUser(创建人),由 @huang-suo-chao 贡献 #1531【修复】OA 请假示例实体
BpmOALeaveDO.type字段从String改为Integer,对齐 VO 与 MySQLtinyint,避免 PostgreSQL 不自动转换类型导致报错,由 @hushaoge 贡献 #1110【修复】Vue3 管理后台 BPM 流程实例审批弹窗:网关分支预览与最终提交变量不一致,由 @郭某人 贡献 #875 ,对应 https://t.zsxq.com/favGP
【优化】Vue3 管理后台 BPM 流程实例审批弹窗:onChange 加 300ms 防抖与请求序号去重,提交前 await 最新一轮重算,避免并发请求乱序与提交竞态;改用 form-create 官方
formData()与until等待 fApi 就绪,由 @芋道源码 贡献 9df6828
🔨 Dependency Upgrades
所有分支:
【升级】redisson from 3.52.0 to 4.3.1
【升级】weixin-java from 4.7.9 to 4.8.2
【升级】druid from 1.2.27 to 1.2.28
【升级】mybatis-plus from 3.5.15 to 3.5.16
【升级】mybatis-plus-join from 1.5.5 to 1.5.7
【升级】netty from 4.2.9.Final to 4.2.12.Final
【升级】lombok from 1.18.42 to 1.18.46
【升级】hutool from 5.8.42 to 5.8.44
【升级】guava from 33.5.0-jre to 33.6.0-jre
【升级】jsoup from 1.21.2 to 1.22.2
【升级】jsch from 2.27.7 to 2.28.2
【升级】commons-net from 3.12.0 to 3.13.0
【升级】vertx from 4.5.22 to 4.5.26
【升级】californium from 3.12.0 to 3.14.0
【升级】j2mod from 3.2.1 to 3.3.0
【升级】taos from 3.7.9 to 3.8.3
【升级】awssdk from 2.40.15 to 2.44.0
【升级】alipay-sdk-java from 4.40.607.ALL to 4.40.771.ALL
【升级】opengauss-jdbc from 5.1.0 to 7.0.0-RC3-og
【升级】kingbase8 from 8.6.0 to 9.0.1.jre7
【升级】jimubi from 2.3.0 to 2.3.2 master-jdk17 分支:
【升级】spring-boot from 3.5.9 to 3.5.14
【升级】spring-doc from 2.8.14 to 2.8.17
【升级】tika-core from 3.2.3 to 3.3.0
【升级】skywalking from 9.5.0 to 9.6.0
【升级】spring-boot-admin from 3.5.6 to 3.5.8
【升级】jimureport from 2.1.3 to 2.3.2(artifactId 从 jimureport-spring-boot3-starter-fastjson2 改为 jimureport-spring-boot3-starter) cloud-jdk17 分支:
【升级】spring-cloud from 2025.0.0 to 2025.0.1
【升级】spring-cloud-alibaba from 2023.0.3.3 to 2025.0.0.0
【移除】nacos-discovery 的 logback-adapter 排除(新版不再依赖)
【新增】yudao-spring-boot-starter-rpc 引入 httpclient 4.5.14(Spring Cloud Alibaba 2025.0.0.0 不再传递 HttpClient 4.x,WxJava 4.8.x 仍需要) JDK8 分支专属:
【新增】httpclient5 5.5.2 + httpcore5 5.3.6 版本覆盖(WxJava 4.8.x 需要 HttpClient5 5.4+,Spring Boot 2.7 默认 5.1.x 不兼容)
