| 
					
				 | 
			
			
				@@ -5,7 +5,9 @@ import cn.hutool.json.JSONUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.app.annotation.Login; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.common.annotation.RepeatSubmit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.common.core.domain.R; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.common.utils.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.config.CourseConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.course.domain.FsCourseQuestionBank; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.domain.FsCourseWatchLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.param.FsCourseQuestionAnswerUParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.param.FsCourseSendRewardUParam; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13,15 +15,19 @@ import com.fs.course.param.FsUserCourseVideoFinishUParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.vo.FsUserCourseVideoH5DVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.vo.FsUserCourseVideoH5VO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.course.vo.FsUserCourseVideoQuestionVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.system.service.ISysConfigService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.BeanUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Api("h5课堂接口") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @RestController 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,11 +68,23 @@ public class CourseH5Controller extends  AppBaseController{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CourseConfig config = JSONUtil.toBean(json, CourseConfig.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FsUserCourseVideoH5DVO course = courseService.selectFsUserCourseVideoH5DVOByVideoId(param.getVideoId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<FsUserCourseVideoQuestionVO> questionVOList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNotEmpty(course.getQuestionBankId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String[] questionIds = course.getQuestionBankId().split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (String questionId : questionIds){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                FsUserCourseVideoQuestionVO vo = new FsUserCourseVideoQuestionVO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                FsCourseQuestionBank questionBank = questionBankService.selectFsCourseQuestionBankById(Long.parseLong(questionId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (questionBank!=null&&questionBank.getStatus()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    BeanUtils.copyProperties(questionBank,vo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    questionVOList.add(vo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Long duration = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         long tipsTime = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int isFinish = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (param.getLinkType()!=null&¶m.getLinkType()==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return R.ok().put("course",course).put("config",config).put("playDuration",duration).put("tipsTime",tipsTime).put("maxBufferLength",config.getMaxBufferLength()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return R.ok().put("course",course).put("questions",questionVOList).put("config",config).put("playDuration",duration).put("tipsTime",tipsTime).put("maxBufferLength",config.getMaxBufferLength()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 从Redis中获取观看时长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String redisKey = "h5user:watch:duration:" + param.getQwUserId()+ ":" + param.getQwExternalId() + ":" + param.getVideoId(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -94,8 +112,7 @@ public class CourseH5Controller extends  AppBaseController{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             redisCache.setCacheObject(videoRedisKey,course.getDuration()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return R.ok().put("course",course).put("config",config).put("playDuration",duration).put("tipsTime",tipsTime).put("maxBufferLength",config.getMaxBufferLength()).put("isFinish",isFinish); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return R.ok().put("course",course).put("questions",questionVOList).put("config",config).put("playDuration",duration).put("tipsTime",tipsTime).put("maxBufferLength",config.getMaxBufferLength()).put("isFinish",isFinish);    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |