From 487274f7b8828e5bb7e5efcc914b7a72d63fcf27 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期二, 24 十月 2023 20:20:36 +0800
Subject: [PATCH] 10.24。2

---
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java |   73 +++++++++++++++++++++++++++++++++---
 1 files changed, 67 insertions(+), 6 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 aad419a..4d5589c 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
@@ -10,14 +10,14 @@
 import com.dsh.activity.feignclient.account.model.SaveUserIntegralChangesVo;
 import com.dsh.activity.feignclient.course.CourseClient;
 import com.dsh.activity.feignclient.course.model.Course;
+import com.dsh.activity.mapper.BenefitsVideoClassificationMapper;
 import com.dsh.activity.mapper.BenefitsVideosMapper;
-import com.dsh.activity.model.BenefitsVideoClassificationListVo;
-import com.dsh.activity.model.BenefitsVideosInfoVo;
-import com.dsh.activity.model.BenefitsVideosListVo;
+import com.dsh.activity.model.*;
 import com.dsh.activity.service.BenefitsVideosService;
 import com.dsh.activity.service.IBenefitsVideoClassificationService;
 import com.dsh.activity.service.IUserBenefitsVideosService;
 import com.dsh.activity.util.ToolUtil;
+import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -51,6 +51,10 @@
 
     @Resource
     private UserIntegralChangesClient userIntegralChangesClient;
+    @Autowired
+    private BenefitsVideoClassificationMapper benefitsVideoClassificationMapper;
+    @Autowired
+    private BenefitsVideosMapper benefitsVideosMapper;
 
 
 
@@ -69,6 +73,7 @@
         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());
@@ -78,8 +83,47 @@
             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.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
+    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<BenefitsVideos> list1 = this.list(new QueryWrapper<BenefitsVideos>().eq("state", 1).notIn("id", collect).orderByDesc("insertTime").last(" limit 4"));
+        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();
@@ -99,9 +143,14 @@
 
 
     @Override
-    public List<BenefitsVideosListVo> queryBenefitsVideosList(Integer uid, Integer classificationId, Integer pageSize, Integer pageNo) throws Exception {
+    public List<BenefitsVideosListVo> queryBenefitsVideosList(Integer uid, Integer classificationId, String search, Integer pageSize, Integer pageNo) throws Exception {
         pageSize = (pageSize - 1) * pageNo;
-        List<Map<String, Object>> benefitsVideos = this.baseMapper.queryBenefitsVideosList(uid, classificationId, pageSize, 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);
         List<BenefitsVideosListVo> lists = new ArrayList<>();
         for (Map<String, Object> benefitsVideo : benefitsVideos) {
             Integer id = Integer.valueOf(benefitsVideo.get("id").toString());
@@ -175,4 +224,16 @@
             userIntegralChangesClient.saveUserIntegralChanges(vo);
         }
     }
+
+    @Override
+    public List<BenefitsVideos> getBenefitVideoById(Integer id) {
+        return benefitsVideosMapper.getBenefitVideoById(id);
+    }
+
+    @Override
+    public List<BenefitsVideos> getBybIdAndcId(Integer benefitsVideoClassificationId, Integer courseId) {
+        return  benefitsVideosMapper.getBybIdAndcId(benefitsVideoClassificationId,courseId);
+    }
+
+
 }

--
Gitblit v1.7.1