From b21fb4c288c98971f9859cf5d85cef4c86e131bb Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 08 十二月 2023 14:46:21 +0800
Subject: [PATCH] 12.8
---
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 84 insertions(+), 13 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..ad94125 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,13 +51,15 @@
@Resource
private UserIntegralChangesClient userIntegralChangesClient;
-
-
-
+ @Autowired
+ private BenefitsVideoClassificationMapper benefitsVideoClassificationMapper;
+ @Autowired
+ private BenefitsVideosMapper benefitsVideosMapper;
/**
* 获取福利视频分类列表数据
+ *
* @param uid
* @param search
* @return
@@ -66,11 +68,53 @@
@Override
public List<BenefitsVideoClassificationListVo> queryClassificationBenefitsVideosList(Integer uid, Integer position, String search) throws Exception {
QueryWrapper<BenefitsVideoClassification> wrapper = new QueryWrapper<BenefitsVideoClassification>().eq("position", position);
- if(ToolUtil.isNotEmpty(search)){
+ 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", uid));
+ 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<>();
@@ -78,8 +122,11 @@
BenefitsVideoClassificationListVo benefitsVideoClassificationListVo = new BenefitsVideoClassificationListVo();
benefitsVideoClassificationListVo.setId(benefitsVideoClassification.getId());
benefitsVideoClassificationListVo.setName(benefitsVideoClassification.getName());
-
- List<BenefitsVideos> list1 = this.list(new QueryWrapper<BenefitsVideos>().eq("state", 1).notIn("id", collect).orderByDesc("insertTime").last(" limit 4"));
+ 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 +146,19 @@
@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());
+ }
+ 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());
@@ -124,6 +181,7 @@
/**
* 获取福利视频详情
+ *
* @param uid
* @param id
* @return
@@ -150,6 +208,7 @@
/**
* 视频观看完毕后获得奖励
+ *
* @param uid
* @param id
* @throws Exception
@@ -158,7 +217,7 @@
public void receiveAward(Integer uid, Integer id) throws Exception {
BenefitsVideos benefitsVideos = this.getById(id);
UserBenefitsVideos one = userBenefitsVideosService.getOne(new QueryWrapper<UserBenefitsVideos>().eq("appUserId", uid).eq("benefitsVideosId", id));
- if(null == one){
+ if (null == one) {
one = new UserBenefitsVideos();
one.setAppUserId(uid);
one.setBenefitsVideoClassificationId(benefitsVideos.getBenefitsVideoClassificationId());
@@ -175,4 +234,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