-
[BUG] 钱包并发消费:同钱包两笔并发扣款后流水余额链不连贯
-
fix(mes): 编码规则固定字符(编码前缀)跨规则重复时保存拒绝,避免不同规则生成无法区分的编码
-
[BUG] MES 库存调拨:新建调拨单选了转移日期、保存提示成功,但日期存成 1970-01-01、列表显示空白
-
[BUG] 促销:新用户完成注册并正常登录,但一张新人券都领不到(—— 任意一张新人券过期,整批发放中断)
-
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
-
- 新增、修改和导入科目时校验财务参数 - 补全报表模板,修正备抵科目、投资收益和还本公式 - 增加模板升级及报表金额回归测试
-
#1215
-
[FIX] FMS:报表校验逐月查损益改直调账簿余额,断 getClosingOverview↔checkBalanceSheet 无限递归(A40)