-
修复 Vben5 字典控件、日期及树选择属性、导入文件移除和 API 导入路径。 修复主子表数据获取、临时编号、必填校验和主表切换后的旧数据残留。 补齐工具方法与组件导入,修正 Ele 工具栏标签及 Vue3 单选多选绑定。 同步 Vue2 组件标签与 prop 声明、旧 Vben 日期范围格式。 更新生成快照,增加跨前端组件契约测试。 验证:85 条 CodegenEngine 测试、138 份 Vue 模板编译通过; Codex、Qwen、DeepSeek 三路评审通过。
-
[BUG] 钱包并发消费:同钱包两笔并发扣款后流水余额链不连贯
-
fix(mes): 编码规则固定字符(编码前缀)跨规则重复时保存拒绝,避免不同规则生成无法区分的编码
-
[BUG] MES 库存调拨:新建调拨单选了转移日期、保存提示成功,但日期存成 1970-01-01、列表显示空白
-
[BUG] 促销:新用户完成注册并正常登录,但一张新人券都领不到(—— 任意一张新人券过期,整批发放中断)
-
- 移植 PR #1261 的修复,适配 jakarta.validation - 补充名称格式校验的单元测试,4 个测试通过 原 PR 作者:huanghaiwei123 关联 Issue:#1252
-
fix(test): 修正 Redis 配置层级并适配 Spring Boot 版本
-
reduceWalletBalance 与 addWalletBalance 在 Redis 锁外预读钱包 balance, 锁内用锁外预读值计算流水 afterBalance。并发消费时各线程锁外都读到同一 初始余额,各自记录 balance=初始±扣减,流水 balance 列不连贯 (如 220 余额并发两笔各 110,两笔流水 balance 均=110,应 110/0)。 修复:CAS 原子更新后重读钱包(事务内读自身更新,REPEATABLE READ 下 CAS 前重读仍读快照旧值,须 CAS 后重读),afterBalance 直接用最新余额, 无需按 bizType 条件加减。
-
- 新增校验:分段保存时,本规则全部固定字符分段(按分段排序、截取到分段长度)拼接的前缀指纹 与租户内其他未删除规则相同(含均无固定字符分段)即拒绝 - 新增错误码 AUTO_CODE_PART_FIXED_CHAR_DUPLICATE(1-040-110-006) - 生成编码时的全局查重保持不变,兜底存量配置冲突
-
关联:https://t.zsxq.com/WRIEJ
-
全局 TimestampLocalDateTimeDeserializer 原先只认 epoch 毫秒,对非数字字符串 (如 '2026-09-11 00:00:00')经 p.getValueAsLong() 静默返回 0 → 1970-01-01, 请求不报错、数据被静默损坏。 实测用户入口:管理端新建 MES 库存调拨单,转移日期控件发字符串(value-format= 'YYYY-MM-DD 00:00:00')→ 保存提示成功 → DB 存 1970-01-01、列表日期列空白。 同类:HRM 考勤打卡(LocalDateTime,前端发 Date 对象)等。 修复:反序列化器兼容 1. epoch 毫秒(JSON 数字/数字字符串,原契约零回归) 2. yyyy-MM-dd HH
ss(含毫秒)
3. ISO-8601(本地/带时区,覆盖前端 Date 对象序列化)
4. 纯日期 yyyy-MM-dd(当日零点)
无法解析时抛清晰错误(含原始值),不再静默落 1970。
单测 11 例覆盖全部在用格式+非法输入。全量回归(360 例)零日期回归。 -
关联:https://t.zsxq.com/hhClm
-
补齐订单、售后、佣金、会员、钱包、访问量和商品统计的 tenant_id 条件 覆盖关联子查询和 JOIN 两侧,并将租户条件统一放在 WHERE 条件末尾 保持全局租户拦截器行为不变
-
关联:https://t.zsxq.com/y1ggF