Commit Graph

154 Commits (7c3b65624ea7cbda61a704d9cbbad564b0fb1607)

Author SHA1 Message Date
chenhao 7c3b65624e refactor: 重构会议进度管理和Android设备绑定服务
- 移除 `RedisOnlyMeetingProgressServiceAdapter` 和 `RedisValueSupport` 类
- 更新 `MeetingProgressServiceImpl` 使用新的 `MeetingProgressCache`
- 重构 `MeetingTaskRecoveryListener` 使用 `MeetingLockCache` 和 `MeetingAsrPermitCache`
- 添加 `AndroidDeviceBindingService` 和 `AndroidPushMessageService` 接口及其实现类
- 新增 `AndroidPublicMeetingSessionRequest` 和 `AndroidPublicMeetingSessionVO` DTO 类
- 更新 `AndroidMeetingPushService` 及其实现类,添加推送待处理会议功能
2026-06-02 17:19:40 +08:00
chenhao fb5c4b545e Merge branch 'dev_zy' into dev_na 2026-06-01 17:50:41 +08:00
chenhao 3860ba3e00 feat: 添加请求日志记录和 gRPC 连接快照功能
- 引入 `AndroidRequestLogHelper` 以记录请求日志
- 新增 `AndroidGrpcConnectionSnapshotVO` 和 `AndroidGrpcConnectionDetailVO` 类,用于表示 gRPC 连接快照和详情
2026-06-01 17:49:15 +08:00
chenhao 8a082732df feat: 添加 ASR 任务重新调度功能并优化代理配置
- 在 `AiTaskService` 中添加 `triggerQueuedAsrScheduling` 和 `retryScheduleMeeting` 方法
- 更新多个服务实现类以使用新的 ASR 任务调度方法
- 在前端 `MeetingDetail.tsx` 和 `Meetings.tsx` 中添加重新调度按钮和相关逻辑
2026-06-01 13:42:50 +08:00
chenhao 92a12c4c81 feat: 添加会议完成推送功能并优化相关服务
- 引入 `AndroidMeetingPushService` 用于推送会议完成通知
- 在 `MeetingCommandServiceImpl` 和 `AiTaskServiceImpl` 中添加 `pushMeetingCompletedAfterCommitIfNeeded` 方法,确保事务提交后触发推送
- 更新 `MeetingInternalWorkflowController` 以支持手动触发会议完成推送和查询 gRPC 连接详情
- 新增 `MeetingPushTypeEnum` 枚举类,定义推送类型
- 优化 `AndroidGatewayPushService` 接口,添加用户级别的推送方法和连接快照功能
- 更新 `AndroidPushGrpcService` 和 `AndroidGatewayPushServiceImpl` 以支持新的注册参数和推送逻辑
2026-05-28 16:18:41 +08:00
chenhao 7f9c080bf7 feat: 添加请求日志记录并优化前端样式
- 在多个 Android 控制器中引入 `AndroidRequestLogHelper` 以记录请求日志
- 优化 `index.less` 和 `index.tsx` 文件,确保表格滚动和高度限制生效
2026-05-28 14:11:20 +08:00
chenhao 47ebeade20 refactor: 优化 `AndroidMeetingController` 中的包丢失率处理逻辑
- 引入 `RoundingMode` 以确保 `packetLossRate` 精度为两位小数
- 更新 `setPacketLossRate` 方法,使用 `setScale` 方法进行四舍五入处理
2026-05-27 17:56:48 +08:00
chenhao 384494d9ff feat: 添加总结和章节任务重试功能并优化会议处理逻辑
- 在 `MeetingCommandServiceImpl` 中添加 `retrySummary` 和 `retryChapter` 方法,支持总结和章节任务的重试
- 更新 `MeetingCommandService` 接口以包含新的重试方法
- 优化 `executeSummaryFlow` 和 `doDispatchChapterTask` 方法,简化任务执行逻辑
- 更新 `finalizeSummary` 方法,移除不必要的章节版本检查
- 调整 `updateMeetingProgress` 的进度值和消息,更准确地反映任务状态
- 在前端 `MeetingDetail.tsx` 中添加重试按钮和相关逻辑,支持用户手动重试失败的任务
2026-05-27 17:44:15 +08:00
chenhao 892275bc65 refactor:优化 LegacyMeetingController 测试用例
- 重构 `LegacyMeetingControllerTest` 类,提升测试覆盖率和代码可读性
- 更新测试方法以验证不同场景下的响应数据和状态码
- 确保测试用例覆盖会议预览、列表和密码更新等功能
2026-05-27 10:22:38 +08:00
chenhao a046ecf05b refactor: 删除 MeetingTranscriptRevisionServiceImpl 类
- 移除 `MeetingTranscriptRevisionServiceImpl` 类及其相关方法和逻辑
- 该类涉及会议转录修订的生成、解析和更新等功能
2026-05-22 17:28:59 +08:00
chenhao 188809305e feat: 添加 Redis 支持和优化会议进度管理
- 新增 `RedisValueSupport` 类,提供 Redis 操作支持
- 实现 `MeetingProgressServiceImpl` 服务,管理会议进度的读写操作
- 更新 `MeetingMcpToolService` 和 `MeetingCommandServiceImpl` 以使用新的进度服务
- 优化会议进度解析和状态更新逻辑
2026-05-19 17:49:41 +08:00
chenhao 7989b6aa11 refactor: 优化会议创建按钮逻辑和生成进度显示
- 简化 `Meetings.tsx` 中的会议创建按钮逻辑
- 在 `MeetingDetail.tsx` 中添加 `MeetingStateNotice` 类型,并更新生成进度显示
- 优化生成失败提示和展示逻辑,增加对历史内容的支持
- 更新相关组件以支持新的生成进度和状态显示
2026-05-14 09:20:11 +08:00
chenhao 7d08234919 feat: 添加分页和优化会议任务处理逻辑
- 在前端 `Dashboard` 页面中添加分页功能
- 优化 `AiTaskServiceImpl` 中的 ASR 任务处理逻辑,支持任务恢复和失败处理
- 更新相关服务和组件以支持新的分页和任务处理逻辑
2026-05-13 18:12:25 +08:00
chenhao f7480df565 feat: 添加总结详细程度选项和优化用户认证逻辑
- 在 `MeetingCommandService` 中添加 `summaryDetailLevel` 参数
- 更新 `MeetingSummaryPromptAssembler` 以支持不同详细程度的总结
- 在前端 `useAuth` 钩子中添加 `profileVersion` 状态,同步用户资料更新
- 优化密码重置流程,保持登录状态并更新用户资料
- 在 `Meeting` 实体中添加 `summaryDetailLevel` 字段
- 更新相关服务和控制器以处理新的总结详细程度选项
2026-05-13 14:31:48 +08:00
chenhao 51190f330c feat: 添加外部总结编排触发和失败处理功能
- 新增 `MeetingSummaryOrchestrationTriggerResultVO` 数据传输对象
- 实现 `MeetingExternalSummaryWebhookTrigger` 服务,用于触发外部 n8n 总结编排
- 在 `MeetingCommandServiceImpl` 中添加 `triggerExternalSummaryOrchestration` 和 `markExternalSummaryOrchestrationFailed` 方法
- 更新 `MeetingCommandService` 接口以支持新的方法
- 在 `AiTaskServiceImpl` 中添加 `triggerExternalSummaryWebhook` 方法
- 在 `MeetingController` 中添加手动触发外部 n8n 总结编排的 API
- 新增 `MeetingMarkdownBundleMcpToolProvider` 以提供会议 Markdown 包工具
2026-05-12 16:44:09 +08:00
chenhao 3469884bca refactor: 优化会议预览页面的密码输入界面和样式
- 更新密码提示和占位符文本
- 重构密码输入界面布局和样式
- 添加背景动画和视觉效果
- 优化移动端显示
2026-05-11 20:54:51 +08:00
chenhao a49888587f feat: 添加设备分页和搜索功能
- 引入 `ListTable` 和 `AppPagination` 组件
- 添加分页状态和处理函数
- 更新搜索逻辑以重置分页
- 重构表格列定义和数据加载逻辑
2026-05-11 20:14:37 +08:00
chenhao b9ec41095f feat: 添加会议MCP工具服务和优化章节查询
- 新增 `MeetingMcpToolService` 以提供会议列表、预览、详情和Markdown包
- 在 `MeetingQueryService` 中添加忽略租户的章节查询方法
- 更新 `MeetingPublicPreviewController` 以使用新的章节查询方法
2026-05-11 18:09:31 +08:00
chenhao ccb408ade5 feat:优化会议转录和章节功能
- 更新 `MeetingTranscriptFileServiceImpl`,使用 Markdown 格式导出会议转录
- 在 `MeetingQueryServiceImpl` 中添加会议存在性检查,并调用 `listDisplayChapterAnalysis`
- 在 `MeetingCommandServiceImpl` 中更新会议进度信息
- 在前端 `http.ts` 和 `meeting.ts` 中添加 `suppressErrorToast` 选项
- 在 `MeetingVO` 中添加最近一次总结和章节尝试的任务状态及错误信息
- 更新 `MeetingDetail.tsx` 和 `Meetings.tsx`,处理生成失败的提示和展示逻辑
- 在 `MeetingTranscriptChapterService` 和 `MeetingTranscriptChapterServiceImpl` 中添加加载当前章节 Markdown 的方法
- 优化 `PageContainer` 和 `Meetings` 页面布局,改善滚动和内容展示
2026-05-11 10:54:33 +08:00
alanpaine 1877c64cc2 fix(系统参数): 移除表格的onChange和totalCount属性并添加滚动条
表格配置中移除不再使用的onChange和totalCount属性,同时添加垂直滚动条以改善长列表的浏览体验
2026-05-11 10:53:18 +08:00
chenhao beab0edabe feat: 添加会议章节和目录功能
- 在 `PublicMeetingPreviewVO` 中添加 `chapters` 字段
- 更新 `MeetingPreview` 组件以支持章节和目录展示
- 添加新的 `pageCatalog` 选项卡,展示 AI 生成的目录
- 实现章节与转录内容的关联和跳转功能
- 优化关键词和总结内容的展示布局
2026-05-09 17:33:00 +08:00
chenhao 38edf9dad6 refactor: 优化会议总结和关键词展示布局
- 移除 `linkifySummary` 和 `MarkdownSummary` 组件
- 优化关键词和讨论点的展示逻辑
- 重构会议总结编辑和导出功能的交互
- 更新样式以改善整体视觉效果
2026-05-09 15:19:49 +08:00
chenhao a34885111c feat: 添加会议章节导入和总结功能
- 在 `MeetingCommandService` 中添加 `importTranscriptChapters` 和 `finalizeSummary` 方法
- 更新 `MeetingSummaryPromptAssembler` 以支持章节模型和摘要源
- 在 `MeetingQueryService` 中添加获取章节和转录源的方法
- 新增 `MeetingSummaryFinalizeDTO` 和 `MeetingSummaryPromptContextVO` 数据传输对象
- 在 `MeetingCommandServiceImpl` 中实现章节导入和总结任务创建逻辑
- 更新前端 `meeting.ts` 以支持获取章节信息
2026-05-09 13:48:09 +08:00
alanpaine 9b63a1ec4e feat: 引入PageContainer组件并重构页面布局
refactor: 使用PageContainer统一管理页面布局结构

