From 0490f2c5e070322d5a5da3cbecabe183ffbe85f2 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 24 十月 2025 15:21:43 +0800
Subject: [PATCH] 抽奖活动
---
buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java | 165 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 138 insertions(+), 27 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 7d66e4f..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,22 +1,28 @@
package cn.lili.controller.lmk;
-import cn.lili.group.Update;
+import cn.lili.base.Result;
import cn.lili.group.Add;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.security.access.prepost.PreAuthorize;
-import lombok.RequiredArgsConstructor;
-import java.util.List;
-import org.springframework.validation.annotation.Validated;
-import javax.validation.constraints.NotEmpty;
+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.*;
+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.form.VideoForm;
-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 org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
/**
* 瑙嗛鍐呭 鍓嶇鎺у埗鍣�
@@ -32,17 +38,18 @@
public class VideoController {
private final VideoService videoService;
+ private COSUtil cOSUtil;
@PostMapping("/publish")
@ApiOperation(value = "鍙戝竷瑙嗛", notes = "鍙戝竷瑙嗛")
- public Result publish(@RequestBody @Validated({Add.class}) VideoForm form) {
+ public Result publish(@RequestBody @Validated({Add.class}) WxVideoForm form) {
return videoService.publish(form);
}
@PutMapping
- @ApiOperation(value = "淇敼", notes = "淇敼")
- public Result update(@RequestBody @Validated(Update.class) VideoForm form) {
- return videoService.update(form);
+ @ApiOperation(value = "淇敼瑙嗛", notes = "淇敼瑙嗛")
+ public Result update(@RequestBody @Validated(Update.class) WxVideoForm form) {
+ return videoService.updatePublish(form);
}
@DeleteMapping("/{id}")
@@ -51,27 +58,131 @@
return videoService.removeById(id);
}
+ @PostMapping("/down/{id}")
+ @ApiOperation(value = "鐢ㄦ埛涓嬫灦瑙嗛", notes = "鐢ㄦ埛涓嬫灦瑙嗛")
+ public Result downVideo(@PathVariable("id") String id) {
+ return videoService.buyerDownVideo(id);
+ }
+
@DeleteMapping("/batch")
@ApiOperation(value = "鎵归噺鍒犻櫎", notes = "鎵归噺鍒犻櫎")
public Result remove(@RequestBody @NotEmpty(message = "璇烽�夋嫨鏁版嵁") List<String> ids) {
return videoService.remove(ids);
}
- @GetMapping("/page")
- @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
- public Result page(VideoQuery query) {
- return videoService.page(query);
- }
-
@GetMapping("/{id}")
@ApiOperation(value = "璇︽儏", notes = "璇︽儏")
- public Result detail(@PathVariable("id") Integer id) {
+ public Result detail(@PathVariable("id") String id) {
return videoService.detail(id);
}
- @GetMapping("/list")
- @ApiOperation(value = "鍒楄〃", notes = "鍒楄〃")
- public Result list() {
- return videoService.all();
+ @GetMapping("/recommend")
+ @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")
+ @ApiOperation(value = "淇濆瓨瑙傜湅璁板綍", notes = "淇濆瓨瑙傜湅璁板綍")
+ public Result saveViewRecord(@RequestBody VideoFootPrintForm form) {
+ return videoService.saveViewRecord(form);
+ }
+
+ @GetMapping("/author-info/{authorId}")
+ @ApiOperation(value = "鑾峰彇瑙嗛涓婚〉浣滆�呬俊鎭�", notes = "鑾峰彇瑙嗛涓婚〉浣滆�呬俊鎭�")
+ public Result getAuthorInfo(@PathVariable("authorId") String authorId) {
+ return videoService.getAuthorInfo(authorId);
+ }
+
+ @GetMapping("/author-video-page")
+ @ApiOperation(value = "鑾峰彇瑙嗛涓婚〉浣滆�呰棰戝垎椤�", notes = "鑾峰彇瑙嗛涓婚〉浣滆�呰棰戝垎椤�")
+ public Result getAuthorVideoPage(AuthorVideoQuery query) {
+ return videoService.getAuthorVideoPage(query);
+ }
+
+ @GetMapping("/author-collect-video-page")
+ @ApiOperation(value = "鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忕殑瑙嗛鍒嗛〉", notes = "鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忕殑瑙嗛鍒嗛〉")
+ public Result getAuthorCollectVideoPage(AuthorVideoQuery 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")
+ @ApiOperation(value = "淇濆瓨瑙嗛涓婚〉鐨勪釜浜轰俊鎭慨鏀�", notes = "淇濆瓨瑙嗛涓婚〉鐨勪釜浜轰俊鎭慨鏀�")
+ public Result homePageInfoEdit(@RequestBody @Validated VideoHomePageInfoForm form) {
+ return videoService.homePageInfoEdit(form);
+ }
+
+ @GetMapping("/wx/detail/{id}")
+ @ApiOperation(value = "灏忕▼搴�-鑾峰彇瑙嗛璇︽儏", notes = "灏忕▼搴�-鑾峰彇瑙嗛璇︽儏")
+ 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