|
@@ -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']) {
|