From a9564eae9f0169ca39329b2f14a8f13d13358a0a Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 17 十一月 2023 15:28:44 +0800
Subject: [PATCH] 11.7

---
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 47 insertions(+), 1 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
index 54e5111..7e01224 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java
+++ b/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());

--
Gitblit v1.7.1