Просмотр исходного кода

Merge branch 'dev_1_3_3_20220822' of http://git.dayaedu.com/yonge/cooleshow into dev_1_3_3_20220822

liujunchi 2 лет назад
Родитель
Сommit
78509fa286

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupLogDao.java

@@ -10,4 +10,11 @@ public interface VideoLessonGroupLogDao extends BaseDAO<Long, VideoLessonGroupLo
 	Long queryMaxVersion(Long videoLessonGroupId);
 	
 	VideoLessonGroupLog queryByVideoLessonGroupId(@Param("videoLessonGroupId") Long videoLessonGroupId, @Param("version") Long version);
+	
+	/**
+	 * 查询最新上架信息
+	 * @param videoLessonGroupId
+	 * @return
+	 */
+	VideoLessonGroupLog queryLastestShelvesInfo(Long videoLessonGroupId);
 }

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupLogService.java

@@ -8,4 +8,11 @@ public interface VideoLessonGroupLogService extends BaseService<Long, VideoLesso
 	Long queryMaxVersion(Long videoLessonGroupId);
 	
 	VideoLessonGroupLog queryByVideoLessonGroupId(Long videoLessonGroupId, Long version);
+	
+	/**
+	 * 查询最新上架信息
+	 * @param videoLessonGroupId
+	 * @return
+	 */
+	VideoLessonGroupLog queryLastestShelvesInfo(Long videoLessonGroupId);
 }

+ 35 - 22
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupDetailServiceImpl.java

@@ -1,10 +1,23 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDao;
+import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonPurchaseRecordDao;
 import com.yonge.cooleshow.biz.dal.dto.search.OrderSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
@@ -12,26 +25,21 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
-import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
-
-import com.yonge.cooleshow.biz.dal.entity.VideoLessonPurchaseRecord;
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupLog;
 import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.UserOrderService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
-import com.yonge.cooleshow.biz.dal.vo.*;
-import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.utils.obj.ObjectUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-import org.springframework.beans.factory.annotation.Autowired;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.*;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupLogService;
+import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailUpVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
+import com.yonge.toolset.utils.json.JsonUtil;
 
 /**
  * VideoLessonGroupDetailService服务实现类
@@ -52,6 +60,9 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
     private VideoLessonPurchaseRecordDao videoLessonPurchaseRecordDao;
     @Autowired
     private UserOrderService orderService;
+    
+    @Autowired
+    private VideoLessonGroupLogService videoLessonGroupLogService;
 
     @Autowired
     private TeacherService teacherService;
@@ -169,11 +180,13 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
         VideoLessonGroupSearch query = new VideoLessonGroupSearch();
         //筛选已审核的视频课
         query.setGroupId(groupId);
-        List<VideoLessonGroupVo> lessonGroup = videoLessonGroupDao.selectPage(null, query);
-        if (lessonGroup.isEmpty()){
-            return lessonStudentVo;
-        }
-        VideoLessonGroupVo videoLessonGroupVo = lessonGroup.get(0);
+
+        VideoLessonGroupVo videoLessonGroupVo = new VideoLessonGroupVo();
+        VideoLessonGroupLog videoLessonGroupLog = videoLessonGroupLogService.queryLastestShelvesInfo(groupId);
+        
+        BeanUtils.copyProperties(videoLessonGroupLog, videoLessonGroupVo);
+        
+        videoLessonGroupVo.setId(videoLessonGroupLog.getVideoLessonGroupId());
 
         Teacher teacher = teacherService.getById(videoLessonGroupVo.getTeacherId());
         if (teacher != null) {
@@ -185,7 +198,7 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
 
         VideoLessonSearch search = new VideoLessonSearch();
         search.setVideoLessonGroupId(groupId);
-        lessonStudentVo.setDetailList(videoLessonGroupDetailDao.selectPage(null, search));
+        lessonStudentVo.setDetailList(JsonUtil.parseArray(videoLessonGroupLog.getVideoDetailJson(), VideoLessonGroupDetail.class));
         return lessonStudentVo;
     }
 

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupLogServiceImpl.java

@@ -29,5 +29,10 @@ public class VideoLessonGroupLogServiceImpl extends BaseServiceImpl<Long, VideoL
 	public VideoLessonGroupLog queryByVideoLessonGroupId(Long videoLessonGroupId, Long version) {
 		return videoLessonGroupLogDao.queryByVideoLessonGroupId(videoLessonGroupId, version);
 	}
+
+	@Override
+	public VideoLessonGroupLog queryLastestShelvesInfo(Long videoLessonGroupId) {
+		return videoLessonGroupLogDao.queryLastestShelvesInfo(videoLessonGroupId);
+	}
 	
 }

+ 5 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupLogMapper.xml

@@ -158,4 +158,9 @@
 	<select id="queryByVideoLessonGroupId" resultMap="BaseResultMap">
 		SELECT * FROM video_lesson_group_log where video_lesson_group_id_ = #{videoLessonGroupId} and version_ = #{version}
 	</select>
+	
+	<select id="queryLastestShelvesInfo" resultMap="BaseResultMap">
+		SELECT gg.* FROM video_lesson_auth_record ar left join video_lesson_group_log gg on ar.video_group_id_ = gg.video_lesson_group_id_ and ar.version_ = gg.version_
+		where ar.video_group_id_ = #{videoLessonGroupId} and ar.audit_status_ = 'PASS' order by ar.version_ desc limit 1
+	</select>
 </mapper>

+ 15 - 10
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/VideoLessonController.java

@@ -1,31 +1,36 @@
 package com.yonge.cooleshow.student.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import javax.validation.constraints.NotNull;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonEvaluateSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonEvaluate;
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonEvaluateService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
-import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.LessonGroupVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonEvaluateVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.page.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.constraints.NotNull;
+import com.yonge.toolset.mybatis.support.PageUtil;
 
 /**
  * @Author: cy