|
@@ -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); }
|
|
|
|
|
|
|
|
|
|