| | |
| | | import cn.lili.common.properties.RocketmqCustomProperties; |
| | | import cn.lili.common.security.context.UserContext; |
| | | import cn.lili.modules.goods.entity.vos.GoodsVO; |
| | | import cn.lili.modules.lmk.domain.query.AuthorVideoQuery; |
| | | import cn.lili.modules.lmk.domain.vo.*; |
| | | import cn.lili.modules.lmk.service.VideoService; |
| | | import cn.lili.rocketmq.RocketmqSendCallbackBuilder; |
| | | import cn.lili.rocketmq.tags.CommentTagsEnum; |
| | | import cn.lili.rocketmq.tags.VideoTagsEnum; |
| | | import cn.lili.utils.COSUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import cn.lili.modules.lmk.domain.entity.MyCollect; |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import cn.lili.modules.lmk.domain.form.MyCollectForm; |
| | | import cn.lili.modules.lmk.domain.query.MyCollectQuery; |
| | | import com.xkcoding.http.util.StringUtil; |
| | | import org.apache.rocketmq.spring.core.RocketMQTemplate; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import lombok.RequiredArgsConstructor; |
| | | import cn.lili.utils.PageUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.util.Assert; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | private final RocketmqCustomProperties rocketmqCustomProperties; |
| | | private final LmkFileServiceImpl fileService; |
| | | private final RocketMQTemplate rocketMQTemplate; |
| | | private VideoService videoService; // 移除了final |
| | | private COSUtil cOSUtil; |
| | | |
| | | @Autowired |
| | | public void setVideoService(VideoService videoService) { |
| | | // 这里可以添加额外的初始化逻辑 |
| | | this.videoService = videoService; |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | activityVO.setUrl(fileService.getPreviewUrl(activityVO.getCover())); |
| | | } |
| | | }else if (CollectTypeEnum.video.getType().equals(query.getType())) { |
| | | baseMapper.getVideoCollectPage(page, userId); |
| | | List<VideoVO> videoList = page.getRecords().stream() |
| | | .filter(obj -> obj instanceof VideoVO) |
| | | .map(obj -> (VideoVO) obj) |
| | | AuthorVideoQuery videoQuery = new AuthorVideoQuery(); |
| | | videoQuery.setAuthorId(UserContext.getCurrentUserId()); |
| | | videoQuery.setAuthorSelf(true); |
| | | videoQuery.setPageSize(query.getPageSize()); |
| | | |
| | | videoQuery.setPageNumber(query.getPageNumber()); |
| | | Result result = videoService.getAuthorCollectVideoPage(videoQuery); |
| | | 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 (VideoVO video : videoList) { |
| | | video.setCoverUrl(fileService.getPreviewUrl(video.getCoverUrl())); |
| | | 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; |
| | | }else if (CollectTypeEnum.goods.getType().equals(query.getType())) { |
| | | baseMapper.getGoodsCollectPage(page, userId); |
| | | |