liujie
2023-09-16 265cbe3cc187758cd024e91e39dfd488d8486a33
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
@@ -103,6 +103,42 @@
        }
        return listVos;
    }
    @Override
    public List<BenefitsVideoClassificationListVo> queryClassificationBenefitsVideosListOne(Integer uid, Integer position, String search) throws Exception {
        QueryWrapper<BenefitsVideoClassification> wrapper = new QueryWrapper<BenefitsVideoClassification>().eq("position", position);
        if(ToolUtil.isNotEmpty(search)){
            wrapper.like("name", search);
        }
        List<BenefitsVideoClassification> list = benefitsVideoClassificationService.list(wrapper.orderByAsc("sort"));
        List<UserBenefitsVideos> userBenefitsVideos = userBenefitsVideosService.list(new QueryWrapper<UserBenefitsVideos>().eq("appUserId", -1));
        List<Integer> collect = userBenefitsVideos.stream().map(UserBenefitsVideos::getBenefitsVideosId).collect(Collectors.toList());
        List<BenefitsVideoClassificationListVo> listVos = new ArrayList<>();
        for (BenefitsVideoClassification benefitsVideoClassification : list) {
            BenefitsVideoClassificationListVo benefitsVideoClassificationListVo = new BenefitsVideoClassificationListVo();
            benefitsVideoClassificationListVo.setId(benefitsVideoClassification.getId());
            benefitsVideoClassificationListVo.setName(benefitsVideoClassification.getName());
            QueryWrapper<BenefitsVideos> benefitsVideosQueryWrapper = new QueryWrapper<BenefitsVideos>().eq("state", 1);
            if(collect.size() > 0){
                benefitsVideosQueryWrapper.notIn("id", collect);
            }
            List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.orderByDesc("insertTime").last(" limit 0, 4"));
            List<BenefitsVideosListVo> lists = new ArrayList<>();
            for (BenefitsVideos benefitsVideos : list1) {
                Integer courseId = benefitsVideos.getCourseId();
                Course course = courseClient.queryCourseById(courseId);
                BenefitsVideosListVo benefitsVideosListVo = new BenefitsVideosListVo();
                benefitsVideosListVo.setId(benefitsVideos.getId());
                benefitsVideosListVo.setName(course.getName());
                benefitsVideosListVo.setCover(course.getCoverDrawing());
                benefitsVideosListVo.setIntroduce(course.getIntroduce());
                lists.add(benefitsVideosListVo);
            }
            benefitsVideoClassificationListVo.setList(lists);
            listVos.add(benefitsVideoClassificationListVo);
        }
        return listVos;
    }
    @Override