BookController.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace App\Http\Controllers\Book;
  3. use App\Facade\Site;
  4. use App\Consts\ErrorConst;
  5. use App\Exceptions\ApiException;
  6. use App\Libs\ApiResponse;
  7. use App\Libs\Utils;
  8. use App\Services\Book\BookService;
  9. use App\Transformer\Book\BookTransformer;
  10. use Illuminate\Http\Request;
  11. use Illuminate\Routing\Controller as BaseController;
  12. use Illuminate\Support\Facades\Redis;
  13. use Illuminate\Support\Facades\Validator;
  14. class BookController extends BaseController
  15. {
  16. use ApiResponse;
  17. protected $bookService;
  18. public function __construct(
  19. BookService $bookService
  20. ) {
  21. $this->bookService = $bookService;
  22. }
  23. /**
  24. * 书籍列表
  25. *
  26. * @param Request $request
  27. * @return mixed
  28. */
  29. public function bookList(Request $request) {
  30. $data = $request->all();
  31. $result = $this->bookService->getBookList($data);
  32. return $this->success($result, [new BookTransformer(), 'newBuildBookList']);
  33. }
  34. /**
  35. * 可选书籍
  36. *
  37. * @param Request $request
  38. * @return mixed
  39. */
  40. public function allBooks(Request $request) {
  41. $data = $request->all();
  42. $result = $this->bookService->getAllBooks($data);
  43. return $this->success($result);
  44. }
  45. /**
  46. * 可选版本
  47. *
  48. * @param Request $request
  49. * @return mixed
  50. */
  51. public function bookVersion(Request $request) {
  52. $data = $request->all();
  53. $result = $this->bookService->getBookVersion($data);
  54. return $this->success($result);
  55. }
  56. /**
  57. * 新增书籍版本
  58. *
  59. * @param Request $request
  60. * @return mixed
  61. */
  62. public function addBookVersion(Request $request) {
  63. $data = $request->all();
  64. $result = $this->bookService->addBookVersion($data);
  65. return $this->success(['success'=>$result ? 1 : 0]);
  66. }
  67. /**
  68. * 章节列表
  69. *
  70. * @param Request $request
  71. * @return mixed
  72. */
  73. public function chapterList(Request $request) {
  74. $data = $request->all();
  75. $result = $this->bookService->getChapterList($data);
  76. return $this->success($result, [new BookTransformer(), 'newBuildChapterList']);
  77. }
  78. /**
  79. * 章节内容
  80. *
  81. * @param Request $request
  82. * @return mixed
  83. */
  84. public function chapterContent(Request $request) {
  85. $data = $request->all();
  86. $result = $this->bookService->getChapterContent($data);
  87. return $this->success($result);
  88. }
  89. /**
  90. * 版本列表
  91. *
  92. * @param Request $request
  93. * @return mixed
  94. */
  95. public function versionList(Request $request) {
  96. $data = $request->all();
  97. $result = $this->bookService->getVersionList($data);
  98. return $this->success($result, [new BookTransformer(), 'newBuildVersionList']);
  99. }
  100. }