feat(app): 收藏与观看历史支持分页

This commit is contained in:
Zhou Weidong committed 2026-10-22 12:23:43 +08:00
1 parent ec15950851
commit 71b0c7315a
11 files changed
+672 -37

No files matched your search

@@ -4,7 +4,9 @@ package com.fruitshorts.app.controller;
import com.fruitshorts.app.service.AppCatalogService;
import com.fruitshorts.app.vo.AppDramaCardVO;
import com.fruitshorts.common.pojo.PageResult;
import com.fruitshorts.common.pojo.Result;
import com.fruitshorts.content.dal.entity.Drama;
import com.fruitshorts.framework.security.SecurityUtils;
import com.fruitshorts.playback.service.FavoriteService;
import com.fruitshorts.playback.vo.FavoriteToggleReqVO;
@@ -18,10 +20,9 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** 收藏。 */
@Tag(name = "客户端-收藏")
@RestController
@@ -42,9 +43,13 @@ public class AppFavoriteController {
/** 收藏列表,卡片结构与首页一致。 */
@Operation(summary = "我的收藏列表")
@GetMapping
public Result<List<AppDramaCardVO>> list() {
return Result.ok(appCatalogService.toCards(
favoriteService.listDramas(SecurityUtils.getAppUserId())));
public Result<PageResult<AppDramaCardVO>> list(
@RequestParam(defaultValue = "1") int pageIndex,
@RequestParam(defaultValue = "20") int pageSize) {
PageResult<Drama> page = favoriteService.page(
SecurityUtils.getAppUserId(), pageIndex, pageSize);
return Result.ok(new PageResult<>(
page.getTotal(), appCatalogService.toCards(page.getList())));
}
@Operation(summary = "取消收藏")
@@ -2,6 +2,7 @@
package com.fruitshorts.app.controller;
import com.fruitshorts.common.pojo.PageResult;
import com.fruitshorts.common.pojo.Result;
import com.fruitshorts.framework.security.SecurityUtils;
import com.fruitshorts.playback.service.WatchProgressService;
@@ -20,8 +21,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** 观看进度与观看记录。 */
@Tag(name = "客户端-观看进度")
@RestController
@@ -47,8 +46,17 @@ public class AppWatchController {
@Operation(summary = "最近观看列表")
@GetMapping("/recent")
public Result<List<ProgressRespVO>> recent(@RequestParam(defaultValue = "20") int limit) {
return Result.ok(progressService.recent(SecurityUtils.getAppUserId(), limit));
public Result<?> recent(
@RequestParam(required = false) Integer limit,
@RequestParam(defaultValue = "1") int pageIndex,
@RequestParam(defaultValue = "20") int pageSize) {
Long userId = SecurityUtils.getAppUserId();
if (limit != null) {
return Result.ok(progressService.recent(userId, limit));
}
PageResult<ProgressRespVO> page = progressService.recentPage(
userId, pageIndex, pageSize);
return Result.ok(page);
}
@Operation(summary = "删除某部剧的观看记录")