|  | @@ -99,7 +99,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public function index(Request $request, $bid)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        $bid = BookService::decodeBidStatic($bid);
 | 
	
		
			
				|  |  | +        $bid       = BookService::decodeBidStatic($bid);
 | 
	
		
			
				|  |  |          $book_info = BookConfigService::getBookById($bid);
 | 
	
		
			
				|  |  |          if (!$book_info) {
 | 
	
		
			
				|  |  |              return response()->error('QAPP_SYS_ERROR');
 | 
	
	
		
			
				|  | @@ -107,15 +107,15 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |          if (!in_array($book_info->is_on_shelf, [2])) {
 | 
	
		
			
				|  |  |              return response()->error('QAPP_OFF_SHELF');
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        $is_on_shelf = UserShelfBooksService::getUserShelfBooksListByUidAndBid($this->uid, $bid);
 | 
	
		
			
				|  |  | +        $is_on_shelf                   = UserShelfBooksService::getUserShelfBooksListByUidAndBid($this->uid, $bid);
 | 
	
		
			
				|  |  |          $book_info['is_on_user_shelf'] = 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if ($is_on_shelf) {
 | 
	
		
			
				|  |  |              $book_info['is_on_user_shelf'] = 1;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        $last_chapter = ChapterService::getChapterNameById($book_info['last_cid'], $bid);
 | 
	
		
			
				|  |  | +        $last_chapter                     = ChapterService::getChapterNameById($book_info['last_cid'], $bid);
 | 
	
		
			
				|  |  |          $book_info['last_chapter_is_vip'] = $last_chapter['is_vip'];
 | 
	
		
			
				|  |  | -        $book_info['is_need_charge'] = true;
 | 
	
		
			
				|  |  | +        $book_info['is_need_charge']      = true;
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  |              $book_info['is_need_charge'] = $this->isNeedCharge($bid, $last_chapter, $book_info);
 | 
	
		
			
				|  |  |          } catch (\Exception $e) {
 | 
	
	
		
			
				|  | @@ -123,7 +123,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          $record = ReadRecordService::getBookReadRecordStatic($this->uid, $bid);
 | 
	
		
			
				|  |  |          if ($record) {
 | 
	
		
			
				|  |  | -            $book_info['record_chapter_id'] = $record['record_chapter_id'];
 | 
	
		
			
				|  |  | +            $book_info['record_chapter_id']   = $record['record_chapter_id'];
 | 
	
		
			
				|  |  |              $book_info['record_chapter_name'] = $record['record_chapter_name'];
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return response()->item(new BookTransformer(), $book_info);
 | 
	
	
		
			
				|  | @@ -151,7 +151,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |          //章节订购记录
 | 
	
		
			
				|  |  |          $chapterOrder = new ChapterOrderService();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if ($chapterOrder->checkIsOrdered($uid, $bid, $chapter_id))  return true;
 | 
	
		
			
				|  |  | +        if ($chapterOrder->checkIsOrdered($uid, $bid, $chapter_id)) return true;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return false;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -196,7 +196,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |                  return $this->isBookNeedCharge($bid, $price);
 | 
	
		
			
				|  |  |              default:
 | 
	
		
			
				|  |  |                  $price = $last_chapter->is_vip ? $this->getPrice($book_info, $last_chapter->size) : 0;
 | 
	
		
			
				|  |  | -                return  $last_chapter->is_vip ? $this->isChapterNeedCharge($bid, $last_chapter->id, $price) : false;
 | 
	
		
			
				|  |  | +                return $last_chapter->is_vip ? $this->isChapterNeedCharge($bid, $last_chapter->id, $price) : false;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -210,7 +210,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          if ($book_info->charge_type == 'BOOK')
 | 
	
		
			
				|  |  |              return $book_info->price * 100;
 | 
	
		
			
				|  |  | -        return   ceil($chapter_size / 100);
 | 
	
		
			
				|  |  | +        return ceil($chapter_size / 100);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -251,17 +251,17 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if ($sex == 'male') {
 | 
	
		
			
				|  |  | -            $type = [
 | 
	
		
			
				|  |  | +            $type             = [
 | 
	
		
			
				|  |  |                  'BOOK_MALE_LOOP',
 | 
	
		
			
				|  |  |                  'BOOK_MALE_HOT',
 | 
	
		
			
				|  |  |                  'BOOK_MALE_ZHIBO',
 | 
	
		
			
				|  |  |                  'BOOK_MALE_RECOM',
 | 
	
		
			
				|  |  |                  'BOOK_MALE_NEW_RECOM'
 | 
	
		
			
				|  |  |              ];
 | 
	
		
			
				|  |  | -            $channel = 1;
 | 
	
		
			
				|  |  | +            $channel          = 1;
 | 
	
		
			
				|  |  |              $reco_banner_type = ['MALE', 'PUBLIC'];
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -            $type = [
 | 
	
		
			
				|  |  | +            $type             = [
 | 
	
		
			
				|  |  |                  'BOOK_FEMALE_LOOP',
 | 
	
		
			
				|  |  |                  'BOOK_FEMALE_HOT',
 | 
	
		
			
				|  |  |                  'BOOK_FEMALE_ZHIBO',
 | 
	
	
		
			
				|  | @@ -269,11 +269,11 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |                  'BOOK_FEMALE_NEW_RECOM'
 | 
	
		
			
				|  |  |              ];
 | 
	
		
			
				|  |  |              $reco_banner_type = ['FEMALE', 'PUBLIC'];
 | 
	
		
			
				|  |  | -            $channel = 2;
 | 
	
		
			
				|  |  | +            $channel          = 2;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          $books = (new RecoBannerService)->getByType($reco_banner_type, 2);
 | 
	
		
			
				|  |  |          $books->transform(function ($item) {
 | 
	
		
			
				|  |  | -            $result = $this->getBidCidFromUrl($item->redirect_url);
 | 
	
		
			
				|  |  | +            $result    = $this->getBidCidFromUrl($item->redirect_url);
 | 
	
		
			
				|  |  |              $item->bid = $result['bid'];
 | 
	
		
			
				|  |  |              $item->cid = $result['cid'];
 | 
	
		
			
				|  |  |              if ($result['cid']) {
 | 
	
	
		
			
				|  | @@ -283,13 +283,27 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return $item;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        $package   = $request->header('x-package', '');
 | 
	
		
			
				|  |  | +        $checkOpen = env('CHECK_OPEN', false);
 | 
	
		
			
				|  |  | +        if ($checkOpen && (int)$this->uid === 206672187 && $package === 'com.juyu.kuaiying.rmyq') {
 | 
	
		
			
				|  |  | +            $hotBids   = config('home.' . $sex . '.hot');
 | 
	
		
			
				|  |  | +            $liveBids  = config('home.' . $sex . '.live');
 | 
	
		
			
				|  |  | +            $recomBids = config('home.' . $sex . '.recom');
 | 
	
		
			
				|  |  | +            $newBids   = config('home.' . $sex . '.new_recom');
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            $hotBids   = RecommendService::getRecommendIdsStatic($channel, 'hot');
 | 
	
		
			
				|  |  | +            $liveBids  = RecommendService::getRecommendIdsStatic($channel, 'live');
 | 
	
		
			
				|  |  | +            $recomBids = RecommendService::getRecommendIdsStatic($channel, 'recom');
 | 
	
		
			
				|  |  | +            $newBids   = RecommendService::getRecommendIdsStatic($channel, 'new_recom');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          $result = [
 | 
	
		
			
				|  |  |              ['type' => 'reco_banner', 'lable' => '首页banner', 'books' => $books],
 | 
	
		
			
				|  |  | -            ['type' => 'hot', 'lable' => '热门推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'hot'))->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  | -            ['type' => 'zhibo', 'lable' => '神书直播', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'live'))->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  | -            ['type' => 'recom', 'lable' => '编辑推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'recom'))->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  | -            ['type' => 'new_recom', 'lable' => '新书推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(RecommendService::getRecommendIdsStatic($channel, 'new_recom'))->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +            ['type' => 'hot', 'lable' => '热门推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($hotBids)->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  | +            ['type' => 'zhibo', 'lable' => '神书直播', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($liveBids)->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  | +            ['type' => 'recom', 'lable' => '编辑推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($recomBids)->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  | +            ['type' => 'new_recom', 'lable' => '新书推荐', 'books' => collectionTransform(new BookTransformer, BookConfigService::getBooksByIds($newBids)->where('is_on_shelf', '=', 2))],
 | 
	
		
			
				|  |  |          ];
 | 
	
		
			
				|  |  |          return response()->success($result);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -408,10 +422,10 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public function library(Request $request)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        $where = [];
 | 
	
		
			
				|  |  | -        $order = [];
 | 
	
		
			
				|  |  | +        $where                = [];
 | 
	
		
			
				|  |  | +        $order                = [];
 | 
	
		
			
				|  |  |          $where['is_on_shelf'] = [2];
 | 
	
		
			
				|  |  | -        $category_id = $request->input('category_id');
 | 
	
		
			
				|  |  | +        $category_id          = $request->input('category_id');
 | 
	
		
			
				|  |  |          if ($category_id) {
 | 
	
		
			
				|  |  |              if ($category_id == 1) {
 | 
	
		
			
				|  |  |                  $where['channel_name'] = '男频';
 | 
	
	
		
			
				|  | @@ -421,10 +435,10 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |                  $where['category_id'] = $category_id;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        $key = $request->input('key');
 | 
	
		
			
				|  |  | +        $key          = $request->input('key');
 | 
	
		
			
				|  |  |          $where['key'] = $key;
 | 
	
		
			
				|  |  | -        $order_field = $request->input('order_field');
 | 
	
		
			
				|  |  | -        $order_seq = $request->input('order_seq');
 | 
	
		
			
				|  |  | +        $order_field  = $request->input('order_field');
 | 
	
		
			
				|  |  | +        $order_seq    = $request->input('order_seq');
 | 
	
		
			
				|  |  |          if ($order_field != '' && in_array($order_field, ['recommend_index', 'click_count', 'update', 'size', 'create'])) {
 | 
	
		
			
				|  |  |              if ($order_field == 'update') {
 | 
	
		
			
				|  |  |                  $order = ['book_configs.updated_at', 'desc'];
 | 
	
	
		
			
				|  | @@ -446,7 +460,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |              $where['status'] = $status;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          $page_size = $request->input('page_size', 15);
 | 
	
		
			
				|  |  | -        $books = BookConfigService::getBooks($where, $order, $page_size);
 | 
	
		
			
				|  |  | +        $books     = BookConfigService::getBooks($where, $order, $page_size);
 | 
	
		
			
				|  |  |          return response()->pagination(new BookTransformer, $books);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -529,14 +543,14 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |      public function similarRecom(Request $request)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          $category_id = $request->input('category_id');
 | 
	
		
			
				|  |  | -        $bid = $request->input('bid');
 | 
	
		
			
				|  |  | +        $bid         = $request->input('bid');
 | 
	
		
			
				|  |  |          if (empty($bid) || empty($category_id)) {
 | 
	
		
			
				|  |  |              return response()->error('PARAM_ERROR');
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        $bid = BookService::decodeBidStatic($bid);
 | 
	
		
			
				|  |  | +        $bid   = BookService::decodeBidStatic($bid);
 | 
	
		
			
				|  |  |          $where = ['category_id' => $category_id, 'is_on_shelf' => [2]];
 | 
	
		
			
				|  |  |          $books = BookConfigService::getBooks($where, [], 4);
 | 
	
		
			
				|  |  | -        $data = [];
 | 
	
		
			
				|  |  | +        $data  = [];
 | 
	
		
			
				|  |  |          foreach ($books as $v) {
 | 
	
		
			
				|  |  |              if ($v->bid != $bid && count($data) < 3) {
 | 
	
		
			
				|  |  |                  $data[] = $v;
 | 
	
	
		
			
				|  | @@ -626,21 +640,21 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |          if (empty($bid)) {
 | 
	
		
			
				|  |  |              return response()->error('PARAM_ERROR');
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        $bid = BookService::decodeBidStatic($bid);
 | 
	
		
			
				|  |  | -        $book_info = BookConfigService::getBookById($bid);
 | 
	
		
			
				|  |  | -        $res = BookConfigService::getRecommendBooks($bid, $book_info->channel_name);
 | 
	
		
			
				|  |  | +        $bid         = BookService::decodeBidStatic($bid);
 | 
	
		
			
				|  |  | +        $book_info   = BookConfigService::getBookById($bid);
 | 
	
		
			
				|  |  | +        $res         = BookConfigService::getRecommendBooks($bid, $book_info->channel_name);
 | 
	
		
			
				|  |  |          $urge_status = 0;
 | 
	
		
			
				|  |  |          if ($book_info->status == 0 && !BookUrgeUpdateService::isHadUrged($this->uid, $bid)) {
 | 
	
		
			
				|  |  |              $urge_status = 1;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          $recommend_result = collectionTransform(new BookTransformer(), $res);
 | 
	
		
			
				|  |  | -        $book_status = [
 | 
	
		
			
				|  |  | -            'status' => $book_info->status,
 | 
	
		
			
				|  |  | +        $book_status      = [
 | 
	
		
			
				|  |  | +            'status'      => $book_info->status,
 | 
	
		
			
				|  |  |              'urge_status' => $urge_status
 | 
	
		
			
				|  |  |          ];
 | 
	
		
			
				|  |  | -        $data = [
 | 
	
		
			
				|  |  | +        $data             = [
 | 
	
		
			
				|  |  |              'recommend_result' => $recommend_result,
 | 
	
		
			
				|  |  | -            'book_status' => $book_status
 | 
	
		
			
				|  |  | +            'book_status'      => $book_status
 | 
	
		
			
				|  |  |          ];
 | 
	
		
			
				|  |  |          return response()->success($data);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -717,7 +731,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |       *                   last_chapter:第254章 婚礼(大结局),
 | 
	
		
			
				|  |  |       *               },
 | 
	
		
			
				|  |  |       *           ],
 | 
	
		
			
				|  |  | -     *            female:[{},{}] 
 | 
	
		
			
				|  |  | +     *            female:[{},{}]
 | 
	
		
			
				|  |  |       *           }
 | 
	
		
			
				|  |  |       *       }
 | 
	
		
			
				|  |  |       */
 | 
	
	
		
			
				|  | @@ -741,7 +755,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |                  $fidstr = env('CLICK_RANK_FEMALE_TOTAL', '324,614,636,1,5,6,521,10,41,48');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              $female = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $fidstr)));
 | 
	
		
			
				|  |  | -            $male = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $midstr)));
 | 
	
		
			
				|  |  | +            $male   = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $midstr)));
 | 
	
		
			
				|  |  |          } elseif ($type == 2) {
 | 
	
		
			
				|  |  |              //字数帮
 | 
	
		
			
				|  |  |              if ($time == 1) {
 | 
	
	
		
			
				|  | @@ -757,7 +771,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |                  $fidstr = env('WORD_RANK_FEMALE_TOTAL', '57,636,614,1,10,48,58,324,354,99');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              $female = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $fidstr)));
 | 
	
		
			
				|  |  | -            $male = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $midstr)));
 | 
	
		
			
				|  |  | +            $male   = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $midstr)));
 | 
	
		
			
				|  |  |          } elseif ($type == 3) {
 | 
	
		
			
				|  |  |              //新书榜
 | 
	
		
			
				|  |  |              if ($time == 1) {
 | 
	
	
		
			
				|  | @@ -773,7 +787,7 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |                  $fidstr = env('NEW_RANK_FEMALE_TOTAL', '284,30,33,39,40,51,587,50,60,357');
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              $female = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $fidstr)));
 | 
	
		
			
				|  |  | -            $male = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $midstr)));
 | 
	
		
			
				|  |  | +            $male   = collectionTransform(new BookTransformer, BookConfigService::getBooksByIds(explode(',', $midstr)));
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              return response()->error('PARAM_ERROR');
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -787,9 +801,9 @@ class BookController extends BaseController
 | 
	
		
			
				|  |  |      public function recommen()
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          $reco_banner_type = ['FEMALE', 'PUBLIC'];
 | 
	
		
			
				|  |  | -        $books = (new RecoBannerService)->getByType($reco_banner_type, 2);
 | 
	
		
			
				|  |  | +        $books            = (new RecoBannerService)->getByType($reco_banner_type, 2);
 | 
	
		
			
				|  |  |          $books->transform(function ($item) {
 | 
	
		
			
				|  |  | -            $result = $this->getBidCidFromUrl($item->redirect_url);
 | 
	
		
			
				|  |  | +            $result    = $this->getBidCidFromUrl($item->redirect_url);
 | 
	
		
			
				|  |  |              $item->bid = $result['bid'];
 | 
	
		
			
				|  |  |              $item->cid = $result['cid'];
 | 
	
		
			
				|  |  |              if ($result['cid']) {
 |