YunaiV
|
e1315eacbb
|
(〃'▽'〃)_v2026_07_发布:管理后台移动端完成全模块适配,增强工作流与 CRM 数据统计
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
yudao-ui-admin CI / build (14.x) (push) Has been cancelled
yudao-ui-admin CI / build (16.x) (push) Has been cancelled
v2026.07(jdk8/11)
|
2026-07-31 21:25:44 +08:00 |
|
YunaiV
|
f4e4e737f2
|
Merge branch 'master' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
# Conflicts:
# yudao-module-ai/pom.xml
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/AiChatConversationController.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/AiChatMessageController.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/mindmap/AiMindMapController.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/music/AiMusicController.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/write/AiWriteController.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/enums/ErrorCodeConstants.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/enums/model/AiPlatformEnum.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/AiAutoConfiguration.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/YudaoAiProperties.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/AiModelFactoryImpl.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/baichuan/BaiChuanChatModel.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/doubao/DouBaoChatModel.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/grok/GrokChatModel.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/hunyuan/HunYuanChatModel.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/XingHuoChatModel.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageService.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/mindmap/AiMindMapService.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/mindmap/AiMindMapServiceImpl.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowServiceImpl.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteService.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteServiceImpl.java
# yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/BaiChuanChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DouBaoChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/HunYuanChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MiniMaxChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MoonshotChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/XingHuoChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/YiYanChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/ZhiPuAiChatModelTests.java
# yudao-module-ai/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/OpenAiImageModelTests.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmTaskController.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmModelConvert.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmTaskConvert.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/DictTypeConstants.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelService.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmModelServiceImpl.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskService.java
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsFunnelController.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsPerformanceController.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/vo/funnel/CrmStatisticsFunnelReqVO.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/business/CrmBusinessMapper.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/statistics/CrmStatisticsCustomerMapper.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/statistics/CrmStatisticsFunnelMapper.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/statistics/CrmStatisticsPerformanceMapper.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/statistics/CrmStatisticsCustomerServiceImpl.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/statistics/CrmStatisticsFunnelService.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/statistics/CrmStatisticsFunnelServiceImpl.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/statistics/CrmStatisticsPerformanceService.java
# yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/statistics/CrmStatisticsPerformanceServiceImpl.java
# yudao-module-crm/src/main/resources/mapper/statistics/CrmStatisticsFunnelMapper.xml
# yudao-module-crm/src/main/resources/mapper/statistics/CrmStatisticsPerformanceMapper.xml
# yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImChannelMessageManagerController.java
# yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/framework/rtc/core/LiveKitClient.java
# yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImChannelMessageService.java
# yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImChannelMessageServiceImpl.java
# yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngineAbstractTest.java
# yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngineUniappTest.java
# yudao-module-infra/src/test/resources/codegen/vue3_admin_uniapp_one/ts/index
# yudao-module-infra/src/test/resources/codegen/vue3_admin_uniapp_one/vue/detail/index
# yudao-module-infra/src/test/resources/codegen/vue3_admin_uniapp_one/vue/form/index
# yudao-module-infra/src/test/resources/codegen/vue3_admin_uniapp_one/vue/search-form
# yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/coupon/AppCouponTemplateController.java
# yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java
# yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkrecord/MesDvCheckRecordLineController.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/maintenrecord/MesDvMaintenRecordLineController.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairLineController.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/vo/result/MesWmStockTakingTaskResultRespVO.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineService.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineServiceImpl.java
# yudao-module-pay/src/test/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceTest.java
# yudao-module-report/src/main/java/cn/iocoder/yudao/module/report/framework/jmreport/core/service/JmOnlDragExternalServiceImpl.java
# yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImplTest.java
# yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImplTest.java
|
2026-07-31 21:24:08 +08:00 |
|
YunaiV
|
0418084e22
|
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
# Conflicts:
# pom.xml
# yudao-dependencies/pom.xml
|
2026-07-31 19:46:10 +08:00 |
|
YunaiV
|
c3523cd038
|
(〃'▽'〃)_v2026_07_发布:管理后台移动端完成全模块适配,增强工作流与 CRM 数据统计
|
2026-07-31 19:45:31 +08:00 |
|
YunaiV
|
61ba7d1863
|
(〃'▽'〃)_v2026_07_发布:管理后台移动端完成全模块适配,增强工作流与 CRM 数据统计
|
2026-07-31 19:44:46 +08:00 |
|
YunaiV
|
dff88d5c5f
|
【同步】jdk21 和 jdk8 的代码
|
2026-07-31 18:40:10 +08:00 |
|
YunaiV
|
89b4d0d44e
|
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
# Conflicts:
# yudao-dependencies/pom.xml
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java
# yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImChannelMessageManagerController.java
# yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairLineServiceImpl.java
# yudao-module-pay/src/test/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceTest.java
# yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java
|
2026-07-31 10:40:02 +08:00 |
|
YunaiV
|
11b5cb5288
|
fix: 升级 Fastjson2 并排除 Fastjson1
|
2026-07-31 09:44:50 +08:00 |
|
YunaiV
|
de70ff9529
|
fix: 升级 Fastjson2 并排除 Fastjson1
|
2026-07-31 09:44:49 +08:00 |
|
YunaiV
|
f639a76b43
|
fix(auth): 拦截禁用用户登录并撤销会员令牌
|
2026-07-19 20:18:25 +08:00 |
|
YunaiV
|
5b5bd40b48
|
fix(web): 修复全局异常处理被 JimuReport 拦截
|
2026-07-19 20:16:57 +08:00 |
|
YunaiV
|
fd1d97cb8b
|
fix(system): 修复按部门查询用户精简列表返回禁用用户
|
2026-07-19 19:22:25 +08:00 |
|
YunaiV
|
383d45f1b8
|
fix: 补齐 Controller 简单参数的 RequestParam 注解
|
2026-07-19 19:15:06 +08:00 |
|
YunaiV
|
e509c8a958
|
fix(im): 修复 LiveKit 本地媒体连接与房间管理权限
- 修正 Docker Desktop 媒体候选地址
- 为管理 Token 增加房间级 roomAdmin 权限
- 更新 LiveKit PoC 配置说明
|
2026-07-16 19:37:26 +08:00 |
|
YunaiV
|
2558d8c874
|
feat(im):增加渠道消息的 get 接口
|
2026-07-13 13:13:16 +08:00 |
|
YunaiV
|
34d273a20e
|
fix(system):avatar 错误使用 nickname 进行设置
|
2026-07-13 03:35:50 +08:00 |
|
YunaiV
|
f7bfa5d7f4
|
Merge remote-tracking branch 'origin/master-jdk17' into master-jdk17
|
2026-07-13 00:27:03 +08:00 |
|
YunaiV
|
9c6cff33ad
|
feat(ai): 优化大模型兼容接入
|
2026-07-12 22:15:40 +08:00 |
|
YunaiV
|
0cb951f334
|
fix(codegen): 修复 UniApp Wot 生成代码兼容问题
- 完善日期、浮点数、布尔字典和上传字段生成逻辑
- 修复主子表必填校验和详情按钮类型
- 修复树表查询及生成快照路径问题
- 增加主子表类名、属性名和输出路径碰撞校验
- 补充 normal、inner、ERP 等场景单元测试
|
2026-07-12 12:46:22 +08:00 |
|
YunaiV
|
ef9f43e77e
|
feat(ai): 增加更多 get 获取详情接口
|
2026-07-12 12:26:44 +08:00 |
|
YunaiV
|
2ef66566d4
|
feat(codegen): 完善 UniApp Wot 代码生成
- 支持普通、树表及多种主子表页面生成
- 完善主子表 API、表单、详情和字段控件
- 修复一对一空数据提交及树表搜索问题
- 统一日期时间戳和主键类型生成
- 修复 Wot 组件类型及生成代码格式问题
- 优化生成快照路径并增加文件冲突检测
- 补充 UniApp 代码生成单测和快照
|
2026-07-12 11:57:39 +08:00 |
|
YunaiV
|
3dba455082
|
feat(bpm): 完善流程模型导入导出逻辑
- 补全 BPMN XML 和简易模型数据导出
- 导入模型归属当前租户并保留完整配置
- 增加导入文件格式与参数校验
- 加强模型查询的租户隔离
- 补充流程模型服务单元测试
|
2026-07-12 10:19:28 +08:00 |
|
YunaiV
|
020fa9d53c
|
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into master-jdk17
|
2026-07-12 02:10:15 +08:00 |
|
YunaiV
|
1c49886593
|
refactor(codegen): 统一移动端搜索全部选项语义
|
2026-07-12 01:17:47 +08:00 |
|
芋道源码
|
526af905de
|
!1572 feat(bpm):新增流程模型操作导出模型json接口
Merge pull request !1572 from nnzb/bpm
|
2026-07-11 17:16:51 +00:00 |
|
YunaiV
|
1a232f80ec
|
Merge remote-tracking branch 'origin/master-jdk17' into master-jdk17
|
2026-07-11 21:57:27 +08:00 |
|
YunaiV
|
b3296b4e97
|
fix(codegen): 修复 Vben5 Antdv Next 模板兼容问题
- 修正组件根导入、子组件用法及内部模板引用
- 按实际生成分支条件导入 Tabs、FormItem、SelectOption 和 RangePicker
- 修复一对一及一对多 join-select 场景的导入判定
- 补充模板类型、RangePicker helper 和稀疏主子表回归测试
|
2026-07-11 21:57:16 +08:00 |
|
YunaiV
|
86ff0347a7
|
feat(mes): 新增业务明细关联列表接口
|
2026-07-11 20:36:51 +08:00 |
|
YunaiV
|
3783a26f1a
|
feat(mes): 新增业务明细关联列表接口
|
2026-07-11 20:30:20 +08:00 |
|
YunaiV
|
e4e460d563
|
【同步】jdk21 和 jdk8 的代码
|
2026-07-07 20:21:09 +08:00 |
|
YunaiV
|
d117660629
|
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
|
2026-07-07 19:55:19 +08:00 |
|
YunaiV
|
caade90fea
|
chore: 默认关闭 API 加密(api-encrypt.enable: true → false)
【背景】
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。
|
2026-07-07 19:55:12 +08:00 |
|
YunaiV
|
42c28dfd1d
|
fix: 降级 httpclient5 5.5.2 → 5.5.1,修复 JDK 8 低版本启动报 TCP_KEEPIDLE
【问题现象】
项目使用 WxJava 4.8.x(http-client-type: HttpComponents 模式),在 JDK 8 低版本
(如 1.8.0_202)启动时报错:
Failed to instantiate [me.chanjar.weixin.mp.api.WxMpService];
nested exception is java.lang.NoSuchFieldError: TCP_KEEPIDLE
at org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.<clinit>
【根因】
httpclient5 5.5.2 起,DefaultHttpClientConnectionOperator 用「硬编码字段引用」
(getstatic jdk/net/ExtendedSocketOptions.TCP_KEEPIDLE)访问 TCP_KEEPIDLE。
该字段属于 jdk.net.ExtendedSocketOptions,JDK 8 需 8u272 才 backport,
JVM 类链接阶段必须解析该字段,低版本 JDK 8 找不到 → NoSuchFieldError。
关键:5.5.1 与 5.5.2 虽然字节码都含 "TCP_KEEPIDLE",但引用形态不同:
- 5.5.1:ldc "TCP_KEEPIDLE"(字符串常量,反射按名查找)→ JDK8 反射兜底,不报错
- 5.5.2:getstatic Fieldref(硬编码字段引用)→ JDK8 链接期必报错
官方在 HTTPCLIENT-2413 中明确不修(Resolved=Information Provided,建议升级 JRE),
最新 5.6.1 仍为硬编码引用,升版本无解。
【方案】
仅降 httpclient5 5.5.2 → 5.5.1(问题引入版本的前一个版本),httpcore5 维持 5.3.6。
不选更低版本(如 5.2.x/5.4.x):WxJava 4.8.x 的 DefaultHttpComponentsClientBuilder
需要 httpclient5 5.4+ 的 TlsSocketStrategy 等 API。
不选升级:5.5.2+ 全系列均为硬编码引用,无法兼容低版本 JDK 8。
【实测验证】环境 JDK 1.8.0_20(比用户 1.8.0_202 更低)
httpclient5 5.5.1 + httpcore5 5.3.6:
- WxJava DefaultHttpComponentsClientBuilder.build() 初始化 ✅
- 真实 HTTPS 请求(连接建立全路径)✅ status 200
httpclient5 5.5.2 + httpcore5 5.3.6:
- 启动即报 NoSuchFieldError: TCP_KEEPIDLE(复现用户报错,调用栈一致)
【改动】仅 yudao-dependencies/pom.xml
<httpclient5.version>5.5.2</httpclient5.version>
→ <httpclient5.version>5.5.1</httpclient5.version>
httpcore5.version 维持 5.3.6 不变
Refs: https://issues.apache.org/jira/browse/HTTPCLIENT-2413
|
2026-07-07 18:02:58 +08:00 |
|
YunaiV
|
b5b106f23c
|
feat(crm): 新增 CRM 统计分析与业绩目标能力
- 新增客户公海、销售漏斗、产品销售、合同汇总等统计分析
- 新增业绩目标设置与业绩达成统计
- 新增客户负责人变更记录能力,并用于公海客户分析
- 完善销售漏斗阶段统计、商机转化率和明细筛选
- 补充产品分类、时间范围、空金额等统计边界处理
- 新增相关前端页面、API 与数据库菜单配置
|
2026-07-07 14:46:59 +08:00 |
|
YunaiV
|
b05178d2cd
|
feat(crm): 新增 CRM 统计分析与业绩目标能力
- 新增客户公海、销售漏斗、产品销售、合同汇总等统计分析
- 新增业绩目标设置与业绩达成统计
- 新增客户负责人变更记录能力,并用于公海客户分析
- 完善销售漏斗阶段统计、商机转化率和明细筛选
- 补充产品分类、时间范围、空金额等统计边界处理
- 新增相关前端页面、API 与数据库菜单配置
|
2026-07-07 14:43:44 +08:00 |
|
YunaiV
|
214259ff0e
|
feat(crm): 新增 CRM 统计分析与业绩目标能力
- 新增客户公海、销售漏斗、产品销售、合同汇总等统计分析
- 新增业绩目标设置与业绩达成统计
- 新增客户负责人变更记录能力,并用于公海客户分析
- 完善销售漏斗阶段统计、商机转化率和明细筛选
- 补充产品分类、时间范围、空金额等统计边界处理
- 新增相关前端页面、API 与数据库菜单配置
|
2026-07-05 22:46:21 +08:00 |
|
YunaiV
|
b2c8c510cd
|
【同步】jdk21 和 jdk8 的代码
|
2026-07-04 23:34:55 +08:00 |
|
YunaiV
|
2a13d86ea6
|
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
# Conflicts:
# yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/convert/MultiDictConvert.java
|
2026-07-04 23:22:52 +08:00 |
|
YunaiV
|
e001bbbdbb
|
feat: 新增 Excel 多值字典转换器
- 新增 MultiDictConvert,支持半角逗号存储的多值字典字段
- 支持 String、Collection、Set、具体集合类和数组字段
- 未知字典 label/value 时整体转换失败,避免返回部分结果导致数据缺失
- 补充单值、多值、空值、顺序保持和失败场景单元测试
|
2026-07-04 23:21:32 +08:00 |
|
YunaiV
|
7bd34e28c9
|
Merge branch 'master' of https://github.com/YunaiV/ruoyi-vue-pro
|
2026-07-04 23:20:52 +08:00 |
|
YunaiV
|
c426261cdd
|
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
# Conflicts:
# yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmTaskController.java
|
2026-07-04 23:20:42 +08:00 |
|
芋道源码
|
482fab85c1
|
Merge pull request #1162 from 1139195538/master
feat:add Excel 数据字典转换器(多值转换器)
|
2026-07-04 22:57:11 +08:00 |
|
gnomeshgh
|
0896593146
|
feat(bpm):新增流程模型操作导出模型json接口
|
2026-07-03 23:10:08 +08:00 |
|
gnomeshgh
|
a3416fc449
|
feat(bpm):新增导入模型接口
|
2026-07-03 22:38:11 +08:00 |
|
YunaiV
|
7b35b16240
|
feat(bpm): 支持流程评论接口
- 新增流程评论创建、列表查询接口
- 封装 BpmCommentService 统一复用 Flowable Comment
- 评论列表返回评论人和对应任务信息
- 新增 BPM 评论类型字典与评论枚举
- 补充任务校验与历史任务 Map 查询能力
|
2026-07-03 07:52:22 +08:00 |
|
YunaiV
|
28f547915d
|
feat(bpm): 支持流程评论接口
- 新增流程评论创建、列表查询接口
- 封装 BpmCommentService 统一复用 Flowable Comment
- 评论列表返回评论人和对应任务信息
- 新增 BPM 评论类型字典与评论枚举
- 补充任务校验与历史任务 Map 查询能力
|
2026-07-02 11:27:27 +08:00 |
|
YunaiV
|
c356e768bd
|
chore: upgrade SkyWalking version to 9.6.0 for jdk8
|
2026-07-01 18:58:09 +08:00 |
|
YunaiV
|
97fba4eff8
|
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro
# Conflicts:
# yudao-dependencies/pom.xml
# yudao-framework/yudao-spring-boot-starter-monitor/src/main/java/cn/iocoder/yudao/framework/tracer/config/YudaoTracerAutoConfiguration.java
|
2026-07-01 09:19:12 +08:00 |
|
YunaiV
|
de08e8144f
|
feat(tracer): 替换 OpenTracing 为 OpenTelemetry
- 引入 OpenTelemetry API/SDK/OTLP Exporter
- 移除 OpenTracing 与 SkyWalking trace toolkit 依赖
- 改造 Tracer 自动配置、业务链路切面和异常记录逻辑
- 使用 Span.current() 获取当前 traceId
- 保留 SkyWalking apm-toolkit-logback-1.x,避免影响日志链路输出
- 兼容 JDK8 servlet 依赖
|
2026-07-01 09:17:59 +08:00 |
|
YunaiV
|
ca36970ef4
|
feat(tracer): 替换 OpenTracing 为 OpenTelemetry
- 引入 OpenTelemetry API/SDK/OTLP Exporter
- 移除 OpenTracing 与 SkyWalking trace toolkit 依赖
- 改造 Tracer 自动配置、业务链路切面和异常记录逻辑
- 使用 Span.current() 获取当前 traceId
- 保留 SkyWalking apm-toolkit-logback-1.x,避免影响日志链路输出
- 兼容 JDK8 servlet 依赖
|
2026-07-01 09:17:33 +08:00 |
|