style: 优化页面布局样式和响应式设计

chore: 添加批量导入和重构脚本

build: 新增PageContainer组件及相关依赖

docs: 更新页面布局相关文档

perf: 提升页面渲染性能和布局一致性
2026-05-09 10:17:46 +08:00
chenhao eba6bf105e feat: 添加平台运行时信息和多租户支持
- 在 `auth.ts` 和 `platform.ts` 中添加获取平台运行时信息的 API
- 在 `AppLayout.tsx` 和 `login/index.tsx` 中处理平台运行时信息,并更新用户界面
- 在 `DeviceInfoMapper.java` 中添加忽略租户的更新方法
- 更新日志清理和模块获取的 API 以支持多租户
- 在 `tenants/index.tsx` 和 `logs/index.tsx` 中添加多租户相关的逻辑和 UI 改进
2026-05-07 09:46:22 +08:00
chenhao c0e973e5a9 refactor: 优化 Android gRPC 推送服务日志记录和错误处理
- 在 `AndroidPushGrpcService` 中添加详细的日志记录,包括连接、心跳、ACK 和错误处理
- 更新 `sendError` 方法以包含设备信息,并在日志中记录错误响应
- 在 `LegacyAuthController` 中添加租户 ID 设置逻辑
- 更新 `MeetingSummaryPromptAssembler` 中的提示词,明确关键词基于会议转写生成
- 移除 `AndroidAuthServiceImplTest` 测试类
2026-05-06 16:38:05 +08:00
chenhao 5b4304a4b2 feat: 添加日志注解并更新相关操作描述
- 在多个控制器中添加 `@Log` 注解,记录新增、修改和删除操作
- 更新前端 `MeetingDetail.tsx` 中的按钮文本和注释
- 优化会议管理相关接口的日志记录
2026-05-06 10:31:06 +08:00
chenhao aed87e8ad3 feat: 添加关键词高亮和跳转功能
- 在 `MeetingDetail.tsx` 中添加 `linkifySummary` 和 `MarkdownSummary` 组件,支持关键词高亮和虚拟链接
- 更新 `ActiveTranscriptRow` 组件以支持关键词高亮和自动滚动到匹配项
- 增加 `handleKeywordClick` 回调函数,处理关键词点击事件并跳转到相应位置
- 优化样式,添加高亮文本的动画效果和样式调整
2026-05-06 10:09:07 +08:00
chenhao 6445d429f8 refactor: 优化会议总结和详情页面布局
- 移除 `MeetingSummaryPromptAssembler` 中未使用的分析字段
- 更新前端 `MeetingDetail.tsx` 布局,移除不必要的组件并优化界面显示
- 重构会议详情页头部,引入 `PageHeader` 组件
- 优化关键词和讨论点的展示逻辑
- 简化会议总结编辑和导出功能的交互
2026-05-06 09:41:07 +08:00
chenhao f20be9bcc6 refactor: 移除 Android gRPC 服务和相关测试代码
- 删除 `AndroidGatewayGrpcService` 及其依赖的 DTO 和接口
- 删除 `AndroidRealtimeGrpcManualTest` 手动测试类
- 删除与 Android 实时会议 gRPC 会话相关的数据传输对象和业务逻辑类
2026-04-30 16:47:30 +08:00
chenhao 4904526e09 feat: 添加会议转录文件服务
- 新增 `MeetingTranscriptFileServiceImpl` 实现会议转录文件的初始化和导出功能
- 定义 `MeetingTranscriptExportResult` 数据传输对象,用于封装导出结果
- 定义 `MeetingTranscriptFileService` 接口,提供初始化和导出会议转录文件的方法
2026-04-30 09:18:11 +08:00
chenhao a8b93a46f8 feat: 添加会议转录文件服务
- 新增 `MeetingTranscriptFileServiceImpl` 实现会议转录文件的初始化和导出功能
- 定义 `MeetingTranscriptExportResult` 数据传输对象,用于封装导出结果
- 定义 `MeetingTranscriptFileService` 接口,提供初始化和导出会议转录文件的方法
2026-04-28 15:51:39 +08:00
chenhao 35698287de feat: 添加会议转录文件初始化和下载功能
- 在 `MeetingCommandServiceImpl` 和 `AiTaskServiceImpl` 中添加 `initializeTranscriptFileIfAbsent` 方法调用
- 在 `MeetingController` 中添加 `exportTranscripts` 接口,支持下载会议转录 Markdown 文件
- 更新前端 `meeting.ts` 和 `MeetingDetail.tsx` 以支持会议转录文件的下载
- 在相关测试类中添加对 `MeetingTranscriptFileService` 的 mock
2026-04-28 10:34:15 +08:00
chenhao aaa2624fe2 feat: 添加音频预处理和播放支持
- 在 `application-dev.yml` 中添加 FFmpeg 路径配置
- 在 `MeetingCommandServiceImpl` 和 `MeetingQueryServiceImpl` 中更新 `fillMeetingVO` 方法签名,并在适当位置调用 `prewarmPlaybackAudioAfterCommit`
- 新增 `MeetingPlaybackAudioResolver` 类,用于处理音频文件的浏览器兼容性转换
- 在前端 `MeetingPreview.tsx` 和 `MeetingDetail.tsx` 中更新音频 URL 处理逻辑,使用新的 `resolveMeetingPlaybackAudioUrl` 方法
2026-04-27 15:16:08 +08:00
chenhao 6600d37757 feat: 添加 M4A 文件验证和音频播放错误处理
- 在 `MeetingAudioUploadSupport` 中添加 M4A 文件验证逻辑,确保文件可播放
- 更新前端 `MeetingPreview.tsx` 和 `MeetingDetail.tsx` 以处理音频播放错误,并显示相应的警告信息
- 在 `WebMvcConfig` 中配置 M4A 媒
2026-04-27 10:39:34 +08:00
chenhao 5aefcf8d7d feat: 更新会议管理逻辑和界面
- 重构 `Meetings.tsx` 中的 `canManageRealtimeMeeting` 为 `canManageMeeting`,并更新相关调用
- 在会议卡片中添加创建人信息,并优化会议时间显示
- 增加权限检查,确保只有会议创建人或管理员可以编辑参会人
2026-04-24 17:30:26 +08:00
chenhao e6580beaa8 feat: 添加音频文件大小验证和系统参数配置
- 在 `MeetingAudioUploadSupport` 中添加 `validateFileSize` 方法,验证上传的音频文件大小
- 引入 `SysParamService` 以获取系统参数配置的最大上传大小
- 在前端 `MeetingCreateDrawer.tsx` 中添加文件大小验证逻辑,并显示系统配置的最大大小
2026-04-24 15:47:52 +08:00
chenhao 2f80c6c55e refactor: 优化错误消息为中文
- 将多个服务和控制器中的英文错误消息替换为中文
- 更新测试用例以匹配新的错误消息
2026-04-24 14:27:28 +08:00
chenhao a295a3b15b refactor: 优化会议访问密码更新逻辑和屏保实体字段策略
- 在 `LegacyMeetingController` 和 `AndroidMeetingController` 中使用 `LambdaUpdateWrapper` 更新会议访问密码
- 更新 `ScreenSaver` 实体的 `ownerUserId` 字段策略为 `ALWAYS`
- 添加相关测试用例以验证屏保实体字段策略和更新逻辑
- 优化 `AiModels.tsx` 中的提供商基础 URL 和表单占位符
2026-04-24 13:44:29 +08:00
chenhao f6ffaddae1 refactor: 注释掉登录页的示例账户信息和相关测试代码
- 在 `login/index.tsx` 中注释掉示例账户信息
- 在 `LegacyMeetingAdapterServiceImplTest.java` 和 `MeetingCommandServiceImplTest.java` 中注释掉相关测试代码
2026-04-24 10:42:22 +08:00
chenhao 99f5fd1cbd feat: 添加热词组筛选和分页功能
- 在 `HotWords.tsx` 中添加热词组筛选选项和分页逻辑
- 更新 `hotwordGroup.ts` 和后端相关控制器及服务以支持新的筛选参数
- 优化前端热词组列表的展示和交互逻辑
2026-04-24 09:04:16 +08:00
chenhao 0b8014d1af feat: 添加会议来源平台控制和实时会议状态处理
- 在 `MeetingAccessService` 和 `MeetingCommandService` 中添加 `assertCanControlRealtimeMeeting` 方法,支持不同平台的实时会议控制
- 更新 `createMeeting` 和 `createRealtimeMeeting` 方法,以包含 `meetingSource` 参数
- 在前端 `Meetings.tsx` 和 `RealtimeAsrSession.tsx` 中添加对跨平台实时会议的控制逻辑
- 更新数据库表结构和文档,添加 `meeting_type` 和 `meeting_source` 字段
- 更新相关测试类以验证新的控制逻辑
2026-04-23 17:53:12 +08:00
chenhao 8cdac8ad9f refactor: 注释掉 `MeetingAudioUploadSupport` 中的 `validateContentType` 方法调用 2026-04-23 16:41:48 +08:00
chenhao 4e38580258 feat: 添加实时会议状态处理和转录内容检查
- 在 `AiTaskServiceImpl` 中添加 `buildTranscriptText` 和 `failPendingSummaryTask` 方法,用于构建转录文本和处理失败的摘要任务
- 更新 `doDispatchSummaryTask` 和 `dispatchTasks` 方法,以在转录内容为空时处理失败情况
- 在前端 `Meetings.tsx` 中添加实时会议状态处理逻辑,支持实时会议的暂停、进行中和待开始状态
- 更新测试类 `AiTaskServiceImplTest` 以包含新的测试用例,验证转录内容为空时的任务处理逻辑
2026-04-23 15:47:29 +08:00
chenhao 8d0ef246f3 feat: 添加实时会议状态处理和转录内容检查
- 在 `AiTaskServiceImpl` 中添加 `buildTranscriptText` 和 `failPendingSummaryTask` 方法,用于构建转录文本和处理失败的摘要任务
- 更新 `doDispatchSummaryTask` 和 `dispatchTasks` 方法,以在转录内容为空时处理失败情况
- 在前端 `Meetings.tsx` 中添加实时会议状态处理逻辑,支持实时会议的暂停、进行中和待开始状态
- 更新测试类 `AiTaskServiceImplTest` 以包含新的测试用例,验证转录内容为空时的任务处理逻辑
2026-04-22 17:54:58 +08:00
chenhao 29551dfbe2 feat: 添加会议音频上传支持和热词组管理功能
- 添加 `MeetingAudioUploadSupport` 类,支持音频文件上传和验证
- 在 `MeetingCommandServiceImpl` 中添加删除会议时清理相关数据和工件的逻辑
- 添加热词组相关的实体、服务、控制器和映射器
- 更新测试类以包含新的依赖和测试用例
2026-04-22 16:38:45 +08:00
chenhao b36a08adc7 feat: 添加热词组筛选功能并更新相关API和前端逻辑
- 在 `HotWords.tsx` 中添加热词组筛选选项,并更新 `useEffect` 依赖
- 更新 `hotword.ts` 和 `HotWordController.java` 以支持 `hotWordGroupId` 参数
- 在 `MeetingDetail.tsx` 中添加 `getPinyinSuggestion` API 调用,优化热词创建逻辑
2026-04-22 16:06:50 +08:00
chenhao 2d788bac75 feat: 添加热词组管理功能并优化热词控制器逻辑
- 在 `HotWordController` 中添加 `HotWordGroupService` 依赖,并更新相关方法以支持租户ID
- 重构权限校验逻辑,移除 `isCurrentUserAdmin` 方法,改为使用 `resolveTargetTenantId` 方法
2026-04-22 15:28:06 +08:00
chenhao 324e283f41 refactor: 优化模型配置验证和测试逻辑
- 更新 `AiModelServiceImpl` 中的验证逻辑,改进错误信息
- 在 `pushAsrConfig` 方法中添加对空白 `apiKey` 的处理
- 添加单元测试以验证自定义 LLM 和 ASR 模型在没有 `apiKey` 时的行为
- 更新前端 `AiModels.tsx` 中的表单验证逻辑,移除 `apiKey` 的必填规则并添加警告提示
2026-04-22 09:53:34 +08:00
chenhao 6a08fb1a3b feat: 添加LLM模型连通性测试功能
- 在 `AiModelServiceImpl` 中添加 `testLlmConnectivity` 方法,支持不同提供商的连通性测试
- 在 `AiModelController` 中添加 `/llm-connectivity-test` API 端点,用于测试 LLM 模型连通性
- 更新 `AiModelService` 接口以包含新的 `testLlmConnectivity` 方法
- 添加相关单元测试以验证连通性测试功能的正确性
2026-04-22 09:40:15 +08:00