CircleController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/6/14
  6. * Time: 16:23
  7. */
  8. namespace App\Http\Controllers\V1;
  9. use App\Repositories\Circle\CircleRepository;
  10. use App\Traits\UserTrait;
  11. use App\Transformers\Circle\DetailTransformer;
  12. use App\Transformers\Circle\QuestionTransformer;
  13. use Illuminate\Http\Request;
  14. use Illuminate\Support\Facades\Log;
  15. use Illuminate\Support\Facades\Redis;
  16. use Illuminate\Support\Facades\Validator;
  17. use Illuminate\Validation\Rule;
  18. use League\Fractal\Manager;
  19. use League\Fractal\Pagination\IlluminatePaginatorAdapter;
  20. use League\Fractal\Resource\Collection;
  21. use League\Fractal\Resource\Item;
  22. class CircleController extends Controller
  23. {
  24. use UserTrait;
  25. public function __construct(CircleRepository $circleRepository)
  26. {
  27. $this->circleRepository = $circleRepository;
  28. }
  29. /**
  30. * 圈子首页
  31. * @param Request $request
  32. */
  33. public function index(Request $request)
  34. {
  35. $userInfo = $this->getUserInfo();
  36. if ($userInfo) {
  37. $uid = $userInfo['uid'];
  38. }else{
  39. $uid = 0;
  40. }
  41. $validator = Validator::make($request->all(), [
  42. 'id' => 'required|exists:interest_circles'
  43. ]);
  44. if ($validator->fails()) {
  45. return $this->jsonError($validator->errors()->first());
  46. }
  47. $detail = $this->circleRepository->detail($request->all());
  48. if ($detail) {
  49. $fractal = new Manager();
  50. $res = new Item($detail, new DetailTransformer($uid));
  51. $data = $fractal->createData($res)->toArray();
  52. }
  53. return $this->jsonSuccess($data);
  54. }
  55. public function getQuestion(Request $request){
  56. $userInfo = $this->getUserInfo();
  57. if ($userInfo) {
  58. $uid = $userInfo['uid'];
  59. }else{
  60. $uid = 0;
  61. }
  62. $validator = Validator::make($request->all(), [
  63. 'id' => 'required|exists:interest_circles'
  64. ]);
  65. if ($validator->fails()) {
  66. return $this->jsonError($validator->errors()->first());
  67. }
  68. $detail = $this->circleRepository->detail($request->all());
  69. if ($detail) {
  70. $fractal = new Manager();
  71. $res = new Item($detail, new QuestionTransformer($uid));
  72. $data = $fractal->createData($res)->toArray();
  73. }
  74. return $this->jsonSuccess($data);
  75. }
  76. }