BookController.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace App\Http\Controllers\WapBrowser;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\WapBrowser\BaseController;
  5. use App\Modules\Book\Services\BookCategoryService;
  6. use App\Modules\Book\Services\BookConfigService;
  7. use App\Http\Controllers\Wap\Book\Transformers\BookTransformer;
  8. class BookController extends BaseController
  9. {
  10. /* 书库 */
  11. public function stock(Request $request)
  12. {
  13. $categories = BookCategoryService::getCategory(true);
  14. return view('wap-browser.stock', [
  15. 'title' => '书库',
  16. 'categories' => $categories,
  17. ]);
  18. }
  19. /* 书库 */
  20. public function search(Request $request)
  21. {
  22. return view('wap-browser.search', [
  23. 'title' => '搜索',
  24. ]);
  25. }
  26. public function library(Request $request)
  27. {
  28. $where = [];
  29. //$order = ['book_configs.id','asc'];
  30. $order = [];
  31. $where['is_on_shelf'] = [2];
  32. $category_id = $request->input('category_id');
  33. if($category_id){
  34. if($category_id == 1){
  35. $where['channel_name'] = '男频';
  36. }elseif($category_id == 2){
  37. $where['channel_name'] = '女频';
  38. }else{
  39. $where['category_id'] = $category_id;
  40. }
  41. }
  42. $key = $request->input('key');
  43. $where['key'] = $key;
  44. $order_field = $request->input('order_field');
  45. $order_seq = $request->input('order_seq');
  46. if($order_field != '' && in_array($order_field,['recommend_index','click_count','update','size','create'])){
  47. if($order_field == 'update'){
  48. $order = ['book_configs.updated_at','desc'];
  49. }elseif ($order_field == 'create') {
  50. $order = ['book_configs.created_at','desc'];
  51. }
  52. else{
  53. $order = [$order_field,'desc'];
  54. }
  55. if($order_seq == 'asc'){
  56. $order = [$order_field,'asc'];
  57. }
  58. if($order_seq == 'desc'){
  59. $order = [$order_field,'desc'];
  60. }
  61. }
  62. $status = $request->input('status');
  63. if($status != ''){
  64. $where['status'] = $status;
  65. }
  66. $page_size = $request->input('page_size',15);
  67. $books = BookConfigService::getBooks($where,$order,$page_size);
  68. return response()->pagination(new BookTransformer,$books);
  69. }
  70. }