From 134f5b1aedeb90b9f7a71dc41e8f08e96bcb3f85 Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期二, 29 七月 2025 11:46:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 94 insertions(+), 12 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java index a1fba30..b026d4d 100644 --- a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java +++ b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java @@ -1,21 +1,28 @@ package cn.lili.controller.lmk; -import cn.lili.group.Update; +import cn.lili.base.Result; import cn.lili.group.Add; +import cn.lili.group.Update; +import cn.lili.modules.lmk.domain.form.ThumbsUpRecordForm; import cn.lili.modules.lmk.domain.form.VideoFootPrintForm; import cn.lili.modules.lmk.domain.form.VideoHomePageInfoForm; import cn.lili.modules.lmk.domain.form.WxVideoForm; -import cn.lili.modules.lmk.domain.query.AuthorVideoQuery; -import org.springframework.validation.annotation.Validated; -import lombok.RequiredArgsConstructor; -import java.util.List; -import javax.validation.constraints.NotEmpty; +import cn.lili.modules.lmk.domain.query.*; +import cn.lili.modules.lmk.domain.vo.WxVideoVO; +import cn.lili.modules.lmk.service.VideoService; +import cn.lili.utils.COSUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import cn.lili.modules.lmk.service.VideoService; -import cn.lili.base.Result; -import cn.lili.modules.lmk.domain.query.VideoQuery; +import lombok.RequiredArgsConstructor; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; /** * 瑙嗛鍐呭 鍓嶇鎺у埗鍣� @@ -31,6 +38,7 @@ public class VideoController { private final VideoService videoService; + private COSUtil cOSUtil; @PostMapping("/publish") @ApiOperation(value = "鍙戝竷瑙嗛", notes = "鍙戝竷瑙嗛") @@ -39,15 +47,21 @@ } @PutMapping - @ApiOperation(value = "淇敼", notes = "淇敼") + @ApiOperation(value = "淇敼瑙嗛", notes = "淇敼瑙嗛") public Result update(@RequestBody @Validated(Update.class) WxVideoForm form) { - return videoService.update(form); + return videoService.updatePublish(form); } @DeleteMapping("/{id}") @ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎") public Result removeById(@PathVariable("id") String id) { return videoService.removeById(id); + } + + @PostMapping("/down/{id}") + @ApiOperation(value = "鐢ㄦ埛涓嬫灦瑙嗛", notes = "鐢ㄦ埛涓嬫灦瑙嗛") + public Result downVideo(@PathVariable("id") String id) { + return videoService.buyerDownVideo(id); } @DeleteMapping("/batch") @@ -66,6 +80,27 @@ @ApiOperation(value = "瑙嗛鎺ㄨ崘", notes = "瑙嗛鎺ㄨ崘") public Result recommendVideo(VideoQuery query) { return videoService.recommendVideo(query); + } + @GetMapping("/health/recommend") + @ApiOperation(value = "澶у仴搴疯棰戞帹鑽�", notes = "澶у仴搴疯棰戞帹鑽�") + public Result healthRecommendVideo(WxHealthVideoQuery query) { + return videoService.healthRecommendVideo(query); + } + @GetMapping("/kitchen/type") + @ApiOperation(value = "鍘ㄧ瑙嗛绫诲瀷鍒楄〃", notes = "鍘ㄧ瑙嗛绫诲瀷鍒楄〃") + public Result kitchenTypeList() { + return videoService.kitchenTypeList(); + } + + @GetMapping("/kitchen/recommend") + @ApiOperation(value = "鍘ㄧ瑙嗛鎺ㄨ崘", notes = "鍘ㄧ瑙嗛鎺ㄨ崘") + public Result kitchenRecommendVideo(WxKitchenVideoQuery query) { + return videoService.kitchenRecommendVideo(query); + } + @GetMapping("/goods/detail/{videoId}") + @ApiOperation(value = "瑙嗛鍟嗗搧鏌ョ湅", notes = "瑙嗛鍟嗗搧鏌ョ湅") + public Result getGoodsDetail(@PathVariable("videoId") String videoId) { + return videoService.getGoodsDetail(videoId); } @PostMapping("/view/record") @@ -89,7 +124,30 @@ @GetMapping("/author-collect-video-page") @ApiOperation(value = "鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忕殑瑙嗛鍒嗛〉", notes = "鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忕殑瑙嗛鍒嗛〉") public Result getAuthorCollectVideoPage(AuthorVideoQuery query) { - return videoService.getAuthorCollectVideoPage(query); + Result result = videoService.getAuthorCollectVideoPage(query); + List<WxVideoVO> list = Optional.ofNullable(result.get("data")) + .filter(data -> data instanceof List<?>) + .map(data -> (List<?>) data) + .orElse(Collections.emptyList()) + .stream() + .filter(WxVideoVO.class::isInstance) + .map(WxVideoVO.class::cast) + .collect(Collectors.toList()); + for (WxVideoVO wxVideoVO : list){ + if (!CollectionUtils.isEmpty(wxVideoVO.getImgs())){ + List<String> newImages = wxVideoVO + .getImgs().stream().map(item -> cOSUtil.getPreviewUrl(item)).collect(Collectors.toList()); + wxVideoVO.setImgs(newImages); + } + + } + return result; + } + + @GetMapping("/author-like-video-page") + @ApiOperation(value = "鑾峰彇瑙嗛涓婚〉浣滆�呯偣璧炵殑瑙嗛鍒嗛〉", notes = "鑾峰彇瑙嗛涓婚〉浣滆�呯偣璧炵殑瑙嗛鍒嗛〉") + public Result getAuthorLikeVideoPage(AuthorVideoQuery query) { + return videoService.getAuthorLikeVideoPage(query); } @PostMapping("/home-page-info-edit") @@ -103,4 +161,28 @@ public Result wxDetail(@PathVariable("id") String id) { return videoService.wxDetail(id); } + + @PostMapping("/change/thumbs-up") + @ApiOperation(value = "鐐硅禐/鍙栨秷鐐硅禐瑙嗛", notes = "鐐硅禐/鍙栨秷鐐硅禐瑙嗛") + public Result changeThumbsUp(@RequestBody @Validated(Add.class) ThumbsUpRecordForm form) { + return videoService.changeThumbsUp(form); + } + + @GetMapping("/es/search") + @ApiOperation(value = "瑙嗛鎼滅储", notes = "瑙嗛鎼滅储") + public Result esSearch(VideoEsQuery query) { + return videoService.esSearch(query); + } + + @PostMapping("/goods/similarly") + @ApiOperation(value = "鎸傜浉鍚屽晢鍝佺殑瑙嗛", notes = "鎸傜浉鍚屽晢鍝佺殑瑙嗛") + public Result goodsSimilarly(@RequestBody VideoQuery query) { + return videoService.recommendVideo(query); + } + + @GetMapping("/history") + @ApiOperation(value = "鑾峰彇鍘嗗彶鎾斁璁板綍") + public Result getHistoryPage(VideoHistoryQuery query) { + return videoService.getHistoryPage(query); + } } -- Gitblit v1.8.0