BookController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. namespace App\Http\Controllers\Book;
  3. use App\Libs\ApiResponse;
  4. use App\Services\Book\BookService;
  5. use App\Transformer\Book\BookTransformer;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Routing\Controller as BaseController;
  8. class BookController extends BaseController
  9. {
  10. use ApiResponse;
  11. protected $bookService;
  12. public function __construct(
  13. BookService $bookService
  14. )
  15. {
  16. $this->bookService = $bookService;
  17. }
  18. /**
  19. * 书籍列表搜索页
  20. * @param Request $request
  21. * @return mixed
  22. */
  23. public function bookList(Request $request) {
  24. $data = $request->all();
  25. $result = $this->bookService->getBookList($data);
  26. return $this->success($result, [new BookTransformer(), 'newBuildBookList']);
  27. }
  28. /**
  29. * 热门搜索
  30. * @param Request $request
  31. * @return mixed
  32. */
  33. public function hotSearches(Request $request) {
  34. $result = $this->bookService->getHotSearches();
  35. return $this->success($result);
  36. }
  37. /**
  38. * 书籍详情
  39. * @param Request $request
  40. * @return mixed
  41. */
  42. public function bookDetail(Request $request) {
  43. $data = $request->all();
  44. $result = $this->bookService->getBookDetail($data);
  45. return $this->success($result);
  46. }
  47. /**
  48. * 获取某本书的阅读记录
  49. * @param Request $request
  50. * @return mixed
  51. */
  52. public function recentChapter(Request $request) {
  53. $data = $request->all();
  54. $result = $this->bookService->recentChapter($data);
  55. return $this->success($result);
  56. }
  57. /**
  58. * 生成分享链接参数(小程序内部调用)
  59. * @param Request $request
  60. * @return mixed
  61. */
  62. public function setUrlLink(Request $request) {
  63. $data = $request->all();
  64. $result = $this->bookService->setUrlLink($data);
  65. return $this->success($result);
  66. }
  67. /**
  68. * 生成分享链接(外网)
  69. * @param Request $request
  70. * @return mixed
  71. */
  72. public function setDyLink(Request $request) {
  73. $data = $request->all();
  74. $result = $this->bookService->setDyLink($data);
  75. return $this->success($result);
  76. }
  77. /**
  78. * 章节目录
  79. * @param Request $request
  80. * @return mixed
  81. */
  82. public function chapterList(Request $request) {
  83. $data = $request->all();
  84. $result = $this->bookService->getChapterList($data);
  85. return $this->success($result, [new BookTransformer(), 'newBuildChapterList']);
  86. }
  87. /**
  88. * 设置书籍收费方式
  89. * @param Request $request
  90. * @return mixed
  91. */
  92. public function setBookChargeType(Request $request) {
  93. $data = $request->all();
  94. $result = $this->bookService->setBookChargeType($data);
  95. return $this->success(['success'=>$result ? 1 : 0]);
  96. }
  97. /**
  98. * 章节信息
  99. * @param Request $request
  100. * @return mixed
  101. */
  102. public function chapterInfo(Request $request) {
  103. $data = $request->all();
  104. $result = $this->bookService->getChapterInfo($data);
  105. return $this->success($result);
  106. }
  107. /**
  108. * 生成派单链接
  109. * @param Request $request
  110. * @return mixed
  111. */
  112. public function setSendOrder(Request $request) {
  113. $data = $request->all();
  114. $result = $this->bookService->setSendOrder($data);
  115. return $this->success(['success'=>$result ? 1 : 0]);
  116. }
  117. /**
  118. * 一级分类列表
  119. * @param Request $request
  120. * @return mixed
  121. */
  122. public function categoryList(Request $request) {
  123. $data = $request->all();
  124. $result = $this->bookService->getCategoryList($data);
  125. return $this->success(['list'=>$result]);
  126. }
  127. /**
  128. * 分类书籍
  129. * @param Request $request
  130. * @return mixed
  131. */
  132. public function categoryBooks(Request $request) {
  133. $data = $request->all();
  134. $result = $this->bookService->getCategoryBooks($data);
  135. return $this->success($result, [new BookTransformer(), 'newBuildCategoryBooks']);
  136. }
  137. }