From f75496139d661ee4c0550e4e10a86b899371637a Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 29 八月 2025 09:18:52 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0
---
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 230 insertions(+), 0 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 1a7dc72..3d22fa8 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
@@ -1,10 +1,33 @@
package com.dsh.activity.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.activity.entity.BenefitsVideoClassification;
import com.dsh.activity.entity.BenefitsVideos;
+import com.dsh.activity.entity.UserBenefitsVideos;
+import com.dsh.activity.feignclient.account.UserIntegralChangesClient;
+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.*;
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;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -17,4 +40,211 @@
@Service
public class BenefitsVideosServiceImpl extends ServiceImpl<BenefitsVideosMapper, BenefitsVideos> implements BenefitsVideosService {
+ @Autowired
+ private IBenefitsVideoClassificationService benefitsVideoClassificationService;
+
+ @Autowired
+ private IUserBenefitsVideosService userBenefitsVideosService;
+
+ @Resource
+ private CourseClient courseClient;
+
+ @Resource
+ private UserIntegralChangesClient userIntegralChangesClient;
+ @Resource
+ private BenefitsVideosMapper benefitsVideosMapper;
+
+
+ /**
+ * 获取福利视频分类列表数据
+ *
+ * @param uid
+ * @param search
+ * @return
+ * @throws Exception
+ */
+ @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)) {
+ wrapper.like("name", search);
+ }
+
+ List<BenefitsVideoClassification> list = benefitsVideoClassificationService.list(wrapper.eq("state", 1)
+ .orderByDesc("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.orderByAsc("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<>();
+ 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
+ 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());
+ }
+ 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());
+ Integer courseId = Integer.valueOf(benefitsVideo.get("courseId").toString());
+ Integer integral = Integer.valueOf(benefitsVideo.get("integral").toString());
+ Integer study = Integer.valueOf(benefitsVideo.get("study").toString());
+ Course course = courseClient.queryCourseById(courseId);
+ BenefitsVideosListVo benefitsVideosListVo = new BenefitsVideosListVo();
+ benefitsVideosListVo.setId(id);
+ benefitsVideosListVo.setName(course.getName());
+ benefitsVideosListVo.setCover(course.getCoverDrawing());
+ benefitsVideosListVo.setIntroduce(course.getIntroduce());
+ benefitsVideosListVo.setIntegral(integral);
+ benefitsVideosListVo.setStudy(study);
+ lists.add(benefitsVideosListVo);
+ }
+ return lists;
+ }
+
+
+ /**
+ * 获取福利视频详情
+ *
+ * @param uid
+ * @param id
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public BenefitsVideosInfoVo queryBenefitsVideosInfo(Integer uid, Integer id) throws Exception {
+ BenefitsVideos benefitsVideos = this.getById(id);
+ Integer courseId = benefitsVideos.getCourseId();
+ Course course = courseClient.queryCourseById(courseId);
+ BenefitsVideosInfoVo benefitsVideosInfoVo = new BenefitsVideosInfoVo();
+ benefitsVideosInfoVo.setId(id);
+ benefitsVideosInfoVo.setName(course.getName());
+ benefitsVideosInfoVo.setCover(course.getCoverDrawing());
+ benefitsVideosInfoVo.setIntroduce(course.getIntroduce());
+ benefitsVideosInfoVo.setIntroductionDrawing(course.getIntroductionDrawing());
+ benefitsVideosInfoVo.setCourseVideo(course.getCourseVideo());
+ benefitsVideosInfoVo.setIntegral(benefitsVideos.getIntegral());
+ UserBenefitsVideos one = userBenefitsVideosService.getOne(new QueryWrapper<UserBenefitsVideos>().eq("appUserId", uid).eq("benefitsVideosId", id));
+ benefitsVideosInfoVo.setStudy(null == one ? 0 : 1);
+ return benefitsVideosInfoVo;
+ }
+
+
+ /**
+ * 视频观看完毕后获得奖励
+ *
+ * @param uid
+ * @param id
+ * @throws Exception
+ */
+ @Override
+ 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) {
+ one = new UserBenefitsVideos();
+ one.setAppUserId(uid);
+ one.setBenefitsVideoClassificationId(benefitsVideos.getBenefitsVideoClassificationId());
+ one.setBenefitsVideosId(id);
+ one.setInsertTime(new Date());
+ one.setIntegral(benefitsVideos.getIntegral());
+ userBenefitsVideosService.save(one);
+
+ //添加积分
+ SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
+ vo.setAppUserId(uid);
+ vo.setIntegral(benefitsVideos.getIntegral());
+ vo.setType(4);
+ userIntegralChangesClient.saveUserIntegralChanges(vo);
+ }
+ }
+
+ @Override
+ public List<BenefitsVideos> getBenefitVideoById(Integer id, Integer state) {
+ return benefitsVideosMapper.getBenefitVideoById(id, state);
+ }
+
+ @Override
+ public List<BenefitsVideos> getBybIdAndcId(Integer benefitsVideoClassificationId, Integer courseId) {
+ return benefitsVideosMapper.getBybIdAndcId(benefitsVideoClassificationId, courseId);
+ }
+
+
}
--
Gitblit v1.7.1