LearnRecord.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. $data['video_lasttime'] = (int) ceil(request('video_playtime',0));
  43. $data['status'] = request('status',0);
  44. $data['end_time'] = time();
  45. // 查询播放记录
  46. $data['id'] = $Model->edit($id,$data);
  47. // 上报失败
  48. if( !$data['id'] ) return json_send(['code'=>'error','msg'=>'上报失败']);
  49. // 返回结果
  50. return json_send(['code'=>'success','msg'=>'上报成功','data'=>$data]);
  51. }
  52. /**
  53. * 获取学习报告 /api/video_learn_record/get_report
  54. *
  55. */
  56. public function get_report(Model $Model){
  57. // 登录信息
  58. $uid = $this->checkLogin();
  59. // 接收参数
  60. $id = request('record_id',0);
  61. // 返回结果
  62. $data = $Model->query()->where([['id','=',$id]])->first();
  63. // 错误提示
  64. if(!$data) return json_send(['code'=>'error','msg'=>'记录不存在']);
  65. // 成功下发
  66. return json_send(['code'=>'success','msg'=>'获取成功','data'=>$data]);
  67. }
  68. }