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