CollectController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Http\Controllers\V1\User;
  3. use App\Http\Controllers\V1\Controller;
  4. use App\Models\UserCollect;
  5. use App\Models\UserConsumeRecord;
  6. use App\Models\UserEpisodesRecord;
  7. use App\Models\UserWatchRecord;
  8. use Carbon\Carbon;
  9. use Dingo\Api\Http\Request;
  10. use Illuminate\Database\Eloquent\Builder;
  11. class CollectController extends Controller
  12. {
  13. // 收藏记录
  14. public function record(Request $request)
  15. {
  16. $limit = $request->input('limit', 10);
  17. $page = $request->input('page', 1);
  18. $offset = ($page - 1) * 10;
  19. $lists = UserCollect::filterUser()
  20. ->with(['episode','watchRecord.detail'])
  21. ->orderByDesc('id')
  22. ->limit($limit)
  23. ->offset($offset)
  24. ->get();
  25. foreach ($lists as $list){
  26. $count = $list->episode->withCount('lists')->first()->toArray();
  27. $list->episode->total = $count['lists_count'];
  28. $list->episode->status_text = $list->episode->status;
  29. }
  30. return $this->success($lists);
  31. }
  32. // 检查当前短剧是否收藏
  33. public function check($id)
  34. {
  35. $res = UserCollect::filterUser()->where('episode_id',$id)->count();
  36. return $this->success(!empty($res));
  37. }
  38. // 添加收藏
  39. public function add($id)
  40. {
  41. $res = UserCollect::filterUser()->where('episode_id',$id)->count();
  42. if($res){
  43. return $this->success(true);
  44. }
  45. $collect = new UserCollect();
  46. $collect->user_id = \user()->id;
  47. $collect->episode_id = $id;
  48. return $this->success($collect->save());
  49. }
  50. // 删除收藏
  51. public function destroy($id)
  52. {
  53. $res = UserCollect::filterUser()->where('episode_id',$id)->first();
  54. if(!$res){
  55. return $this->success(false);
  56. }
  57. return $this->success($res->delete());
  58. }
  59. }