zxl
2 天以前 1b992addb4f4fc78b19748927bdefa32df239842
buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java
@@ -1,20 +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.*;
import org.springframework.validation.annotation.Validated;
import lombok.RequiredArgsConstructor;
import java.util.List;
import javax.validation.constraints.NotEmpty;
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 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;
/**
 * 视频内容 前端控制器
@@ -30,6 +38,7 @@
public class VideoController {
    private final VideoService videoService;
    private COSUtil cOSUtil;
    @PostMapping("/publish")
    @ApiOperation(value = "发布视频", notes = "发布视频")
@@ -38,7 +47,7 @@
    }
    @PutMapping
    @ApiOperation(value = "修改", notes = "修改")
    @ApiOperation(value = "修改视频", notes = "修改视频")
    public Result update(@RequestBody @Validated(Update.class) WxVideoForm form) {
        return videoService.updatePublish(form);
    }
@@ -115,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")
@@ -129,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);
    }
}