BookTransformer.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Date: 2017/3/31
  5. * Time: 14:02
  6. */
  7. namespace App\Http\Controllers\Channel\Book\Transformers;
  8. use Hashids;
  9. class BookTransformer
  10. {
  11. public function transform($book){
  12. return [
  13. 'book_id'=>Hashids::encode($book->bid),
  14. 'book_name'=>$book->book_name,
  15. 'book_summary'=>$book->intro,
  16. 'book_author'=>$book->author,
  17. 'cover_url'=>$book->cover,
  18. 'book_word_count'=>$book->size,
  19. 'book_chapter_total'=>$book->chapter_count,
  20. 'book_category_id'=>$book->category_id,
  21. 'book_category'=>$book->category_name,
  22. 'book_end_status'=>$book->status,
  23. 'book_published_time'=>(isset($book->updated_at)&& !empty($book->updated_at))?$book->updated_at:'',
  24. 'copyright'=>is_null($book->copyright)? '':$book->copyright,
  25. 'charge_type'=>is_null($book->charge_type)?'':$book->charge_type,
  26. 'force_subscribe_chapter_seq'=>$book->force_subscribe_chapter_seq,
  27. 'update_time'=>isset($book->updated_at)?$book->updated_at:"",
  28. 'is_on_shelf'=>$book->is_on_shelf,
  29. 'book_price'=>is_null($book->price)?0:$book->price,
  30. 'keyword'=>$book->keyword,
  31. 'recommend_index'=> $book->recommend_index,
  32. 'is_show_index_content'=>$book->is_show_index_content,
  33. 'click_count'=>$book->click_count,
  34. 'product_id'=>$book->product_id,
  35. 'sex_preference'=>$book->channel_name,
  36. 'last_cid'=>$book->last_cid,
  37. 'last_chapter'=>$book->last_chapter,
  38. 'first_cid'=>$book->first_cid,
  39. 'promotion_count'=>isset($book->promotion_count)?$book->promotion_count:0,
  40. 'force_subscribe_cid'=>isset($book->force_subscribe_cid)?$book->force_subscribe_cid:0,
  41. 'force_subscribe_chapter_name'=>isset($book->force_subscribe_chapter_name)?$book->force_subscribe_chapter_name:0,
  42. 'is_pic_only'=>$book->is_on_shelf == 1 && !in_array($book->bid,explode(',',env('internal_shelf_text_mode_book_white_list'))) ? 1 : 0
  43. ];
  44. }
  45. }