|
|
f391f9dfe1
|
feat(user): 新增VIP字段及完善MyBatis-Plus映射
|
2025-12-11 20:51:34 +08:00 |
|
|
|
07ff9a5ff2
|
feat(login): 新增用户登录日志记录功能
新增 KeyboardUserLoginLog 实体、Mapper、Service 及 XML,扩展 Apple 与普通登录接口,自动记录 IP、UA、平台、OS 及新用户标识。
|
2025-12-11 20:16:20 +08:00 |
|
|
|
071e130a45
|
feat(service): 用户使用苹果注册时自动初始化钱包
|
2025-12-11 20:10:08 +08:00 |
|
|
|
360ac7a885
|
fix(auth): 添加用户主题批量删除接口放行
feat(user): 注册用户时初始化钱包
|
2025-12-11 19:50:19 +08:00 |
|
|
|
5121bf3455
|
fix(service): 修正推荐主题查询逻辑避免重复数据
优化 getRecommendedThemes 方法,使用 limit(8) 替代 SQL 的 LIMIT 8,防止分页插件干扰,确保只返回 8 条未购买的热门主题。
|
2025-12-11 16:43:19 +08:00 |
|
|
|
fb94c2069d
|
refactor(service): 移除 themeStatus 字段并新增 themeDownloadUrl
- 删除 VO 中的 themeStatus 属性
- 新增 themeDownloadUrl 用于前端下载
- 简化购买记录字段赋值顺序
|
2025-12-11 16:19:12 +08:00 |
|
|
|
e8ef359fcf
|
feat(themes): 新增推荐主题与用户主题批量删除功能
- 新增 getRecommendedThemes:按真实下载量降序返回8个未购买主题
- 新增 batchDeleteUserThemes:支持用户批量逻辑删除已购主题
- 补充接口注释与 Swagger 文档,开放 /themes/recommended 免鉴权路径
|
2025-12-11 15:08:02 +08:00 |
|
|
|
567a8bf165
|
feat(wallet): 新增余额格式化显示字段
在响应对象中添加 balanceDisplay 字段,用于返回“K”缩写格式的大额余额,
|
2025-12-11 14:39:05 +08:00 |
|
|
|
f937b03940
|
feat(theme): 购买主题后自动写入用户主题表
|
2025-12-11 14:23:52 +08:00 |
|
|
|
262c822585
|
feat(theme): 新增主题详情查询接口
支持根据主题ID和用户ID查询主题详情,包含购买状态
|
2025-12-11 13:32:05 +08:00 |
|
|
|
77e8e9a2a7
|
feat(themes): 为主题列表接口增加用户购买状态标记
在 KeyboardThemesRespVO 中新增 isPurchased 字段;
selectThemesByStyle 方法增加 userId 参数并查询用户已购主题 ID,
返回结果标记当前用户是否已购买。
|
2025-12-10 20:36:01 +08:00 |
|
|
|
03dc005b38
|
feat(themes): 新增查询用户已购主题接口
在 KeyboardThemePurchaseService 及其实现中增加 getUserPurchasedThemes 方法,
通过用户ID获取已支付主题列表;同步新增 /themes/purchased 接口并放行鉴权。
补充 KeyboardThemesRespVO 缺失的 themePreviewImageUrl 字段。
|
2025-12-10 20:19:47 +08:00 |
|
|
|
1a6fb944b2
|
feat(theme): 支持购买记录查询并调整积分类型为BigDecimal
- 新增 /themes/purchase/list 接口,支持用户查询主题购买记录
- 将 KeyboardThemePurchase 中的积分字段由 Integer 改为 BigDecimal,确保金额精度
- 对应 Mapper XML 中 jdbcType 由 INTEGER 调整为 NUMERIC
- 补充 getUserPurchaseList 服务及返回 VO ThemePurchaseListRespVO
- 开放接口权限并完善跨域配置
|
2025-12-10 19:58:48 +08:00 |
|
|
|
22b97b99aa
|
feat(purchase): 新增主题购买全流程接口
新增主题购买功能,包括余额校验、订单生成、交易记录等完整流程。同时扩展错误码支持余额不足、主题不存在等场景。
|
2025-12-10 19:40:27 +08:00 |
|
|
|
4f56541913
|
feat(wallet): 新增主题购买与钱包交易模块
|
2025-12-10 19:17:37 +08:00 |
|
|
|
0d1545f568
|
feat(wallet): 新增用户钱包余额查询功能
|
2025-12-10 18:52:38 +08:00 |
|
|
|
5227b81acb
|
feat(themes): 支持主题标签数组存储与按风格查询
- 新增 StringArrayTypeHandler 实现 PostgreSQL text[] ↔ Java String[] 映射
- 将 theme_tag 字段类型由 VARCHAR 改为 ARRAY,实体与 VO 同步调整为 String[]
- 移除废弃的 selectAllThemes 方法,统一使用 selectThemesByStyle(Long)
- 9999 风格 ID 保留查询全部上架主题逻辑,其余按风格过滤
- 开放 /themes/listByStyle 接口免鉴权,并修正 theme_status=true 查询条件
|
2025-12-10 15:55:55 +08:00 |
|
|
|
0447959f52
|
fix(chat): 增强聊天接口参数校验与异常处理
- 新增消息长度、空值、人设存在性等校验
- 补充 LLM 与向量搜索异常捕获及降级
- 统一返回错误码与日志,提升鲁棒性
|
2025-12-10 14:07:48 +08:00 |
|
|
|
5d2c5fa508
|
feat(file): 新增文件上传校验与错误码
- 支持图片格式与大小限制(最大5MB)
- 补充 FILE_NAME_ERROR、FILE_TYPE_ERROR、FILE_SIZE_EXCEED 错误码
- 移除 FileController.upload 的异常声明,统一由 BusinessException 处理
|
2025-12-10 13:46:48 +08:00 |
|
|
|
f4dc692e3b
|
refactor(controller): 调整导入顺序并添加参数校验
|
2025-12-10 13:36:57 +08:00 |
|
|
|
6e3bf01dd9
|
fix(service): 修复更新用户信息时使用登录ID而非UID
|
2025-12-09 22:00:05 +08:00 |
|
|
|
d056a71328
|
fix(service): 修复 themeStyle=9999 时查询逻辑缺失
|
2025-12-09 20:04:27 +08:00 |
|
|
|
1d258ce5ee
|
fix(service): 修复 themeStyle=9999 时查询逻辑缺失
|
2025-12-09 19:50:39 +08:00 |
|
|
|
bdb4f009d0
|
fix(service): 修复 themeStyle=9999 时查询逻辑缺失
|
2025-12-09 19:49:23 +08:00 |
|
|
|
5ea763b1db
|
fix(service): 修复 themeStyle=9999 时查询逻辑缺失
|
2025-12-09 16:28:47 +08:00 |
|
|
|
82c5552cd8
|
feat(service): 新增主题风格查询接口
|
2025-12-09 15:31:11 +08:00 |
|
|
|
29298c5dd6
|
feat(themes): 新增主题查询与风格筛选接口
|
2025-12-09 15:22:17 +08:00 |
|
|
|
fba6f0d729
|
feat(chat): 重构 LLM 流式输出并扩展 ChatSaveReq 字段
- 将原始整段 chunk 拆分为 3 字批次推送,降低前端卡顿
- ChatSaveReq 新增 userId、lang、liked 等 8 个字段并补充 Swagger 注解
- QdrantVectorService 改用 Map<String,JsonWithInt.Value> 载荷,新增 QdrantPayloadMapper 统一转换
|
2025-12-09 14:49:14 +08:00 |
|
|
|
39b19493e2
|
feat(chat): 新增保存润色结果向量接口并重构向量类型
- ChatController 新增 /save_embed 接口,接收 ChatSaveReq 保存用户选中润色句子的向量
- 统一向量参数由 List<Float> 改为 float[],降低 GC 压力
- 向量搜索增加 ≥0.9 相似度过滤,仅返回高置信结果
- 精简 DemoController 测试接口,下线冗余的 testSaveEmbed/testSearch
- 调整 Embedding 模型为 qwen3-embedding-4b,降低资源占用
- 放开 /chat/save_embed 匿名访问,适配前端直调
|
2025-12-08 20:45:15 +08:00 |
|
|
|
f72781d948
|
feat(user): 新增用户注册后默认分配5个人设
|
2025-12-08 18:51:16 +08:00 |
|
|
|
86601e772f
|
feat(chat): 新增聊天润色与向量搜索接口
- ChatController 提供 /chat/talk SSE 流式对话,融合 LLM 输出与 Qdrant 向量检索
- 新增 ChatReq、ChatStreamMessage 等 DTO 与 Service 骨架
- 调整向量维度与集合名称,开放跨域并补充错误码
|
2025-12-08 18:05:27 +08:00 |
|
|
|
a577690499
|
feat(config): 新增异步线程池与WebMvc异步配置并扩展emoji字段支持
|
2025-12-08 14:43:52 +08:00 |
|
|
|
dc855ac33d
|
feat(character): 新增未登录人设列表及详情接口
支持未登录用户按 rank、标签查看人设列表及详情,同步放行新接口并添加请求体缓存过滤器
|
2025-12-04 20:56:32 +08:00 |
|
|
|
db178a66fb
|
feat(user): 新增重置密码接口及DTO
|
2025-12-04 19:24:57 +08:00 |
|
|
|
bb3ddc6b6a
|
feat(user): 新增邮箱验证码发送与校验功能
|
2025-12-04 19:15:56 +08:00 |
|
|
|
ec0ecbdacd
|
fix(character): 修复用户人设关联字段映射错误
将 KeyboardUserCharacterVO 新增 characterId 字段,
并把 ServiceImpl 中两处 getId() 比对改为 getCharacterId(),
确保用户是否已添加的判断逻辑正确。
|
2025-12-04 18:43:39 +08:00 |
|
|
|
fa544a08a9
|
fix(character): 防止用户重复添加相同键盘人设
在添加人设前检查是否已存在,若存在则抛REPEATEDLY_ADDING_CHARACTER异常;
同时移除实体中冗余sort字段,并统一发送验证码DTO为SendMailDTO。
|
2025-12-04 18:31:44 +08:00 |
|
|
|
e18274790e
|
feat(user): 新增邮箱验证码发送接口与校验
- 拆分验证码发送逻辑至独立接口 /sendVerifyMail
- 注册时增加验证码校验与 VERIFY_CODE_ERROR 错误码
- 新增 SendMailDTO 封装邮箱地址参数
|
2025-12-04 17:06:27 +08:00 |
|
|
|
e1ffe3b3c5
|
feat(user): 新增性别字段并补充Swagger注解
在注册DTO中加入gender字段,对应服务层同步设置该属性,同时为原有字段增加@Schema描述,方便前后端联调及接口文档生成。
|
2025-12-04 16:56:00 +08:00 |
|
|
|
155ed398a2
|
refactor(character): 移除冗余Bean拷贝并统一返回VO类型
|
2025-12-04 16:53:23 +08:00 |
|
|
|
dd7cd517f6
|
feat(character): 新增删除用户人设接口
新增 /character/delUserCharacter 接口,仅允许删除当前用户的人设,并在错误码中补充删除失败场景。
|
2025-12-04 16:33:20 +08:00 |
|
|
|
fe19fb8ca2
|
feat(character): 添加用户人设接口及排序管理
新增 /character/addUserCharacter 端点,支持用户将人设加入个人列表并自动维护排序数组。引入 KeyboardUserCharacterAddDTO、KeyboardUserSortMapper 及相关错误码,实现事务级插入与排序更新。
|
2025-12-04 16:17:29 +08:00 |
|
|
|
4e6a5a6e18
|
feat(user): 新增邮箱注册与验证码发送功能
- 新增 UserRegisterDTO 及 /user/register 接口
- 集成 MailerSend,异步发送 6 位验证码邮件
- 添加 RedisUtil 缓存验证码 10 分钟
- 补充 SEND_MAIL_FAILED、CONFIRM_PASSWORD_NOT_MATCH 错误码
- 关闭 Spring Security CSRF 与表单登录,放行 /user/register
- AppleService 移除 @AllArgsConstructor,改用 @Resource 注入
|
2025-12-04 15:22:16 +08:00 |
|
|
|
a7273e4620
|
feat(user): 新增邮箱注册与验证码发送功能
- 新增 UserRegisterDTO 及 /user/register 接口
- 集成 MailerSend,异步发送 6 位验证码邮件
- 添加 RedisUtil 缓存验证码 10 分钟
- 补充 SEND_MAIL_FAILED、CONFIRM_PASSWORD_NOT_MATCH 错误码
- 关闭 Spring Security CSRF 与表单登录,放行 /user/register
- AppleService 移除 @AllArgsConstructor,改用 @Resource 注入
|
2025-12-03 21:48:27 +08:00 |
|
|
|
ba601d329c
|
feat(auth): 集成BCrypt密码加密与错误码扩展
|
2025-12-03 20:20:22 +08:00 |
|
|
|
ecd6dba9bd
|
feat(user): 新增用户详情接口并放开鉴权
|
2025-12-03 20:10:21 +08:00 |
|
|
|
4ffd1f025d
|
fix(service): 将字符排序改为升序
|
2025-12-03 19:59:54 +08:00 |
|
|
|
43d94b2dd9
|
refactor(user): 精简用户信息字段并统一接口路径
删除 KeyboardUserReq 中冗余的 email、emailVerified、token 字段;
将 /user/update 改为 /user/updateInfo 并同步更新 Sa-Token 白名单。
|
2025-12-03 19:39:26 +08:00 |
|
|
|
55aba799b5
|
feat(user): 新增用户信息更新接口
新增 KeyboardUserReq DTO、Mapper updateByuid 方法及对应 XML,支持昵称/性别/头像/邮箱字段动态更新;补充 USER_INFO_UPDATE_FAILED 错误码,并在 UserController 与 UserServiceImpl 实现 updateUserInfo 逻辑。
|
2025-12-03 19:27:24 +08:00 |
|
|
|
c4dbc9e475
|
feat(character): 新增用户人设列表接口并支持邮箱登录
- CharacterController 增加 /listByUser 端点,返回当前用户已购人设
- KeyboardCharacterService 新增 selectListByUserId(),通过 Sa-Token 取当前用户 ID
- 引入 KeyboardUserCharacter 中间表及对应 Mapper、VO
- UserController 增加 /login 端点,支持邮箱+密码登录
- 统一将实体与 VO 的 title 字段更名为 characterName
- 补充错误码 USER_NOT_FOUND,调整 Sa-Token 白名单与 Redis 依赖
|
2025-12-03 16:29:06 +08:00 |
|