From 2b0fa71c404cfdf7e972225c7249155b039413e9 Mon Sep 17 00:00:00 2001
From: ziin
Date: Tue, 23 Dec 2025 13:53:53 +0800
Subject: [PATCH] [Claude Code] After prompt #0
---
.../com/yolo/keyborad/controller/ThemesController.java | 4 ++--
.../yolo/keyborad/service/KeyboardThemesService.java | 2 +-
.../service/impl/KeyboardThemesServiceImpl.java | 10 ++++++++--
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/yolo/keyborad/controller/ThemesController.java b/src/main/java/com/yolo/keyborad/controller/ThemesController.java
index 23bbbcc..e4e203c 100644
--- a/src/main/java/com/yolo/keyborad/controller/ThemesController.java
+++ b/src/main/java/com/yolo/keyborad/controller/ThemesController.java
@@ -85,9 +85,9 @@ public class ThemesController {
@GetMapping("/recommended")
@Operation(summary = "推荐主题列表", description = "按真实下载数量降序返回推荐主题")
- public BaseResponse> getRecommendedThemes() {
+ public BaseResponse> getRecommendedThemes(@RequestParam Long themeId) {
Long userId = StpUtil.getLoginIdAsLong();
- List result = themesService.getRecommendedThemes(userId);
+ List result = themesService.getRecommendedThemes(userId, themeId);
return ResultUtils.success(result);
}
diff --git a/src/main/java/com/yolo/keyborad/service/KeyboardThemesService.java b/src/main/java/com/yolo/keyborad/service/KeyboardThemesService.java
index 6c2ffc3..6319ca0 100644
--- a/src/main/java/com/yolo/keyborad/service/KeyboardThemesService.java
+++ b/src/main/java/com/yolo/keyborad/service/KeyboardThemesService.java
@@ -34,7 +34,7 @@ public interface KeyboardThemesService extends IService{
* @param userId 用户ID
* @return 推荐主题列表
*/
- List getRecommendedThemes(Long userId);
+ List getRecommendedThemes(Long userId,Long themeId);
/**
* 根据主题名称模糊搜索主题
diff --git a/src/main/java/com/yolo/keyborad/service/impl/KeyboardThemesServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/KeyboardThemesServiceImpl.java
index a18cd02..e13a117 100644
--- a/src/main/java/com/yolo/keyborad/service/impl/KeyboardThemesServiceImpl.java
+++ b/src/main/java/com/yolo/keyborad/service/impl/KeyboardThemesServiceImpl.java
@@ -118,12 +118,13 @@ public class KeyboardThemesServiceImpl extends ServiceImpl推荐规则:根据真实下载量降序排序,排除用户已购买的主题,最多返回8个主题
+ 推荐规则:根据真实下载量降序排序,排除用户已购买的主题和当前查看的主题,最多返回8个主题
@param userId 用户ID
+ @param themeId 当前主题ID,需要从推荐列表中排除
* @return 推荐主题列表,包含主题详情和购买状态(推荐列表中的主题购买状态均为未购买)
*/
- public List getRecommendedThemes(Long userId) {
+ public List getRecommendedThemes(Long userId, Long themeId) {
// 查询用户已购买的主题ID集合
Set purchasedThemeIds = purchaseService.lambdaQuery()
.eq(KeyboardThemePurchase::getUserId, userId)
@@ -139,6 +140,11 @@ public class KeyboardThemesServiceImpl extends ServiceImpl