BookService.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace App\Modules\Book\Services;
  3. use App\Modules\Book\Models\Book;
  4. use Redis;
  5. use App\Modules\Statistic\Services\WapVisitStatService;
  6. class BookService
  7. {
  8. /**
  9. * 获取book中存在的分类信息id
  10. * @return array
  11. */
  12. public static function getCategoryId(){
  13. return Book::getCategoryId();
  14. }
  15. /**
  16. * 修改图书描述
  17. * @param $bid
  18. * @param $intro
  19. * @return mixed
  20. *
  21. */
  22. public static function updateIntro($bid,$intro){
  23. return Book::where('id',$bid)->update(['intro'=>$intro]);
  24. }
  25. /**
  26. * 设置章节价格
  27. * @param int $channel_id
  28. * @param int $price
  29. */
  30. public static function setChapterPrice(int $channel_id,float $price):void{
  31. try{
  32. Redis::hset('book_chapter_price',$channel_id,$price);
  33. }catch (\Exception $e){
  34. }
  35. }
  36. /**
  37. * 获取渠道设置的价格
  38. * @param int $channel_id
  39. * @return int
  40. */
  41. public static function getChapterPrice(int $channel_id){
  42. try{
  43. $fee = Redis::hget('book_chapter_price',$channel_id);
  44. if($fee)
  45. return (float)$fee;
  46. else
  47. return 0;
  48. }catch (\Exception $e){
  49. }
  50. return 0;
  51. }
  52. public static function getBookStatistics($smart_push_books){
  53. // 获取书籍统计数据
  54. if(!empty($smart_push_books)){
  55. foreach($smart_push_books as $key=>$smart_push_book){
  56. $book_statistics = WapVisitStatService::smartPushTestBookStats($smart_push_book->bid);
  57. $smart_push_books[$key]->uv = $book_statistics['uv'];
  58. $smart_push_books[$key]->pv = $book_statistics['pv'];
  59. $smart_push_books[$key]->charge_amount = $book_statistics['charge_amount'];
  60. $smart_push_books[$key]->charge_user_num = $book_statistics['charge_user_num'];
  61. $smart_push_books[$key]->book_amount = $book_statistics['book_amount'];
  62. $smart_push_books[$key]->book_user_num = $book_statistics['book_user_num'];
  63. $smart_push_books[$key]->real_push_user_num = $book_statistics['real_push_user_num'];
  64. $smart_push_books[$key]->second_chapter_uv = $book_statistics['second_chapter_uv'];
  65. }
  66. }
  67. return $smart_push_books;
  68. }
  69. public static function getBookById($bid){
  70. return Book::find($bid);
  71. }
  72. public static function getSimpleBooksByIds($bids){
  73. return Book::select('id', 'name', 'first_cid')->whereIn('id', $bids)->get();
  74. }
  75. }