getNovelEndRecommendModel()->getBooksBySex($sex,$isWater); // 今日阅读数 $bookNumKey = 'B-N'; // 获取测书书库中书籍ids $novelsBookIds = []; $data = []; if ( !empty( $novels ) ) { $novelsBookIds = array_column( $novels, 'book_id' ); $books = model('Book')->getBooksInfo( $novelsBookIds ); $booksInfo = []; if( !empty($books) ){ foreach ($books as $k => $v){ // 如果书籍已经入库,则不显示 if($v['state'] != -1){ $booksInfo[$v['id']] = $v; } } } foreach ($novels as $key=>$book) { //没有bookInfo 的去掉 if ( !isset( $booksInfo[$book['book_id']] ) ){ continue; } $bookInfo = $booksInfo[$book['book_id']]; $book = array_merge($book, $bookInfo); $data[] = $book; } } // B-N + read_num // 根据阈值去重, 书籍点击率大于推荐书籍阈值,剔除 // if ($novels) { // foreach ($novels as $key=>$book) { // // 排重 // if($book_id == $book['book_id']){ // unset($novels[$key]); // } // if(($book['read_num'] + $book['bn_num']) >= $book['click_threshold']){ // unset($novels[$key]); // } // } // } if ($data) { //wudd 跟阅读记录过滤互斥书籍 // $data = BookRelationService::instance()->filterLikeBookRelation($data, $num); $data = array_slice($data, 0, $num); } if ($data && !empty($data)) { LogService::info('novels_redis缓存命中'); cache::set($novelsFileCacheKey, $data, 600); } else { LogService::info('novels_redis缓存命中,内容空'); cache::set($novelsFileCacheKey, 1, 600); } return $data; } /** * 将数组中的某个值作为KEY * @param $arr * @param $keyname * @return array */ private function _convertArr($arr, $keyname) { $res = []; if ($arr && is_array($arr)) { foreach ($arr as $key => $item) { $res[$item[$keyname]] = $item; } } return $res; } }