• 公海自动掉落定时任务(crmCustomerAutoPutPoolJob,ForkJoinPool 线程无登录
    用户)→ putCustomerPool → contactService.updateOwnerUserIdByCustomerId
    (@CrmPermission)→ CrmPermissionAspect.validatePermission →
    isCrmAdmin() → hasAnyRoles(null) → @Cacheable(user_role_ids, key=#userId)
    取值为 null,Spring 6 抛 IllegalArgumentException: Null key,事务回滚,
    客户永远掉不进公海(job 日志恒"掉入公海客户 0 个",2026-09-21 23:50:36
    实抓全链路堆栈:CrmCustomerServiceImpl:459/476 → CrmPermissionAspect:70
    → CrmPermissionUtils:36 → PermissionServiceImpl:261)。
    数据权限是按登录用户的访问控制:/admin-api 外部请求必有登录用户,
    登录用户为 null 只可能是系统内部可信调用,切面入口直接放行;
    用户发起路径行为不变。
    dadiyang authored
     
    Browse Dir »

  • - 新增客户公海、销售漏斗、产品销售、合同汇总等统计分析
    - 新增业绩目标设置与业绩达成统计
    - 新增客户负责人变更记录能力,并用于公海客户分析
    - 完善销售漏斗阶段统计、商机转化率和明细筛选
    - 补充产品分类、时间范围、空金额等统计边界处理
    - 新增相关前端页面、API 与数据库菜单配置
    YunaiV authored
     
    Browse Dir »

  • 升级 Spring Boot 3.5.15、Netty、Redisson、Tika、Hutool、jsch、AWS SDK、Alipay、weixin-java 等依赖。
    
    - easy-trans 迁移到 org.dromara 并同步 Java import
    - 新增 system 侧 WxJava 配置类,绕过 httpclient4 provided 依赖问题
    - 将 WxJava http-client-type 切换为 HttpComponents
    - 移除显式 httpclient4 依赖
    YunaiV authored
     
    Browse Dir »



  • - 调整 MyBatisUtils.findInSet 使用 MyBatis-Plus 参数绑定
    - 增加 columnName 白名单校验,避免列名被注入
    - 补充 H2 兼容实现,恢复相关单测覆盖
    - 替换各模块动态 FIND_IN_SET 字符串拼接写法
    - 补充单参数、多参数绑定场景单测
    YunaiV authored
     
    Browse Dir »