LearnRecord.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php namespace App\Http\Controllers\Api\Video;
  2. use App\Http\Controllers\Api\Api;
  3. use App\Models\Video\LearnRecord as Model;
  4. use App\Models\Video\LearnQuestion;
  5. /**
  6. * 学习记录
  7. *
  8. * @author 刘相欣
  9. *
  10. */
  11. class LearnRecord extends Api{
  12. /**
  13. * 新增学习记录 /api/video_learn_record/add
  14. *
  15. */
  16. public function add(Model $Model,LearnQuestion $LearnQuestion){
  17. // 登录信息
  18. $uid = $this->checkLogin();
  19. // 接收参数
  20. $data['custom_uid'] = $uid;
  21. $data['course_id'] = request('course_id',0);
  22. $data['video_inittime'] = request('video_inittime',0);
  23. $data['video_lasttime'] = $data['video_inittime'];
  24. $data['start_time'] = time();
  25. $data['question_total'] = count($LearnQuestion->getList($data['course_id']));
  26. // 查询播放记录
  27. $data['id'] = $Model->add($data);
  28. // 上报失败
  29. if( !$data['id'] ) return json_send(['code'=>'error','msg'=>'创建失败']);
  30. // 返回结果
  31. return json_send(['code'=>'success','msg'=>'创建成功','data'=>$data]);
  32. }
  33. /**
  34. * 修改学习记录 /api/video_learn_record/update_playtime
  35. *
  36. */
  37. public function update_playtime(Model $Model){
  38. // 登录信息
  39. $uid = $this->checkLogin();
  40. // 接收参数
  41. $id = request('record_id',0);
  42. // 查询记录
  43. $data['video_lasttime'] = (int) ceil(request('video_playtime',0));
  44. // 获取记录
  45. if( request('status',0) ) $data['status'] = request('status',0);
  46. // 结束时间
  47. $data['end_time'] = time();
  48. // 查询播放记录
  49. $data['id'] = $Model->edit($id,$data);
  50. // 上报失败
  51. if( !$data['id'] ) return json_send(['code'=>'error','msg'=>'上报失败']);
  52. // 返回结果
  53. return json_send(['code'=>'success','msg'=>'上报成功','data'=>$data]);
  54. }
  55. /**
  56. * 获取学习报告 /api/video_learn_record/get_report
  57. *
  58. */
  59. public function get_report(Model $Model){
  60. // 登录信息
  61. $uid = $this->checkLogin();
  62. // 接收参数
  63. $id = request('record_id',0);
  64. // 返回结果
  65. $data = $Model->query()->where([['id','=',$id]])->first();
  66. // 错误提示
  67. if(!$data) return json_send(['code'=>'error','msg'=>'记录不存在']);
  68. // 成功下发
  69. return json_send(['code'=>'success','msg'=>'获取成功','data'=>$data]);
  70. }
  71. }