|
@@ -94,7 +94,7 @@ class WelcomeController extends BaseController
|
|
|
$ad_status = env('AD_STATUS', 1);
|
|
|
$adTargetId = false;
|
|
|
if ($ad_status) {
|
|
|
- $adTargetId = $this->isUserInAdSample();
|
|
|
+ $adTargetId = $this->cpcAd();
|
|
|
}
|
|
|
//广告frame
|
|
|
$is_show_ad_frame_setting = env('IS_SHOW_AD_FRAME_SETTING', '123');
|
|
@@ -121,7 +121,7 @@ class WelcomeController extends BaseController
|
|
|
//原创pv uv
|
|
|
$yctj = false;
|
|
|
$yctj_url = '';
|
|
|
- if(in_array($this->distribution_channel_id,[2,5,8,146,155,255,691,722,4053,4174,4364,4426])){
|
|
|
+ if(in_array($this->distribution_channel_id,[2,146,155,255,691,722,4053,4174,4364,4426])){
|
|
|
$yctj = true;
|
|
|
$yctj_url = 'https://m.ycsd.cn/continue';
|
|
|
}
|
|
@@ -134,24 +134,6 @@ class WelcomeController extends BaseController
|
|
|
//突出包年的充值页面
|
|
|
$outstanding_year_order = $this->outstandingYearOrder();
|
|
|
|
|
|
- if(in_array($this->distribution_channel_id,explode(',',env('ADS_OPEN_SITE')))) {
|
|
|
- $add_ad_status = $this->appad();
|
|
|
- $my_bid = $request->input('bid','');
|
|
|
- $ua = $_SERVER['HTTP_USER_AGENT'];
|
|
|
- if($add_ad_status['appad'] == true && $my_bid && preg_match('/Android/',$ua)) {
|
|
|
- try{
|
|
|
- AdvertiseUsersService::addAdAccessRec(['uid'=>$this->uid,
|
|
|
- 'bid'=>Hashids::decode($my_bid)[0],
|
|
|
- 'position'=>'READER',
|
|
|
- 'created_at'=>date('Y-m-d H:i:s'),
|
|
|
- 'updated_at'=>date('Y-m-d H:i:s'),
|
|
|
- 'remark'=>$request->url()
|
|
|
- ]);
|
|
|
- }catch(\Exception $e){
|
|
|
- \Log::error('insert into advertise_access_rec failded:'.$e->getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
$options = json_encode([
|
|
|
'distribution_channel_id' => (int)$this->distribution_channel_id,
|
|
|
'send_order_id' => $send_order_id,
|
|
@@ -375,8 +357,24 @@ class WelcomeController extends BaseController
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- $activity_setting = ActivityService::getActivitySetting();
|
|
|
|
|
|
+ //自定义新用户活动
|
|
|
+ $show_custom_new_user_activity_channel = env('SHOW_CUSTOM_NEW_USER_ACTIVITY_CHANNEL', '');
|
|
|
+ if($show_custom_new_user_activity_channel && in_array($this->distribution_channel_id, explode(',', $show_custom_new_user_activity_channel ))){
|
|
|
+ $custom_activity_page = ActivityService::getActiveCustomActivityByType($this->distribution_channel_id,'CUSTOM_NEW_USER');
|
|
|
+ if($custom_activity_page){
|
|
|
+ $charge_count = Order::where('uid',$this->uid)->where('status','PAID')->count();
|
|
|
+ if($charge_count ==0 ){
|
|
|
+ $url = $h5_scheme . '://' . _domain() . $custom_activity_page->activity_page;
|
|
|
+ $is_show_activity = 1;
|
|
|
+ $activity_title = '优惠活动';
|
|
|
+ $bottom_show_type = 1;
|
|
|
+ $activity_img = 'https://cdn-novel.iycdm.com/h5/2019-04-04-banner.jpg';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $activity_setting = ActivityService::getActivitySetting();
|
|
|
if ($activity_setting) {
|
|
|
$activity_id = isset($activity_setting['activity_id']) ? $activity_setting['activity_id'] : 0;
|
|
|
$activity_info = Activity::find($activity_id);
|
|
@@ -507,6 +505,19 @@ class WelcomeController extends BaseController
|
|
|
return ['appad'=>false,'appad_banner'=>'','appad_url'=>''];
|
|
|
}
|
|
|
|
|
|
+ //CPC广告的优化逻辑
|
|
|
+ private function cpcAd(){
|
|
|
+ if(in_array($this->distribution_channel_id,[2,5,8,14,123,146,148,155,160,196,202,211,255,256,266,271,273,318,691,695,722,4025,4053,4174,4236,4237,4241,4334,4364,4426,4427,4487,4488,4593,4742,4889,4891,5204])){
|
|
|
+ $cookie_ad_status = Cookie::get('cpc_ad_status');
|
|
|
+ if($cookie_ad_status) return $cookie_ad_status == 'show';
|
|
|
+ if(UserService::isCpcUser($this->uid)){
|
|
|
+ Cookie::queue('cpc_ad_status', 'show', 3600);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Cookie::queue('cpc_ad_status', 'unshow', 3600);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
/**
|
|
|
* 获取客服图片
|
|
|
*/
|
|
@@ -990,6 +1001,52 @@ class WelcomeController extends BaseController
|
|
|
return view('pay.order.longactivitysixtyeight', ['url' => '###', 'img'=>$img, 'code' => -1, 'start_time' => date('Y-m-d', time() - 86400 * 2), 'end_time' => date('Y-m-d', time() - 86400)]);
|
|
|
}
|
|
|
|
|
|
+ public function channelNewUserActivity(Request $request)
|
|
|
+ {
|
|
|
+ $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
|
|
|
+ $token = $request->get('token');
|
|
|
+ $activity_info = ActivityService::getByToken($token);
|
|
|
+
|
|
|
+ $from = $request->get('fromtype', 'main');
|
|
|
+ $uv_key_format = 'activity:%s:distribution_channel_id:%s:date:%s:uv';
|
|
|
+ $pv_key_format = 'activity:%s:distribution_channel_id:%s:pv';
|
|
|
+
|
|
|
+ if ($activity_info && $activity_info->product_id){
|
|
|
+ $activity_id = $activity_info->id;
|
|
|
+ $uv_key = sprintf($uv_key_format, $activity_id, $this->distribution_channel_id, date('Y-m-d'));
|
|
|
+ $pv_key = sprintf($pv_key_format, $activity_id, $this->distribution_channel_id);
|
|
|
+ Redis::sadd($uv_key, $this->uid);
|
|
|
+ Redis::hincrby($pv_key, date('Y-m-d'), 1);
|
|
|
+ //活动未开始
|
|
|
+ if (time() < strtotime($activity_info->start_time)) {
|
|
|
+ return view('pay.order.newUserActivity', ['url' => '###', 'code' => -3, 'start_time' => substr($activity_info->start_time,0,10), 'end_time' => substr($activity_info->end_time,0,10)]);
|
|
|
+ }
|
|
|
+
|
|
|
+ //活动结束
|
|
|
+ if (time() > strtotime($activity_info->end_time)) {
|
|
|
+ return view('pay.order.newUserActivity', ['url' => '###', 'code' => -2, 'start_time' => substr($activity_info->start_time,0,10), 'end_time' => substr($activity_info->end_time,0,10)]);
|
|
|
+ }
|
|
|
+
|
|
|
+ $charge_count = Order::where('uid',$this->uid)->where('status','PAID')->count();
|
|
|
+ if($charge_count >0){
|
|
|
+ //不是新用户
|
|
|
+ return view('pay.order.newUserActivity', ['url' => '###', 'code' => -1, 'start_time' => substr($activity_info->start_time,0,10), 'end_time' => substr($activity_info->end_time,0,10)]);
|
|
|
+ }
|
|
|
+
|
|
|
+ $param = [
|
|
|
+ 'uid' => $this->uid,
|
|
|
+ 'distribution_channel_id' => $this->distribution_channel_id,
|
|
|
+ 'product_id' => $activity_info->product_id,
|
|
|
+ 'activity_id' => $activity_info->id,
|
|
|
+ 'fromtype' => $from,
|
|
|
+ 'pay_redirect_url' => env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/person'
|
|
|
+ ];
|
|
|
+ $url = env('CREATE_PAY_URL') . '?' . http_build_query($param);
|
|
|
+ return view('pay.order.newUserActivity', ['url' => $url, 'code' => 0, 'start_time' => substr($activity_info->start_time,0,10), 'end_time' => substr($activity_info->end_time,0,10)]);
|
|
|
+ }
|
|
|
+ return view('pay.order.newUserActivity', ['url' => '###', 'code' => -2, 'start_time' => date('Y-m-d',time()-86400*2), 'end_time' => date('Y-m-d',time()-86400)]);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 清明活动
|
|
|
*/
|