zxl
2 天以前 762eba0553917215d158eac8575ac0437c3216a7
framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java
@@ -3,11 +3,18 @@
import cn.lili.common.enums.CollectTypeEnum;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
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.MySubscribeService;
import cn.lili.modules.lmk.service.VideoService;
import cn.lili.modules.member.entity.vo.GoodsCollectionVO;
import cn.lili.modules.member.service.GoodsCollectionService;
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;
@@ -18,15 +25,19 @@
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.context.annotation.Lazy;
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.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -43,7 +54,8 @@
    private final RocketmqCustomProperties rocketmqCustomProperties;
    private final LmkFileServiceImpl fileService;
    private final RocketMQTemplate rocketMQTemplate;
    private final VideoServiceMakeUpImpl serviceMakeUp;
    private final GoodsCollectionService goodsCollectionService;
    /**
     * 收藏/取消收藏
@@ -156,6 +168,9 @@
    @Override
    public List<SimpleMyCollectVO> getCollectsByVideoIds(List<String> videoIds) {
        if (videoIds == null || videoIds.isEmpty()) {
            return new ArrayList<>();
        }
        return baseMapper.getCollectsByVideoIds(videoIds, UserContext.getCurrentUserId());
    }
@@ -179,16 +194,23 @@
                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)
                    .collect(Collectors.toList());
            for (VideoVO video : videoList) {
                video.setCoverUrl(fileService.getPreviewUrl(video.getCoverUrl()));
            }
            AuthorVideoQuery videoQuery = new AuthorVideoQuery();
            videoQuery.setAuthorId(UserContext.getCurrentUserId());
            videoQuery.setAuthorSelf(true);
            videoQuery.setPageSize(query.getPageSize());
            videoQuery.setPageNumber(query.getPageNumber());
            return serviceMakeUp.getAuthorCollectVideoPage(videoQuery);
        }else if (CollectTypeEnum.goods.getType().equals(query.getType())) {
            baseMapper.getGoodsCollectPage(page, userId);
            PageVO pageVo = new PageVO();
            pageVo.setPageSize((int) query.getPageSize());
            pageVo.setPageNumber((int) query.getPageNumber());
            IPage<GoodsCollectionVO> goodsCollectionVOIPage = goodsCollectionService.goodsCollection(pageVo);
            for (GoodsCollectionVO goodsCollectionVO : goodsCollectionVOIPage.getRecords()) {
                goodsCollectionVO.setImage(fileService.getPreviewUrl(goodsCollectionVO.getImage()));
            }
            return Result.ok().data(goodsCollectionVOIPage.getRecords()).total(goodsCollectionVOIPage.getTotal());
        }