ClassController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace backend\controllers;
  3. use Yii;
  4. use yii\data\Pagination;
  5. use yii\helpers\Json;
  6. use common\models\xhTrainClass;
  7. use common\services\xhTrainClassService;
  8. use common\models\xhTrainCourse;
  9. use common\services\xhTrainCourseService;
  10. class ClassController extends BackendController
  11. {
  12. public function actionList()
  13. {
  14. $query = xhTrainClass::find();
  15. $merchantId = $this->merchantId;
  16. $query->where(['merchantId' =>$merchantId]);
  17. $query->orderBy('id desc');
  18. $countQuery = clone $query;
  19. $pages = new Pagination(['totalCount' => $countQuery->count(),'pageSize' => 50]);
  20. $models = $query->offset($pages->offset)->limit($pages->limit)->all();
  21. return $this->render('list', ['models' => $models,'pages' => $pages]);
  22. }
  23. public function actionAdd()
  24. {
  25. return $this->render('add');
  26. }
  27. public function actionSaveAdd()
  28. {
  29. $post = Yii::$app->request->post();
  30. if(isset($post['courseString']) == false || empty($post['courseString'])){
  31. echo Json::encode(['code' => 'A0002','msg' => '']);
  32. Yii::$app->end();
  33. }
  34. $nowTime = time();
  35. $nowDate = date("Y-m-d H:i:s");
  36. $classData = ['name' => $post['className'],'tuition' => $post['classTuition'],'lesson' => $post['classLesson'],
  37. 'summary' => $post['classSummary'],'intro' => $post['classIntro'],'merchantId' => $this->merchantId,'addTime' => $nowTime,
  38. 'modTime' => $nowTime,'createTime' => $nowDate,'updateTime' => $nowDate];
  39. $class = xhTrainClass::add($classData);
  40. $courseString = $post['courseString'];
  41. $courseArr = explode('|{=}|',$courseString);
  42. $courseArr = array_filter($courseArr);
  43. $courseData = [];
  44. foreach($courseArr as $key => $val){
  45. $courseSub = explode('|{-}|',$val);
  46. $courseSub = array_filter($courseSub);
  47. $intro = isset($courseSub[1]) ? $courseSub[1] : '';
  48. $courseData[] = ['classId' => $class['id'],'name' => $courseSub[0],'intro' => $intro,'merchantId' => $this->merchantId];
  49. }
  50. xhTrainCourse::batchAdd($courseData);
  51. echo Json::encode(['code' => 'A0001','msg' => '操作成功']);
  52. }
  53. public function actionUpdate()
  54. {
  55. $get = Yii::$app->request->get();
  56. $id = $get['id'];
  57. $class = xhTrainClassService::getById($id);
  58. $course = xhTrainCourseService::getAllByCondition(['classId' => $id,'merchantId' => $this->merchantId]);
  59. return $this->render('update',['class' => $class,'course' => $course]);
  60. }
  61. }