CHANGELOG.md 1.8 KB

# 更改文档 — 2026-07-30

日期: 2026-07-30
编译: ✓ BUILD SUCCESS (JDK 21)
范围: 7 文件修改


一、分析模块 — 事件类型切换

新增 GET /api/v1/analytics/event-types

  • AnalyticsController.java — 新增端点、添加 java.util.List import
  • AnalyticsService.java — getEventTypes() 方法,返回所有 distinct 事件类型
  • UserEventRepository.java — indDistinctEventTypes() JPQL 查询

已有 GET /events?eventType=xxx 过滤保持不变。前端调用 /event-types 获取选项列表渲染切换控件。


二、JWT 鉴权解析(不强鉴权)

JwtAuthFilter.java — doFilterInternal

  • 从 Authorization: Bearer header 提取 JWT,jwtUtil.getSubject() 解析
  • 校验通过 → SecurityContextHolder.getContext().setAuthentication()
  • 无 token 或解析失败 → 直接放行
  • inally 中 SecurityContextHolder.clearContext() 防泄漏
  • AnalyticsController.getCurrentUserKey() 无需改动,现在能正确获取 token 对应用户

三、快捷提问 — SQL 层 LIMIT + 管理端分页

QuickAskRepository.java

  • indByIsActiveTrueOrderBySortOrderAscIdAsc() 改为 @Query + Pageable,SQL 层加 LIMIT
  • 添加 Page import
  • indAllByOrderBySortOrderAscIdAsc() 同样改为 Pageable 分页版本

AdminKnowledgeService.java

  • listQuickAsks() — 去掉 subList 截断,传 PageRequest.of(0,6) 在 SQL 层限制
  • listAllQuickAsks() — 改为 listAllQuickAsks(page, pageSize),返回 Map (items/total/page/page_size/total_pages)
  • eorderQuickAsks() — sort_order → sortOrder(camelCase)
  • 添加 PageRequest import

AdminKnowledgeController.java

  • GET /quick-asks 添加 page (默认1) 和 pageSize (默认20) 参数

四、编码规范

全文件 UTF-8 without BOM,换行 LF。后续编辑遵循此约定。