|
|
@@ -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) {
|