44323
2023-11-23 acad524bfb7f376c09ff8e6600fab207780156e1
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
@@ -73,8 +73,49 @@
        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", uid));
        List<Integer> collect = userBenefitsVideos.stream().map(UserBenefitsVideos::getBenefitsVideosId).collect(Collectors.toList());
        List<BenefitsVideoClassificationListVo> listVos = new ArrayList<>();
        for (BenefitsVideoClassification benefitsVideoClassification : list) {
            if (benefitsVideoClassification.getState() == 1) {
                BenefitsVideoClassificationListVo benefitsVideoClassificationListVo = new BenefitsVideoClassificationListVo();
                benefitsVideoClassificationListVo.setId(benefitsVideoClassification.getId());
                benefitsVideoClassificationListVo.setName(benefitsVideoClassification.getName());
                QueryWrapper<BenefitsVideos> benefitsVideosQueryWrapper = new QueryWrapper<BenefitsVideos>().eq("state", 1).eq("benefitsVideoClassificationId", benefitsVideoClassification.getId());
                if (collect.size() > 0) {
                    benefitsVideosQueryWrapper.notIn("id", collect);
                }
                List<BenefitsVideos> list1 = this.list(benefitsVideosQueryWrapper.eq("state",1).orderByDesc("insertTime").last(" limit 0, 4"));
                List<BenefitsVideosListVo> lists = new ArrayList<>();
                for (BenefitsVideos benefitsVideos : list1) {
                    if (benefitsVideos.getState()==1) {
                        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
    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<>();
@@ -109,11 +150,16 @@
    public List<BenefitsVideosListVo> queryBenefitsVideosList(Integer uid, Integer classificationId, String search, Integer pageSize, Integer pageNo) throws Exception {
        pageSize = (pageSize - 1) * pageNo;
        List<Integer> ids = null;
        if(ToolUtil.isNotEmpty(search)){
            List<Course> courses = courseClient.queryCourseByName(search);
            ids = courses.stream().map(Course::getId).collect(Collectors.toList());
        }
        List<Map<String, Object>> benefitsVideos = this.baseMapper.queryBenefitsVideosList(uid, classificationId, ids, pageSize, pageNo);
        int offset = (pageNo - 1) * pageSize;
        int limit = pageSize;
        List<Map<String, Object>> benefitsVideos = this.baseMapper.queryBenefitsVideosList(uid, classificationId, ids, offset, limit);
        List<BenefitsVideosListVo> lists = new ArrayList<>();
        for (Map<String, Object> benefitsVideo : benefitsVideos) {
            Integer id = Integer.valueOf(benefitsVideo.get("id").toString());