|
@@ -10,39 +10,32 @@ use App\Modules\Channel\Models\ChannelRecommendBooks;
|
|
|
class ChannelRecommendBooksService
|
|
|
{
|
|
|
|
|
|
- static function getChannelBid($channel_id)
|
|
|
+ static function getChannelBid()
|
|
|
{
|
|
|
- return ChannelRecommendBooks::leftjoin('book_configs','book_configs.bid','channel_recommend_books.bid')
|
|
|
- ->where('channel_recommend_books.channel_id',$channel_id)
|
|
|
- ->whereNotIn('book_configs.cp_source',getHiddenCp())
|
|
|
- ->whereIn('book_configs.is_on_shelf',[1,2])
|
|
|
- ->orderBy('channel_recommend_books.priority','DESC')
|
|
|
- ->orderBy('channel_recommend_books.created_at','DESC')
|
|
|
- ->pluck('channel_recommend_books.bid')->all();
|
|
|
+ return ChannelRecommendBooks::pluck('bid')->all();
|
|
|
}
|
|
|
|
|
|
static function getMergerBids($channel_id,$bid)
|
|
|
{
|
|
|
- $bids = self::getChannelBid($channel_id);
|
|
|
-
|
|
|
+ $bids = BookConfigService::getAvailableBIdsbyBids(self::getChannelBid(),$channel_id);
|
|
|
if(isset($bid) && $bid != 0){
|
|
|
- $key = array_keys($bids,$bid);
|
|
|
+ $key = array_keys($bids,$bid)[0];
|
|
|
if(!empty($key)){
|
|
|
$value = 1;
|
|
|
- if(isset($bids[$key[0]+1])){
|
|
|
- $bidArr[] = $bids[$key[0]+1];
|
|
|
+ if(isset($bids[$key+1])){
|
|
|
+ $bidArr[] = $bids[$key+1];
|
|
|
}else{
|
|
|
$bidArr[] = $bids[$value];
|
|
|
$value += 1;
|
|
|
}
|
|
|
- if(isset($bids[$key[0]+2])){
|
|
|
- $bidArr[] = $bids[$key[0]+2];
|
|
|
+ if(isset($bids[$key+2])){
|
|
|
+ $bidArr[] = $bids[$key+2];
|
|
|
}else{
|
|
|
$bidArr[] = $bids[$value-1];
|
|
|
$value += 1;
|
|
|
}
|
|
|
- if(isset($bids[$key[0]+3])){
|
|
|
- $bidArr[] = $bids[$key[0]+3];
|
|
|
+ if(isset($bids[$key+3])){
|
|
|
+ $bidArr[] = $bids[$key+3];
|
|
|
}else{
|
|
|
$bidArr[] = $bids[$value-1];
|
|
|
}
|