Commit Graph

128 Commits

Author SHA1 Message Date
1523ea0fbd feat(ai-companion): 新增评论点赞功能及点赞状态查询 2026-01-26 21:31:32 +08:00
5a58c4ff38 feat(comment): 新增AI伴侣评论功能并补充相关错误码 2026-01-26 20:39:34 +08:00
ac9a352004 feat(chat): 为AI陪聊增加历史消息上下文支持
- ChatServiceImpl#message 现在会读取最近20条聊天记录作为LLM上下文
- 新增 callLLMWithHistory 方法,使用 Spring AI Message 构造对话历史
- KeyboardAiChatMessageService 新增 getRecentMessages 接口及实现,按时间正序返回指定条数消息
- 保持原有分页查询接口不变,仅补充上下文所需方法
2026-01-26 20:25:04 +08:00
aaf5d3bea4 feat(chat): 新增分页查询聊天记录接口 2026-01-26 18:38:51 +08:00
b887e52f55 feat(chat): 新增AI聊天记录持久化功能
新增KeyboardAiChatMessage实体及对应Mapper、Service,在ChatServiceImpl中同步对话时保存用户与AI消息到数据库,实现聊天记录持久化
2026-01-26 17:11:18 +08:00
6bb905bb30 feat(ai-companion): 新增AI伴侣模块及白名单路径 2026-01-26 16:25:39 +08:00
fd4c381d33 feat(ai-companion): 新增AI伴侣模块及白名单路径 2026-01-26 15:06:26 +08:00
8783a4c2af refactor(service): 用 RestClient 重写 ElevenLabs 调用并替换 UUID 工具类
- 将手写 HttpURLConnection 改为 Spring RestClient,精简 64 行冗余代码
- 引入 RestClientConfig 统一配置
- 统一使用 Hutool 的 IdUtil 生成文件名称
2026-01-26 13:49:50 +08:00
6a1bb50318 feat(chat): 集成 ElevenLabs TTS 并支持异步语音生成 2026-01-23 19:45:32 +08:00
bb3dcc56ff feat(service): 新增 WebSocket 实时语音转写与流式 TTS 全流程 2026-01-23 14:25:05 +08:00
8632dcd282 docs(readme): 重写项目文档,更新技术栈与功能说明
feat(character): 新增人设详情接口并优化获取逻辑
2026-01-07 16:17:57 +08:00
090cb65c0b fix(controller): 修复文件上传参数绑定与异常处理
- FileController:把 @RequestParam 改成 @RequestPart 并去掉多余注解
- GlobalExceptionHandler:新增 MissingServletRequestPartException 拦截,返回 FILE_IS_EMPTY 错误码
- RequestBodyCacheFilter:跳过 multipart 请求,避免文件上传被缓存过滤器破坏
- UserServiceImpl:修正更新语句为 updateById,防止字段丢失
2026-01-05 20:26:37 +08:00
a73a92c0c2 fix(config): 修复包名大小写并优化 Maven 构建配置
- 统一 interceptor 包名为小写
- 修正测试接口拼写 testSearchText
- 升级编译插件并显式声明 JDK17 与 Lombok 版本
- 将本地 Claude 记录文件加入忽略列表
2026-01-04 15:51:40 +08:00
2cdbdfeaf2 fix(config): 将分页拦截器数据库类型改为 PostgreSQL 2025-12-31 17:29:46 +08:00
a510a4afcb fix(invite): 重命名字段并补充AGENT类型支持 2025-12-29 18:43:09 +08:00
c38f62c3c1 feat(theme): 新增主题列表Redis缓存机制
为提升查询性能,在KeyboardThemesServiceImpl中集成RedisTemplate,优先从缓存读取主题列表;新增ThemeCacheInitializer用于应用启动时预热缓存。
2025-12-29 15:13:50 +08:00
be921e144f feat(invite): 支持租户与用户两种邀请码类型 2025-12-29 15:04:30 +08:00
778cf4a0cb fix(entity): 补全用户邀请绑定台账字段与注释
为 KeyboardUserInvites 实体新增 clickToken、inviteType、profitTenantId、profitEmployeeId、inviterTenantId、inviteCode 等字段,并统一 Schema 注解空格格式,满足邀请链接归因、代理结算及审计需求。
2025-12-29 13:59:02 +08:00
fb0c0c34a9 refactor(model): 移除 click_token 字段并调整字段顺序
- 删除实体与 Mapper 中 click_token 相关定义
- 保持其余字段(bind_type、bound_at、bind_ip、bind_user_agent)顺序一致
2025-12-25 14:17:09 +08:00
6ef1488e5f feat(invite): 新增H5邀请链接配置与返回
在 AppConfig 中增加 inviteConfig 及 h5Link 字段;
服务层改造 getUserInviteCode 返回 InviteCodeRespVO 并填充 h5Link;
Controller 简化调用逻辑,统一走服务层组装 VO。
2025-12-24 22:02:08 +08:00
b9197c4275 feat(invite): 新增用户邀请码创建与查询接口 2025-12-24 21:36:27 +08:00
e90078791c refactor(service): 优化推荐逻辑不再排除已购买主题 2025-12-23 15:43:27 +08:00
1b7374e959 fix(controller): 将 themeId 参数改为可选 2025-12-23 14:09:26 +08:00
2b0fa71c40 [Claude Code] After prompt #0 2025-12-23 13:53:53 +08:00
619c59d786 [Claude Code] After prompt #8 2025-12-22 22:00:16 +08:00
d07478eaea chore(build): 移除 Maven Wrapper 脚本
删除 mvnw 与 mvnw.cmd,项目已改用全局 Maven 构建,避免维护冗余脚本。
2025-12-22 19:50:33 +08:00
c70a1bd0e2 feat(wallet): 新增分页DTO并统一交易记录接口入参 2025-12-22 19:30:20 +08:00
45d6058b90 fix(service): 修复查询用户主题时调用错误服务
将 KeyboardThemePurchaseService 改为 userThemesService,并调整查询条件从支付状态改为删除标记,确保获取正确的用户主题列表。
2025-12-22 18:31:04 +08:00
ecce22384b fix(service): 修复查询用户主题时调用错误服务
将 KeyboardThemePurchaseService 改为 userThemesService,并调整查询条件从支付状态改为删除标记,确保获取正确的用户主题列表。
2025-12-22 16:39:01 +08:00
44f031c939 chore(config): 将配置文件注释乱码替换为中文可读文本 2025-12-19 21:56:41 +08:00
f69393b79d fix(config): 切换模型至 text-embedding-v4 并更新 API 配置 2025-12-19 21:37:54 +08:00
b068ab4d7c refactor(invite): 移除用户主动生成邀请码功能
- 删除 InviteCodeRespVO.java VO 类
- 移除 KeyboardUserInviteCodesService 及其实现中的 createInviteCode/getUserInviteCode 方法
- 删除 UserController 中 /inviteCode 查询接口
- 注册流程不再自动为用户创建邀请码,仅保留绑定逻辑
2025-12-19 15:15:53 +08:00
6638ff2ccc feat(invite): 添加邀请码注册与验证功能
- 新增邀请码实体、Mapper、Service 及 XML 配置
- 注册接口支持填写邀请码并建立绑定关系
- 邀请码校验包含存在性、状态、过期及次数限制
- 补充相关错误码:INVITE_CODE_* 与 RECEIPT_ALREADY_PROCESSED
2025-12-19 14:47:54 +08:00
0ef7a7fd83 feat(invite): 添加邀请码注册与验证功能
- 新增邀请码实体、Mapper、Service 及 XML 配置
- 注册接口支持填写邀请码并建立绑定关系
- 邀请码校验包含存在性、状态、过期及次数限制
- 补充相关错误码:INVITE_CODE_* 与 RECEIPT_ALREADY_PROCESSED
2025-12-19 14:21:02 +08:00
419878a607 feat(invite): 新增用户邀请码功能
新增实体、Mapper、Service及Controller接口,支持注册时自动生成与用户查询个人邀请码
2025-12-18 19:20:25 +08:00
c4d0c60ea8 chore(core): 清理Demo代码并优化配置文件
删除DemoController和PostReviewStatusEnum等测试/废弃代码;
.gitignore、SaTokenConfigure、SendMailUtils、application.yml小幅更新;
AppleAppStoreConfig改用流式读取私钥,适配容器化部署。
2025-12-18 15:51:46 +08:00
95fb77a575 fix(chat): 保存LLM响应的生成ID用于链路追踪 2025-12-17 19:23:21 +08:00
abfac871fd feat(user): 新增用户反馈提交功能 2025-12-17 18:20:05 +08:00
198650556f feat(themes): 新增主题模糊搜索接口及鉴权放行
支持按名称模糊搜索主题,并标记用户已购状态;同步放开 /themes/search 无需登录访问
2025-12-17 16:57:39 +08:00
4666180b73 style(service): 添加详细注释并优化人设列表查询逻辑 2025-12-17 16:49:10 +08:00
35c45abf73 feat(service): 为标签人设列表增加Redis缓存 2025-12-17 16:46:50 +08:00
65cd9d9fae feat(service): 为所有人设列表添加Redis缓存
在 selectListWithRank 中先读缓存,未命中再查库并写入7天过期缓存,减少数据库压力。
2025-12-17 16:32:05 +08:00
0156156440 feat(character): 添加Redis缓存支持人设查询 2025-12-17 16:25:05 +08:00
27a8911b7f refactor(service): 优化聊天服务代码注释与结构
添加详细中文注释,明确用户配额校验、VIP权限判断及流式响应处理逻辑,提升可维护性。
2025-12-17 16:05:14 +08:00
323baa876f feat(chat): 新增免费额度与VIP校验逻辑
在聊天接口中增加用户免费次数及VIP身份校验,未通过时返回新错误码50022;
调用成功后若使用免费额度则自动扣减,保障额度体系闭环。
2025-12-17 15:51:46 +08:00
2621321dea refactor(chat): 拆分聊天逻辑至独立 ChatService 并提取 LLM 配置
将 ChatController 中的聊天与向量搜索流程整体迁移到 ChatServiceImpl,
新增 AppConfig.LLmConfig 集中管理系统提示语与最大消息长度,
消除控制器层复杂逻辑,提升可维护性与配置动态化能力。
2025-12-17 15:36:57 +08:00
86738e3d1b feat(chat): 新增聊天调用日志与动态配置支持
- 新增 KeyboardUserCallLog 实体及对应 Mapper、Service,用于记录每次聊天请求的模型、token、耗时、错误码等
- ChatController.talk() 在流式输出前后采集元数据,异步落库,支持错误码记录
- AppConfig 新增 QdrantConfig,支持 vectorSearchLimit 动态配置
- QdrantVectorService 改为从 Nacos 动态读取搜索条数,替代硬编码 limit=1
- UserController 登出时先清除用户会话再清除 token,避免并发异常
2025-12-17 15:03:23 +08:00
a237bc2987 refactor(config): 合并用户注册配置并调整默认配额
将 UserRegisterProperties 内嵌到 AppConfig,删除独立配置类;
freeTrialQuota 由 5 改为 3,新增 rewardBalance 字段;
同步更新 UserServiceImpl 初始化逻辑及 yml 配置。
2025-12-17 13:24:38 +08:00
8e26488738 feat(config): 接入 Nacos 配置中心
- 新增 AppConfig、NacosAppConfigCenter 动态配置类
- 将 userRegisterProperties 的默认值改为运行时从 Nacos 读取
- 注册/创建用户时免费配额改为动态配置获取
- 增加 nacos-client 依赖并配置 dev 环境连接信息
2025-12-16 21:50:00 +08:00
f95762138b feat(quota): 新增用户额度总计模块
增加用户免费体验额度配置,支持新用户注册时的额度分配功能
2025-12-16 17:54:53 +08:00