liugc 1 год назад
Родитель
Сommit
518aa04f22

+ 1 - 1
app/workerapi/controller/TrainingController.php

@@ -49,7 +49,7 @@ class TrainingController extends BaseApiController
     public function getCourseList()
     {
         $params  = request()->get();
-        return $this->data(TrainingLogic::getCourseList($this->userId,$params));
+        return $this->data(TrainingLogic::getCourseList(199,$params));
     }
 
     /**

+ 15 - 5
app/workerapi/logic/TrainingLogic.php

@@ -91,9 +91,9 @@ class TrainingLogic extends  BaseLogic
             }
             $list =  TrainingWorkerCourse::with(['trainingCourse'])->where('master_worker_id',$masterWorkerId)->where('training_task_id',$params['training_task_id'])->select()->toArray();
             foreach ($list as &$item) {
-                $item['course_name'] = $item['trainingCourse']['course_name'];
-                $item['course_picture'] = FileService::getFileUrl($item['trainingCourse']['course_picture']);
-                $item['course_url'] = FileService::getFileUrl($item['trainingCourse']['course_url']);
+                $item['course_name'] = $item['trainingCourse']['course_name']??'';
+                $item['course_picture'] = FileService::getFileUrl($item['trainingCourse']['course_picture']??'');
+                $item['course_url'] = FileService::getFileUrl($item['trainingCourse']['course_url']??'');
             }
             return $list;
         } catch (\Exception $e) {
@@ -509,7 +509,12 @@ class TrainingLogic extends  BaseLogic
                 $trainingTask = TrainingTask::where('subclass',$params['category_id'])->findOrEmpty();
                 if($trainingTask->isEmpty()){
                     // 获取该类目 随机课程
-                    $fixed_course_ids = [1,2,3];
+                    //$fixed_course_ids = [1,2,3];
+                    $trainingCourse = TrainingCourse::where('subclass',$trainingTask->subclass)->order(Db::raw('rand()'))->limit(3)->select()->toArray();
+                    if(empty($trainingCourse)){
+                        throw new \Exception('该类目下不存在课程,请联系客服配置');
+                    }
+                    $fixed_course_ids = array_column($trainingCourse,'id');
                     $trainingTask = TrainingTask::create([
                         'task_name' => '分类ID-'.$params['category_id'],
                         'training_course_id' => array_map('intval', $fixed_course_ids),
@@ -568,6 +573,9 @@ class TrainingLogic extends  BaseLogic
                     if($trainingCourse->randomly_question){
                         // 随机出题 随机x个试题 x由该课程配置决定 比如10个试题
                         $trainingQuestions = TrainingQuestions::where('subclass',$trainingCourse->subclass)->order(Db::raw('rand()'))->limit($trainingCourse->randomly_num)->select()->toArray();
+                        if(empty($trainingQuestions)){
+                            throw new \Exception('该类目下不存在试题,请联系客服配置');
+                        }
                         //每题多少分(按总分100分计算)
                         $score = bcdiv(100, count($trainingQuestions), 2);
                         $course_question = [];
@@ -583,7 +591,9 @@ class TrainingLogic extends  BaseLogic
                     }else{
                         $course_question = $trainingCourse->course_question_setting;
                     }
-
+                    if(empty($course_question)){
+                        throw new \Exception('该类目下不存在试题,请联系客服配置');
+                    }
                     // 添加该工程师该课程的所有试题初始化记录
                     $course_question_ids = array_column($course_question,'select_value');
                     foreach ($course_question_ids as $question_id) {