AnnouncementController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Http\Controllers\V1;
  3. use App\Http\Requests\AnnouncementRequest;
  4. use App\Http\Requests\AnnouncementsRequest;
  5. use App\Repositories\AnnouncementRepository;
  6. use App\Transformers\AnnouncementTransformer;
  7. use App\Transformers\AnnouncementsTransformer;
  8. /**
  9. * 公告管理模块
  10. * Class AnnouncementController
  11. * @package App\Http\Controllers\V1
  12. */
  13. class AnnouncementController extends BaseController
  14. {
  15. /**
  16. * 公告列表
  17. * @param AnnouncementsRequest $request
  18. * @param AnnouncementRepository $advertisementRepository
  19. * @return \Dingo\Api\Http\Response
  20. * User: FX
  21. */
  22. public function index(AnnouncementsRequest $request, AnnouncementRepository $repository)
  23. {
  24. try {
  25. $area_id = $request->get('area_id', 0);
  26. $ans = $repository->byAreaIdGetAns($area_id);
  27. return $this->response->paginator($ans, AnnouncementsTransformer::class);
  28. } catch (\Exception $exception) {
  29. $this->errorNoValidation($exception->getMessage());
  30. }
  31. }
  32. /**
  33. * 公告详情
  34. * @param AnnouncementRequest $request
  35. * @param AnnouncementRepository $advertisementRepository
  36. * @return \Dingo\Api\Http\Response
  37. * User: FX
  38. */
  39. public function show(AnnouncementRequest $request, AnnouncementRepository $repository)
  40. {
  41. try {
  42. $id = $request->get('id');
  43. $ads = $repository->byIdGetModel($id);
  44. return $this->response->item($ads, AnnouncementTransformer::class);
  45. } catch (\Exception $exception) {
  46. $this->errorNoValidation($exception->getMessage());
  47. }
  48. }
  49. /**
  50. * 首页显示公告
  51. *
  52. * */
  53. public function indexShow(AnnouncementsRequest $announcementsRequest, AnnouncementRepository $repository)
  54. {
  55. try {
  56. $area_id = $announcementsRequest->get('area_id', 0);
  57. $ans = $repository->byAreaIdGetLastAn($area_id);
  58. if (empty($ans)) return $this->response->array([]);
  59. return $this->response->item($ans, AnnouncementTransformer::class);
  60. } catch (\Exception $exception) {
  61. $this->errorNoValidation($exception->getMessage());
  62. }
  63. }
  64. }