Przeglądaj źródła

up - 不限制必须商品购买后才能培训

liugc 1 rok temu
rodzic
commit
152cf9c8ef

+ 42 - 0
app/adminapi/logic/training/TrainingWorkerTaskLogic.php

@@ -15,6 +15,10 @@
 namespace app\adminapi\logic\training;
 
 
+use app\common\model\training\TrainingCourse;
+use app\common\model\training\TrainingTask;
+use app\common\model\training\TrainingWorkerCourse;
+use app\common\model\training\TrainingWorkerQuestion;
 use app\common\model\training\TrainingWorkerTask;
 use app\common\logic\BaseLogic;
 use think\facade\Db;
@@ -48,6 +52,9 @@ class TrainingWorkerTaskLogic extends BaseLogic
                 'operate_status' => $params['operate_status']??0,
             ]);
 
+            // 添加该工程师初始化记录
+            self::trainingCourseRecord($params['master_worker_id'],$params['training_task_id']);
+
             Db::commit();
             return true;
         } catch (\Exception $e) {
@@ -111,4 +118,39 @@ class TrainingWorkerTaskLogic extends BaseLogic
     {
         return TrainingWorkerTask::findOrEmpty($params['id'])->toArray();
     }
+
+    /** 培训课程初始化记录
+     */
+    public static function trainingCourseRecord($masterWorkerId,$training_task_id): array
+    {
+        $training_course_ids  = json_decode(TrainingTask::where('id',$training_task_id)->value('training_course_id'),true);
+        // 添加该工程师的所有培训课程初始化记录
+        foreach ($training_course_ids as $course_id) {
+            $workerCourse = TrainingWorkerCourse::create([
+                'master_worker_id' => $masterWorkerId,
+                'training_task_id' => $training_task_id,
+                'training_course_id' => $course_id,
+                'play_time' => 0,
+                'exam_start_time' => 0,
+                'exam_end_time' => 0,
+                'study_status' => 0,
+                'exam_score' => 0,
+            ]);
+
+            // 添加该工程师该课程的所有试题初始化记录
+            //[{"block_key":1,"select_value":1,"score":"20"},{"block_key":2,"select_value":2,"score":"10"},{"block_key":3,"select_value":3,"score":"70"}]
+            $course_question = json_decode(TrainingCourse::where('id',$course_id)->value('course_question_setting'),true);
+            $course_question_ids = array_column($course_question,'select_value');
+            foreach ($course_question_ids as $question_id) {
+                $workerQuestion = TrainingWorkerQuestion::create([
+                    'worker_course_id' => $workerCourse->id,
+                    'questions_id' => $question_id,
+                    'worker_answer' => '',
+                    'exam_score' => 0
+                ]);
+            }
+        }
+        return $training_course_ids??[];
+    }
+
 }

+ 2 - 2
app/adminapi/validate/training/TrainingWorkerTaskValidate.php

@@ -68,7 +68,7 @@ class TrainingWorkerTaskValidate extends BaseValidate
      */
     public function sceneAdd()
     {
-        return $this->only(['master_worker_id','shop_goods_id','training_task_id','lead_master_worker_id']);
+        return $this->only(['master_worker_id','shop_goods_id','training_task_id']);
     }
 
 
@@ -80,7 +80,7 @@ class TrainingWorkerTaskValidate extends BaseValidate
      */
     public function sceneEdit()
     {
-        return $this->only(['id','master_worker_id','shop_goods_id','training_task_id','lead_master_worker_id']);
+        return $this->only(['id','master_worker_id','shop_goods_id','training_task_id']);
     }
 
 

+ 3 - 2
app/workerapi/logic/TrainingWorkerTaskLogic.php

@@ -44,7 +44,8 @@ class TrainingWorkerTaskLogic extends BaseLogic
                     $taskWorker->shop_orders_id = $sn_orders[$shopOrderGoods->sn];
                     $taskWorker->save();
 
-                    $training_course_ids  = json_decode(TrainingTask::where('id',$taskWorker->training_task_id)->value('training_course_id'),true);
+                    // 暂时不限制
+                    /*$training_course_ids  = json_decode(TrainingTask::where('id',$taskWorker->training_task_id)->value('training_course_id'),true);
                     // 添加该工程师的所有培训课程初始化记录
                     foreach ($training_course_ids as $course_id) {
                         $workerCourse = TrainingWorkerCourse::create([
@@ -70,7 +71,7 @@ class TrainingWorkerTaskLogic extends BaseLogic
                                 'exam_score' => 0
                             ]);
                         }
-                    }
+                    }*/
 
                     return true;
                 }