Jelajahi Sumber

【Fix】修复视频课程开发缺陷

liuxiangxin 2 bulan lalu
induk
melakukan
b4478ff8e9

+ 5 - 0
app/Http/Controllers/Admin/VideoCourse.php

@@ -26,12 +26,14 @@ class VideoCourse extends Auth{
 		// 接受参数
 		$name					= request('name','');
 		$status					= request('status');
+		$typeId					= request('type_id',0);
 		$startTime				= request('start_time','');
 		$endTime				= request('end_time','');
 		// 查询条件
 		$map 					= [];
 		// 编码ID
 		if( $name )				$map[] = ['name','LIKE','%'.$name.'%'];
+		if( $typeId )			$map[] = ['type_id','=',$typeId];
 		if( $startTime )		$map[] = ['insert_time','>=',strtotime($startTime)];
 		if( $endTime )			$map[] = ['insert_time','<=',strtotime($endTime)];
 		if( !is_null($status) )	$map[] = ['status','=',$status];
@@ -44,8 +46,11 @@ class VideoCourse extends Auth{
 			// 重组
 			$list[$key]			= $value;
 		}
+		// 获取类型列表
+		$typeList					= $CourseType->getList();
 		// 分配数据
 		$this->assign('empty', '<tr><td colspan="20">~~暂无数据</td></tr>');
+		$this->assign('typeList',$typeList);
 		$this->assign('list', $list);
 		// 加载模板
 		return					$this->fetch();

+ 2 - 2
app/Http/Controllers/Api/Video/Course.php

@@ -84,9 +84,9 @@ class Course extends Api{
 		// 用户是否点赞和推荐
 		$courseData['thumb']			= $courseData['thumb'] ? path_compat($courseData['thumb']) : '';
 		// 获取用户学习进度
-		$courseData['inittime'] 		= (int)$LearnRecord->query()->where([['course_id','=',$id],['custom_uid','=',$uid]])->orderByDesc('id')->value('video_lasttime');
+		$courseData['inittime'] 		= 0;//(int)$LearnRecord->query()->where([['course_id','=',$id],['custom_uid','=',$uid],['status','=',0]])->orderByDesc('id')->value('video_lasttime');
 		// 查询是不是有记录在使用中
-		$oldRecordId			 		= $LearnRecord->query()->where([['custom_uid','=',$uid],['course_id','=',$id],['status','=',0],['video_lasttime','=',0]])->value('id');
+		$oldRecordId			 		= $LearnRecord->query()->where([['custom_uid','=',$uid],['course_id','=',$id],['status','=',0]])->value('id');
 		// 查询课程数据
 		$questionList					= $LearnQuestion->getList($id);
 		// 以时间排序

+ 1 - 1
app/Http/Controllers/Api/Video/ExamQuestion.php

@@ -19,7 +19,7 @@ class ExamQuestion extends Api{
      */
     public function get_list(Model $Model,VideoQuestion $VideoQuestion,VideoAnswer $VideoAnswer,ExamRecord $ExamRecord){
         // 用户登录
-        $uid                        = 2;//$this->checkLogin();
+        $uid                        = $this->checkLogin();
         // 接收参数
         $data['course_id']			= request('course_id',0);
         $data['custom_uid']			= $uid;

+ 3 - 5
app/Http/Controllers/Api/Video/ExamRecord.php

@@ -60,10 +60,8 @@ class ExamRecord extends Api{
 			if( $temp['is_answer'] )	{
 				// 查询该用户该课程该题答题记录
 				$answerRecord			= $ExamAnswer->query()->where([['custom_uid','=',$uid],['course_id','=',$record['course_id']],['question_id','=',$value['question_id']]])->first();;
-				// 如果有的答题记录,不再给分
-				if( $answerRecord )		continue;
-				// 获取积分
-				$temp['get_score']		= $temp['score'];
+				// 如果有的答题记录,不再给分,没有答过题则给分
+				if( !$answerRecord )	$temp['get_score'] = $temp['score'];
 			}
 			// 时间
 			$temp['insert_time']		= $data['end_time'];
@@ -78,7 +76,7 @@ class ExamRecord extends Api{
         // 查询答题数量
         $data['answer_total']  			= count($insertList);
 		// 查询答对数量
-        $data['isanswer_total']			= count(array_column($insertList,'is_answer'));
+        $data['isanswer_total']			= array_sum(array_column($insertList,'is_answer'));
         // 查询答题总积分
         $data['get_score']     			= (int) array_sum(array_column($insertList,'get_score'));
 

+ 1 - 1
app/Http/Controllers/Api/Video/LearnRecord.php

@@ -43,7 +43,7 @@ class LearnRecord extends Api{
 		$uid 					= $this->checkLogin();
 		// 接收参数
 		$id						= request('record_id',0);
-		$data['video_lasttime']	= request('video_playtime',0);
+		$data['video_lasttime']	= (int) ceil(request('video_playtime',0));
 		$data['status']			= request('status',0);
 		$data['end_time']		= time();
 		// 查询播放记录

+ 15 - 0
resources/views/admin/video_course/index.blade.php

@@ -12,6 +12,21 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-12" style="margin-right: 2px;">
 		<input type="text" class="form-control" name="name" value="{{request('name','')}}" placeholder="请输入课程标题查询" />
 	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-12" style="margin-right: 2px;">
+		<select class="form-control" name="type_id" >
+			<option value="0" >课程类型</option>
+			@foreach ($typeList as $value)
+				<option value="{{$value['id']}}" @if( $value['id'] == request('type_id','') )  selected @endif >{{$value['name']}}</option>
+			@endforeach
+		</select>
+	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-12" style="margin-right: 2px;">
+		<select class="form-control" name="status" >
+			<option value="" >课程状态</option>
+			<option value="0" @if( !is_null(request('status')) && request('status',0) == 0 )  selected @endif >启用</option>
+			<option value="1" @if( !is_null(request('status')) && request('status',0) == 1 )  selected @endif >停用</option>
+		</select>
+	</div>
 	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-12" style="margin-right: 2px;">
 		<input type="text" class="form-control" name="start_time" value="{{request('start_time','')}}" placeholder="请输入开始时间查询" />
 	</div>

+ 0 - 1
resources/views/admin/video_exam_answer/index.blade.php

@@ -43,7 +43,6 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<th>客户昵称</th>
 						<th>习题题目</th>
 						<th>习题选项</th>
-						<th>正确与否</th>
 						<th>所得积分</th>
 						<th>答题时间</th>
 						<th>操作</th>									

+ 0 - 1
resources/views/admin/video_learn_answer/index.blade.php

@@ -43,7 +43,6 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<th>客户昵称</th>
 						<th>习题题目</th>
 						<th>习题选项</th>
-						<th>正确与否</th>
 						<th>所得积分</th>
 						<th>答题时间</th>
 						<th>操作</th>									

+ 2 - 0
routes/api.php

@@ -289,6 +289,8 @@ Route::any('video_course/get_detail',[App\Http\Controllers\Api\Video\Course::cla
  * 
  */
 Route::any('video_learn_record/update_playtime',[App\Http\Controllers\Api\Video\LearnRecord::class,'update_playtime']);
+// 课中习题报告
+Route::any('video_learn_record/get_report',[App\Http\Controllers\Api\Video\LearnRecord::class,'get_report']);
 
 /**
  * 课中习题