• 仅含 @Async 而无 CGLIB 触发器(如 @Transactional)的 bean(如 ImWebSocketServiceImpl)
    被 JDK 动态代理后,getSelf()=SpringUtil.getBean(getClass()) 按实现类取 bean 必抛
    NoSuchBeanDefinitionException,致 IM 模块全部写操作事务内通知发送回滚整体 500。
    与 @EnableTransactionManagement(proxyTargetClass = true) 口径对齐根治。
    
    验证:修复后 IM 域回归 7 例两轮全绿(jobs 1422-1425/1427-1431);
    诊断实证 proxyClass=jdk.proxy2.$Proxy926 仅接口型。
    dadiyang authored
     
    Browse Dir »






  • - 新增 MultiDictConvert,支持半角逗号存储的多值字典字段
    - 支持 String、Collection、Set、具体集合类和数组字段
    - 未知字典 label/value 时整体转换失败,避免返回部分结果导致数据缺失
    - 补充单值、多值、空值、顺序保持和失败场景单元测试
    YunaiV authored
     
    Browse Dir »

  • - 引入 OpenTelemetry API/SDK/OTLP Exporter
    - 移除 OpenTracing 与 SkyWalking trace toolkit 依赖
    - 改造 Tracer 自动配置、业务链路切面和异常记录逻辑
    - 使用 Span.current() 获取当前 traceId
    - 保留 SkyWalking apm-toolkit-logback-1.x,避免影响日志链路输出
    - 兼容 JDK8 servlet 依赖
    YunaiV authored
     
    Browse Dir »


  • - common:LocalDateTimeUtils 增加 GMT+8 默认时区的 ofEpochSecond / toEpochSecond 重载
    
    - system:七牛短信回调使用默认时区解析秒级时间戳,避免本机时区影响接收时间
    
    - iot:当前时间规则使用默认时区转 epoch,修复非 GMT+8 环境下匹配结果错误
    
    验证:
    
    - yudao-module-system 单测通过
    
    - yudao-module-iot-biz 单测通过
    
    - yudao-module-iot-gateway 编译通过
    YunaiV authored
     
    Browse Dir »





  • - 拒绝匿名 WebSocket 握手,收紧 RTC 接听和入会忙线校验
    - 支持封禁群解散,管理端解散改为独立权限码
    - 增加个人表情数量配置、唯一约束和并发重复兜底
    - 修复 RTC 异常断开上报、视频远端音频和好友选择大列表渲染
    - 让个人表情添加失败透出后端业务错误
    - 流转 P0 bug 文档,并按产品取舍记录 apiSecret 默认值不强制拦截
    YunaiV authored
     
    Browse Dir »