|
@@ -11,6 +11,7 @@ use App\Modules\RecommendBook\Services\QappRecommendService;
|
|
use App\Modules\RecommendBook\Services\RecommendService;
|
|
use App\Modules\RecommendBook\Services\RecommendService;
|
|
use App\Modules\Book\Services\RecoBannerService;
|
|
use App\Modules\Book\Services\RecoBannerService;
|
|
use App\Modules\Trade\Services\OrderService;
|
|
use App\Modules\Trade\Services\OrderService;
|
|
|
|
+use App\Modules\User\Models\ChannelAdUser;
|
|
use App\Modules\User\Models\QappPackage;
|
|
use App\Modules\User\Models\QappPackage;
|
|
use App\Modules\User\Services\QappUserService;
|
|
use App\Modules\User\Services\QappUserService;
|
|
|
|
|
|
@@ -207,6 +208,7 @@ class BookController extends BaseController
|
|
$result = $this->getBidCidFromUrl($item->redirect_url);
|
|
$result = $this->getBidCidFromUrl($item->redirect_url);
|
|
$item->bid = $result['bid'];
|
|
$item->bid = $result['bid'];
|
|
$item->cid = $result['cid'];
|
|
$item->cid = $result['cid'];
|
|
|
|
+ $item->id = Hashids::encode($item->id);
|
|
if ($result['cid']) {
|
|
if ($result['cid']) {
|
|
$item->redirect_url = "views/Reader";
|
|
$item->redirect_url = "views/Reader";
|
|
} else {
|
|
} else {
|
|
@@ -572,6 +574,7 @@ class BookController extends BaseController
|
|
$result = $this->getBidCidFromUrl($item->redirect_url);
|
|
$result = $this->getBidCidFromUrl($item->redirect_url);
|
|
$item->bid = $result['bid'];
|
|
$item->bid = $result['bid'];
|
|
$item->cid = $result['cid'];
|
|
$item->cid = $result['cid'];
|
|
|
|
+ $item->id = Hashids::encode($item->id);
|
|
if ($result['cid']) {
|
|
if ($result['cid']) {
|
|
$item->redirect_url = "views/Reader";
|
|
$item->redirect_url = "views/Reader";
|
|
} else {
|
|
} else {
|
|
@@ -607,6 +610,7 @@ class BookController extends BaseController
|
|
$result = $this->getBidCidFromUrl($item->redirect_url);
|
|
$result = $this->getBidCidFromUrl($item->redirect_url);
|
|
$item->bid = $result['bid'];
|
|
$item->bid = $result['bid'];
|
|
$item->cid = $result['cid'];
|
|
$item->cid = $result['cid'];
|
|
|
|
+ $item->id = Hashids::encode($item->id);
|
|
if ($result['cid']) {
|
|
if ($result['cid']) {
|
|
$item->redirect_url = "views/Reader";
|
|
$item->redirect_url = "views/Reader";
|
|
} else {
|
|
} else {
|
|
@@ -682,9 +686,9 @@ class BookController extends BaseController
|
|
*/
|
|
*/
|
|
public function recommendBooks(Request $request)
|
|
public function recommendBooks(Request $request)
|
|
{
|
|
{
|
|
- $package = $request->header('x-package','');
|
|
|
|
|
|
+ $distribution_id = $this->distribution_channel_id;
|
|
$bid = $request->get('bid',0);
|
|
$bid = $request->get('bid',0);
|
|
- if(empty($package)){
|
|
|
|
|
|
+ if(empty($distribution_id)){
|
|
\Log::info('recommendBooks:1');
|
|
\Log::info('recommendBooks:1');
|
|
return response()->success([]);
|
|
return response()->success([]);
|
|
}
|
|
}
|
|
@@ -695,14 +699,14 @@ class BookController extends BaseController
|
|
}
|
|
}
|
|
|
|
|
|
//判断包是否存在
|
|
//判断包是否存在
|
|
- $package_info = QappPackage::getPackageByPackage($package);
|
|
|
|
|
|
+ $package_info = QappPackage::getPackage($distribution_id);
|
|
if(empty($package_info) || !isset($package_info->channel_id)){
|
|
if(empty($package_info) || !isset($package_info->channel_id)){
|
|
\Log::info('recommendBooks:3');
|
|
\Log::info('recommendBooks:3');
|
|
return response()->success([]);
|
|
return response()->success([]);
|
|
}
|
|
}
|
|
|
|
|
|
//包对应有没有配置开启推荐书单
|
|
//包对应有没有配置开启推荐书单
|
|
- $config = ChannelRecommendBookConfigService::getRecommendConfigs($package_info->channel_id);
|
|
|
|
|
|
+ $config = ChannelRecommendBookConfigService::getRecommendConfigs($distribution_id);
|
|
if(empty($config) || !isset($config->status) || $config->status == 0){
|
|
if(empty($config) || !isset($config->status) || $config->status == 0){
|
|
\Log::info('recommendBooks:4');
|
|
\Log::info('recommendBooks:4');
|
|
return response()->success([]);
|
|
return response()->success([]);
|
|
@@ -715,10 +719,10 @@ class BookController extends BaseController
|
|
return response()->success([]);
|
|
return response()->success([]);
|
|
}
|
|
}
|
|
|
|
|
|
- $list = ChannelRecommendBooksService::getRecommendBooks($package_info->channel_id,$bid);
|
|
|
|
|
|
+ $list = ChannelRecommendBooksService::getRecommendBooks($distribution_id,$bid);
|
|
if(!$list->isEmpty()){
|
|
if(!$list->isEmpty()){
|
|
foreach($list as $key => $item){
|
|
foreach($list as $key => $item){
|
|
- $this->incrRecommendNum($package_info->channel_id,$item->bid);
|
|
|
|
|
|
+ $this->incrRecommendNum($distribution_id,$item->bid);
|
|
}
|
|
}
|
|
\Log::info('recommendBooks:6');
|
|
\Log::info('recommendBooks:6');
|
|
return response()->collection(new BookTransformer(), $list);
|
|
return response()->collection(new BookTransformer(), $list);
|
|
@@ -734,26 +738,22 @@ class BookController extends BaseController
|
|
*/
|
|
*/
|
|
public function clickRecommendBooks(Request $request)
|
|
public function clickRecommendBooks(Request $request)
|
|
{
|
|
{
|
|
- $package = $request->header('x-package','');
|
|
|
|
|
|
+ $distribution_id = $this->distribution_channel_id;
|
|
$bid = $request->get('bid','');
|
|
$bid = $request->get('bid','');
|
|
if(empty($bid)){
|
|
if(empty($bid)){
|
|
return response()->success();
|
|
return response()->success();
|
|
}
|
|
}
|
|
|
|
|
|
//判断包是否存在
|
|
//判断包是否存在
|
|
- $package_info = QappPackage::getPackageByPackage($package);
|
|
|
|
|
|
+ $package_info = QappPackage::getPackage($distribution_id);
|
|
if(empty($package_info) || !isset($package_info->channel_id)){
|
|
if(empty($package_info) || !isset($package_info->channel_id)){
|
|
return response()->success([]);
|
|
return response()->success([]);
|
|
}
|
|
}
|
|
$date = date('Ymd');
|
|
$date = date('Ymd');
|
|
$bid = Hashids::decode($bid)[0];
|
|
$bid = Hashids::decode($bid)[0];
|
|
|
|
|
|
- $cacheKey = 'recommend:click:'.$date.':'.$package_info->channel_id.$bid;
|
|
|
|
- if(!Redis::exists($cacheKey)){
|
|
|
|
- Redis::set($cacheKey,1);
|
|
|
|
- }else{
|
|
|
|
- Redis::incrBy($cacheKey, 1);
|
|
|
|
- }
|
|
|
|
|
|
+ $cacheKey = 'recommend:click:'.$date.':'.$distribution_id.$bid;
|
|
|
|
+ $this->incrRedisKey($cacheKey);
|
|
return response()->success();
|
|
return response()->success();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -844,6 +844,48 @@ class BookController extends BaseController
|
|
{
|
|
{
|
|
$date = date('Ymd');
|
|
$date = date('Ymd');
|
|
$cacheKey = 'recommend:sum:'.$date.':'.$channel_id.$bid;
|
|
$cacheKey = 'recommend:sum:'.$date.':'.$channel_id.$bid;
|
|
|
|
+ $this->incrRedisKey($cacheKey);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 点击广告统计
|
|
|
|
+ * @param Request $request
|
|
|
|
+ * @return mixed
|
|
|
|
+ */
|
|
|
|
+ public function getCheckAdvertisement(Request $request)
|
|
|
|
+ {
|
|
|
|
+ $type = $request->get('type','');
|
|
|
|
+ $id = $request->get('id','');
|
|
|
|
+ $distribution_id = $this->distribution_channel_id;
|
|
|
|
+ if(empty($type) || empty($id) || empty($distribution_id)){
|
|
|
|
+ return response()->success();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $id = Hashids::decode($id)[0];
|
|
|
|
+ if(!$id){
|
|
|
|
+ return response()->success();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if($type == 'default'){
|
|
|
|
+ //默认原表reco_banners广告,区分跟新表channel_advert的id
|
|
|
|
+ $id = -$id;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $where = ['channel_ad_id' => $id, 'uid' => $this->uid, 'distribution_id' => $distribution_id];
|
|
|
|
+ ChannelAdUser::firstOrCreate($where);
|
|
|
|
+
|
|
|
|
+ $date = date('Ymd');
|
|
|
|
+ $cacheKey = 'advertisement:pv:'.$date.':'.$distribution_id.$id;
|
|
|
|
+ $this->incrRedisKey($cacheKey);
|
|
|
|
+ return response()->success();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * redis新增
|
|
|
|
+ * @param $cacheKey
|
|
|
|
+ */
|
|
|
|
+ protected function incrRedisKey($cacheKey)
|
|
|
|
+ {
|
|
if(!Redis::exists($cacheKey)){
|
|
if(!Redis::exists($cacheKey)){
|
|
Redis::set($cacheKey,1);
|
|
Redis::set($cacheKey,1);
|
|
}else{
|
|
}else{
|