• - 通过统一配置选择设备属性历史和消息日志的存储后端,默认 TDengine
    - 抽取存储 DAO,下沉字段映射、表结构同步和查询逻辑
    - 新增 IoTDB 表模型实现、数据源配置、驱动和启动校验
    - 使用 device_id 作为唯一 TAG,避免消息 ID 导致元数据基数增长
    - 完善字段校验、历史查询过滤及相关单测
    YunaiV authored
     
    Browse Dir »





  • 【背景】
    yudao.api-encrypt 开启时,ApiEncryptFilter 构造函数会调用 hutool 的
    SecureUtil.aes() 创建 AES 加密器,底层经 JCE(javax.crypto.Cipher)加载
    BouncyCastle Provider。在低版本 JDK 8(8u120 以下)上,bcprov-jdk18on
    无法通过 JCE 签名认证,导致 Fat Jar 启动失败:
      Failed to instantiate [apiEncryptFilter];
      nested exception is cn.hutool.crypto.CryptoException:
        SecurityException: JCE cannot authenticate the provider BC
          at javax.crypto.Cipher.getInstance(Cipher.java:652)
    
    【JCE 根因】
    bcprov jar 是 BouncyCastle 自签名(BC2048KE.DSA),非 Oracle 信任的 CA。
    JDK 8u120 及更早版本的 JCE 对 Provider jar 做强签名校验且存在认证缺陷,
    对自签名证书校验失败;8u121 起修复,9+ 彻底移除该强校验机制。
    实测同一 bcprov-jdk18on-1.80.jar:
      JDK 8u20  → JCE cannot authenticate the provider BC ❌
      JDK 8u121+ → 正常 ✅
      JDK 17/25  → 正常 ✅(JDK9+ 已无此机制)
    故该报错为低版本 JDK 8 的环境问题,非项目代码 bug。
    
    【改动】
    将 api-encrypt.enable 默认值改为 false,规避低版本 JDK 8 启动失败。
    不影响加密功能本身:需要 API 加密的用户改成 enable: true 即可,
    建议同时将 JDK 升级到 8u121 以上(或 17/25)。
    
    【性能】
    已实测:开启 vs 关闭的启动耗时基本无差异(JDK25 实测各 3 轮,
    平均 17.7s vs 17.0s,差值在误差范围内),关闭不带来启动加速,
    仅用于兼容低版本 JDK 8。
    YunaiV authored
     
    Browse Dir »






  • 后端:
    - 新增 sql/mysql/wms/20260515_wms_amount_precision.sql
      11 张表金额字段统一升到 decimal(16,2),覆盖 SKU 单价、单据主表/明细
      总金额/行金额、盘库实际金额、库存流水单价/行金额
    - 新增 sql/mysql/wms/20260515_wms_sku_dimension_precision.sql
      SKU 长宽高对齐 lite 改为 decimal(10,1)、毛/净重改为 decimal(10,3)
    - 测试 SQL create_tables.sql 全量同步生产 MySQL:数量 (20,2)、
      金额 (16,2)、长度 (10,1)、重量 (10,3),修复"测试 schema 与生产
      脱钩"导致单测假阳性的隐患
    - WmsWarehouseServiceImpl.validateWarehouseCodeUnique 去掉
      StrUtil.isBlank 提前 return,因 code 已由 VO 层 @NotBlank 强制非空
    - WmsWarehouseServiceImplTest 同步调整
    
    前端:
    - ReceiptOrderForm / ReceiptOrderDetail 合计行去掉"单价合计"派生展示,
      单价不能跨行相加;保留数量合计与行金额合计
    
    文档:
    - review-opus.md 收口至仅剩 F10 (SQL 导出,用户认领)
    - 新增 fix-plan.md 与 精度调整-codex讨论.md,沉淀本轮决策依据
    YunaiV authored
     
    Browse Dir »