123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <?php
- namespace App\Http\Controllers\Wap\Subscribe;
- use App\Modules\Cpa\Services\AdvertiseUserQueueService;
- use App\Modules\OfficialAccount\Services\ForceSubscribeService;
- use App\Modules\Subscribe\Services\OrderService;
- use App\Modules\User\Services\UserDivisionCpcPropertyService;
- use App\Modules\User\Services\UserService;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use App\Modules\Channel\Services\ChannelSubscribeSettingService;
- use Redis;
- use Cookie;
- use DB;
- class LinkSubscribeController extends Controller
- {
- public function index(Request $request)
- {
- $uid = $request->input('uid');
- $channel_id = $request->input('distribution_channel_id');
- $send_order_id = $request->input('send_order_id', 0);
- $appid = $request->input('appid');
- $bid = $request->input('bid', 0);
- $h5_scheme = env('H5_SCHEME', 'https');
- if (empty($uid) || empty($appid)) {
- $auth_url = $h5_scheme . '://' . _domain();
- } else {
- $sub_setting = ChannelSubscribeSettingService::getSubscribeTypeByAppId($appid);
- if ($sub_setting && strpos($sub_setting->force_subscribe_type, '3') !== false && !empty($sub_setting->resource_url)) {
- $url = $h5_scheme . '://' . _domain() . '/subauthback/?uid=' . $uid . '&distribution_channel_id=' . $channel_id . '&bid=' . $bid . '&send_order_id=' . $send_order_id . '&appid=' . $appid;
- $auth_url = env('QRCODE_AUTH_URL') . '?gzh_app_id=' . $appid . '&redirect_url=' . urlencode($url);
- } else {
- $auth_url = $h5_scheme . '://' . _domain();
- }
- }
- return redirect()->to($auth_url);
- }
- public function wxAuthCallBack(Request $request)
- {
- $uid = $request->input('uid');
- $bid = $request->input('bid', 0);
- $channel_id = $request->input('distribution_channel_id', 5);
- $openid = $request->input('openid');
- $appid = $request->input('appid');
- $send_order_id = $request->input('send_order_id', 0);
- $sub_setting = ChannelSubscribeSettingService::getSubscribeTypeByAppId($appid);
- if ($sub_setting && !empty($sub_setting->resource_url)) {
- Redis::hset('book:linksubscribe:openid:' . $openid . ':channelid:' . $channel_id, 'uid', $uid);
- Redis::hset('book:linksubscribe:openid:' . $openid . ':channelid:' . $channel_id, 'bid', $bid);
- Redis::hset('book:linksubscribe:openid:' . $openid . ':channelid:' . $channel_id, 'time', time());
- Redis::hset('book:linksubscribe:openid:' . $openid . ':channelid:' . $channel_id, 'send_order_id', $send_order_id);
- Redis::EXPIRE('book:linksubscribe:openid:' . $openid . ':channelid:' . $channel_id, 300);
- Redis::hset('force_subscribe_from_bid', $appid . '_' . $uid, $bid);
- Redis::hset('force_subscribe_from_send_order_id', $appid . '_' . $uid, $send_order_id);
- return redirect()->to($sub_setting->resource_url);
- } else {
- $h5_scheme = env('H5_SCHEME', 'https');
- $auth_url = $h5_scheme . '://site' . $channel_id . '.leyuee.com/';
- return redirect()->to($auth_url);
- }
- }
- public function subscribeView(Request $request)
- {
- $title = $request->input('title', '扫一扫');
- $img = $request->input('img');
- $head_img_pool = [
- 'https://cdn-novel.iycdm.com/h5/subscribe/headimg/1.png',
- 'https://cdn-novel.iycdm.com/h5/subscribe/headimg/2.png',
- 'https://cdn-novel.iycdm.com/h5/subscribe/headimg/3.png'
- ];
- //$head_img = $request->input('head_img','');
- $num = Cookie::get('sub_random_num');
- if (!$num) {
- $num = random_int(10, 20);
- Cookie::queue('sub_random_num', $num);
- }
- $uid = $request->get('uid');
- $head_img = array_random($head_img_pool);
- $domain = _domain();
- $distribution_channel_id = str_replace('site', '', explode('.', $domain)[0]);
- if (!is_numeric($distribution_channel_id)) {
- $distribution_channel_id = decodeDistributionChannelId($distribution_channel_id);
- }
- $new_sub_page = env('NEW_SUB_PAGE', -1);
- $template = 2;
- if (in_array($distribution_channel_id, [123, 211, 2, 14])) {
- if ($uid % 2 == 0) {
- $template = 3;
- }
- //$this->userForceSubscribeTemplate($uid, $distribution_channel_id, $template);
- }
- if($this->appad($uid,$distribution_channel_id)){
- return view('wap.subscribeV3', compact('title', 'img', 'head_img', 'num', 'template'));
- /*if($uid % 2 == 0){
- $this->userForceSubscribeTemplate($uid,$distribution_channel_id,6);
- return view('wap.subscribeV3', compact('title', 'img', 'head_img', 'num', 'template'));
- }else{
- $this->userForceSubscribeTemplate($uid,$distribution_channel_id,5);
- return view('wap.subscribeV2', compact('title', 'img', 'head_img', 'num', 'template'));
- }*/
- }else{
- return view('wap.subscribeV2', compact('title', 'img', 'head_img', 'num', 'template'));
- }
- }
- private function userForceSubscribeTemplate($uid, $distribution_channel_id, $template_type)
- {
- try {
- DB::table('user_force_subscribe_template')->insert([
- 'uid' => $uid,
- 'distribution_channel_id' => $distribution_channel_id,
- 'template_type' => $template_type,
- 'created_at' => date('Y-m-d H:i:s'),
- 'updated_at' => date('Y-m-d H:i:s'),
- ]);
- } catch (\Exception $e) {
- }
- }
- private function appad($uid, $distribution_channel_id)
- {
- //自由人站点强关走老的
- $ziyouren_sites = [
- 180,181,182,189,222,224,225,253,276,277,278,279,
- 280,434,692,713,714,725,726,732,733,734,735,738,
- 739,763,764,766,768,780,787,817,833,834,835,836,
- 841,842,843,844,846,884,885,889,890,891,895,896,
- 898,928,931,932,935,976,1021,4042,4043,4044,4045,
- 4143,4273,4285,4286,4287,4322,4347,4369,4390,4392,
- 4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,
- 4403,4404,4405,4406,4413,4414,4415,4416,4433,4434,
- 4435,4436,4438,4439,4440,4441,4442,4443,4444,4445,
- 4456,4483,4511,4512,4561,4562,4563,4564,4565,4566,
- 4567,4568,4569,4603,4604,4605,4606,4607,4608,4609,
- 4624,4905,4906,4907,4908,4909,4910,5188,5250,5252,
- 5261,5262,5263,5274,5282,5283,5284,5310,5311,5312,
- 5313,5314,5315,5321,5322,5323,5324,5344,5348,5361,
- 5372,5466,5474,5552,5568,5576,5581,5594,5612,5615,5621,5674,5690,5691,5692,5717,5722,5732,5733,5734,5735,5847,5848,5849,5850,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5952,6005,6057,6058,6059,6060,6218,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6619,6620,6621,6622,
- 6623,6624,6625,6626,6670,6840,6854,6855,6896,6947
- ];
- if(in_array($distribution_channel_id,$ziyouren_sites)){
- return false;
- }
- /*$ads_open_site = env('ADS_OPEN_SITE','');
- if($ads_open_site == 'all'){
- return UserService::isCpcUser($uid);
- }*/
- $cpc_status = Redis::hget('channel:setting:'.$distribution_channel_id,'cpc_status');
- if(is_null($cpc_status) || $cpc_status == 1){
- $prop = UserDivisionCpcPropertyService::getUserProperty($uid);
- return $prop == 'none';
- }
- return false;
- /*if (!in_array($distribution_channel_id, explode(',', $ads_open_site))) {
- return false;
- }
- return UserService::isCpcUser($uid);*/
- }
- }
|