zz 6 年之前
父節點
當前提交
cc74ca221e

+ 8 - 0
app/Http/Controllers/Wap/Book/ChapterController.php

@@ -1396,6 +1396,14 @@ class ChapterController extends BaseController
     private function isOffShelf()
     {
         $book_info = $this->book_info;
+
+        //针对米玩站点部分图书放开
+        $miwan_sites = [4340,4834,4842,4992,5014,5021,5030,5035,5036,5037,5042,5043,5048,5049,5051,5066,5075,5094,5095,5096,5106,5110,5111,5112,5122,5131,5157,5167,5180,5189,5232,5234,5237,5238,5240];
+        if(in_array($this->distribution_channel_id,$miwan_sites) && in_array($book_info->bid,[1154,1232,1276,1295,1535,1542,1629,2430,4437,4730]))
+        {
+            return false;
+        }
+
         if ($book_info->is_on_shelf == 0 || $book_info->is_on_shelf == 3) {
             return true;
         }

+ 57 - 3
app/Http/Controllers/Wap/Web/RedirectController.php

@@ -3,7 +3,9 @@
 namespace App\Http\Controllers\Wap\Web;
 
 use App\Modules\Subscribe\Services\OrderService;
+use App\Modules\User\Services\ReadRecordService;
 use Illuminate\Routing\Controller;
+use App\Http\Controllers\Wap\BaseController;
 use Illuminate\Http\Request;
 use Cookie;
 use DB;
@@ -11,8 +13,10 @@ use Redis;
 use App\Modules\SendOrder\Services\SendOrderService;
 use App\Modules\OfficialAccount\Services\ForceSubscribeService;
 use App\Modules\Statistic\Services\WapVisitStatService;
+use Hashids;
+use Log;
 
-class RedirectController extends Controller
+class RedirectController extends BaseController
 {
     private $alluv;
     /**
@@ -23,6 +27,7 @@ class RedirectController extends Controller
      */
     public function index(Request $request, $t, $domain, $param)
     {
+        $this->send_order_id = $param;
         $h5_scheme = 'https';
         //判断派单链接有没有进黑名单
         $black_send_order_ids = explode(',', env('BLACK_SEND_ORDER_IDS'));
@@ -46,7 +51,7 @@ class RedirectController extends Controller
             return response()->error('UNKNOWN_ERROR');
         }
         $uid = Cookie::get(env('COOKIE_AUTH_WEB_WECHAT'));
-        if($uid){
+        if($this->uid){
             try{
                 Redis::hset('book_read:' . $uid, 'send_order_id', $param);
             }catch (\Exception $e){}
@@ -130,13 +135,62 @@ class RedirectController extends Controller
                $url = secure_url('/') .$redirect_path;
                return redirect()->to($url);
            }else{
-               return redirect()->to($url);
+               if (($recent_url = $this->JumpTorecentRead($link->redirect_url, $this->uid, $param))) {
+                   return redirect()->to($recent_url);
+               } else {
+                   return redirect()->to($url);
+               }
+               //return redirect()->to($url);
            }
         }
         return redirect()->to(parse_url(url()->current())['scheme'] . '://' . _domain() . '/?' . $query);
     }
 
 
+    private function JumpTorecentRead($url, $uid, $send_order_id)
+    {
+        //Log::info('JumpTorecentRead($url, $uid, $send_order_id)'.$url.'--'.$uid.'----'.$send_order_id);
+        if (!$uid) return '';
+        $url_info = parse_url($url);
+        //Log::info($url_info);
+        if (!isset($url_info['path']) || !isset($url_info['query']) || $url_info['path'] != '/reader') return '';
+
+        parse_str($url_info['query'], $query_param);
+        //Log::info('$query_param');
+        //Log::info($query_param);
+        if (!$query_param || !isset($query_param['bid']) || !isset($query_param['cid'])) return '';
+        $bid = 0;
+        $bid_str = $query_param['bid'];
+        $cid = $query_param['cid'];
+        try {
+            $bid_arr = Hashids::decode($bid_str);
+            if (isset($bid_arr[0])) $bid = $bid_arr[0];
+        } catch (\Exception $e) {
+        }
+        //Log::info('$bid is: .'.$bid);
+        if (!$bid) return '';
+        $record_info = '';
+        try {
+            $record_info = ReadRecordService::getRecordByUidBid($uid, $bid);
+        } catch (\Exception $e) {
+            \Log::info($e);
+        }
+
+        if (!$record_info) return '';
+        $record_info_arr = explode('_', $record_info);
+        if (!isset($record_info_arr[0])) return '';
+
+        $param['cid'] = $record_info_arr[0];
+        $param['bid'] = $bid_str;
+        $param['soid'] = $send_order_id;
+        if ($cid && $cid != $record_info_arr[0]) {
+            $url = env('H5_SCHEME', 'https') . '://' . _domain() . '/reader?' . http_build_query($param);
+            return $url;
+        }
+        return '';
+    }
+
+
     public function testLogin(Request $request)
     {
         $siteid = $request->input('siteid');

+ 46 - 2
app/Http/Controllers/Wap/Web/WelcomeController.php

@@ -29,6 +29,7 @@ use App\Http\Controllers\Wap\Book\Transformers\BookTransformer;
 class WelcomeController extends BaseController
 {
 
+    private $force_subscribe_info = null;
     /**
      * 首页
      */
@@ -106,7 +107,22 @@ class WelcomeController extends BaseController
         $hide_chapter_channels = explode(',', env('HIDE_CHAPTER_CONSUME_CHANNEL'));
         $is_hide_chapter_consume = in_array($this->distribution_channel_id, $hide_chapter_channels) ? 1 : 0;
         //广告
-
+        
+        // 屏蔽书名
+        $self_config = ChannelService::check_channel_account_priv($this->distribution_channel_id,'hide_book_name');
+        $hide_book_name = 0;
+        if(!empty($self_config)){
+        	$hide_book_name = 1;
+        }
+        //原创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])){
+            $yctj = true;
+            $yctj_url = 'https://m.ycsd.cn/continue';
+        }
+        //app广告
+        $add_ad_status = $this->appad();
         $options = json_encode([
             'distribution_channel_id' => (int)$this->distribution_channel_id,
             'send_order_id' => $send_order_id,
@@ -136,7 +152,13 @@ class WelcomeController extends BaseController
             'ad_type' => '1',
             'is_show_ad_frame' => $is_show_ad_frame,
             'show_title_in_reader' => $show_title_in_reader,
-            'is_hide_chapter_consume' => $is_hide_chapter_consume
+            'is_hide_chapter_consume' => $is_hide_chapter_consume,
+        	'hide_book_name' => $hide_book_name,
+            'yctj'=>$yctj,
+            'yctj_url'=>$yctj_url,
+            'appad'=>$add_ad_status['appad'],
+            'appad_banner'=>$add_ad_status['appad_banner'],
+            'appad_url'=>$add_ad_status['appad_url']
         ]);
         if ($this->uid == env('SPECIAL_USER_LOG', 2)) {
             myLog('special')->info('welcome --------------------------');
@@ -393,6 +415,7 @@ class WelcomeController extends BaseController
         if ($subscribe) return $subscribe;
         //强关公众号名称
         $force_subscribe = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+        $this->force_subscribe_info = $force_subscribe;
         if ($force_subscribe) {
             $force_subscribe_official = DB::table('official_accounts')->where('appid',$force_subscribe->appid)->select('nickname')->first();
             if ($force_subscribe_official) {
@@ -412,6 +435,27 @@ class WelcomeController extends BaseController
         return $title;
     }
 
+
+    private function appad(){
+        if(!$this->force_subscribe_info){
+            $this->force_subscribe_info = ForceSubscribeService::forceSubscribeUsersByUid(['uid' => $this->uid]);
+        }
+        if(!$this->force_subscribe_info){
+            return ['appad'=>false,'appad_banner'=>'','appad_url'=>''];
+        }
+        if($this->force_subscribe_info->subscribe_time &&
+            (time()-strtotime($this->force_subscribe_info->subscribe_time) >=3*86400)
+            && !OrderService::isPaidUser($this->uid)
+        ){
+            return [
+                'appad'=>true,
+                'appad_banner'=>'https://cdn-novel.iycdm.com/h5/app-ad-banner.jpg',
+                'appad_url'=>'/advertise/show?uid='.Hashids::encode($this->uid)
+            ];
+        }
+        return ['appad'=>false,'appad_banner'=>'','appad_url'=>''];
+    }
+
     /**
      * 获取客服图片
      */

+ 16 - 0
app/Modules/Channel/Services/ChannelService.php

@@ -358,6 +358,22 @@ class ChannelService
     	return self::getDistributionChannelSwitchByCategoryAndCompany($company_id,$category);
     }
     
+    // 判断渠道的某个分类的 按照登录账号的权限
+    static function check_channel_account_priv($distribution_channel_id,$category){
+    	$distribution = self::getDistributionChannel($distribution_channel_id);
+    	$channel_user_id = isset($distribution->channel_user_id)?$distribution->channel_user_id:'';
+    	$channel_user = ChannelUserService::getById($channel_user_id);
+    	$account = isset($channel_user->phone)?$channel_user->phone:'';
+    
+    	\Log::info('check_channel_company_priv:category:'.$category.' distribution_channel_id:'.$distribution_channel_id.' channel_user_id:'.$channel_user_id.' account:'.$account);
+    	return self::getDistributionChannelSwitchByCategoryAndAccount($account,$category);
+    }
+    
+    static function getDistributionChannelSwitchByCategoryAndAccount($account,$category)
+    {
+    	return DistributionSelfDefineConfig::getDistributionChannelSwitchByCategoryAndAccount($account,$category);
+    }
+    
     /**
      * 根据站点属性,转换对应的回复链接
      */

+ 5 - 1
app/Modules/OfficialAccount/Models/DistributionSelfDefineConfig.php

@@ -8,7 +8,7 @@ class DistributionSelfDefineConfig extends Model
 {
     protected $tables = 'distribution_self_define_configs';
 
-    protected $fillable = ['distribution_channel_id','company_id','desc','status','type','created_at','updated_at'];
+    protected $fillable = ['distribution_channel_id','company_id','account','content','desc','status','type','created_at','updated_at'];
 
 
     static function getDistributionSelfDefineConfig($distribution_channel_id,$type)
@@ -20,6 +20,10 @@ class DistributionSelfDefineConfig extends Model
     {
     	return self::where(['company_id'=>$company_id,'type'=>$type,'status'=>1])->first();
     }
+    
+    static function getDistributionChannelSwitchByCategoryAndAccount($account,$type){
+    	return self::where(['account'=>$account,'type'=>$type,'status'=>1])->first();
+    }
     
     static function getDistributionsByType($type)
     {

+ 107 - 106
app/Modules/OfficialAccount/Services/CustomMsgService.php

@@ -228,7 +228,8 @@ class CustomMsgService
             $continueReadUrl = env('PROTOCOL').'://site'.encodeDistributionChannelId($distribution_channel_id).'.'.env('CUSTOM_HOST').'.com/continue?fromtype=not_pay';
 
             //拼接文案和用户最近阅读书籍的链接以及书籍名称
-            $data['content'] = '亲,你上次看的书还在等着你呐~点击继续阅读'."\n".'<a href="'.$continueReadUrl.'"> >《'.$userBook['book_name'].'》</a>'."\n".'首冲50元即可畅读100万字,年费VIP更可全年无限畅读。'."\n".'为方便下次阅读,请'.'<a href="https://help.leyuee.com/top.html">'.'置顶公众号'.'</a>';
+            //$data['content'] = '亲,你上次看的书还在等着你呐~点击继续阅读'."\n".'<a href="'.$continueReadUrl.'"> >《'.$userBook['book_name'].'》</a>'."\n".'首冲50元即可畅读100万字,年费VIP更可全年无限畅读。'."\n".'为方便下次阅读,请'.'<a href="https://help.leyuee.com/top.html">'.'置顶公众号'.'</a>';
+            $data['content'] = '亲,你上次看的书还在等着你呐~'."\n".'<a href="'.$continueReadUrl.'"> >点击继续阅读</a>'."\n".'首冲50元即可畅读100万字,年费VIP更可全年无限畅读。'."\n".'为方便下次阅读,请'.'<a href="https://help.leyuee.com/top.html">'.'置顶公众号'.'</a>';
             $data['type'] = 'one_task';// last_task,one_task
             $data['task_id'] = 1;
             $data['send_time'] = date("Y-m-d H:i:s");
@@ -1791,11 +1792,11 @@ class CustomMsgService
     		$force_users = ForceSubscribeService::forceUserCountByCustomPrams($custom_param['appids'],$custom_param['distribution_channel_id'],$custom_param['subscribe_time'],$custom_param['sex'],$custom_param['balance'],$custom_param['category_id'],$custom_param['order_type'],$custom_param['sign_time'],$custom_param['skip']);
     		$force_users = self::get_unique_users($force_users,'unpaid_send_activity',3600*48);
     	}
-    	// 付费用户推送
-    	elseif($category_type == 'pay_daily_push'){
-    		$custom_param['order_type'] = 'd';//6-13小时充值,考虑到0-6点不推送
-    		$force_users = ForceSubscribeService::forceUserCountByCustomPrams($custom_param['appids'],$custom_param['distribution_channel_id'],$custom_param['subscribe_time'],$custom_param['sex'],$custom_param['balance'],$custom_param['category_id'],$custom_param['order_type'],$custom_param['sign_time'],$custom_param['skip']);
-    		$force_users = self::get_unique_users($force_users,'pay_daily_push',3600*24);
+    	// 付费用户推送
+    	elseif($category_type == 'pay_daily_push'){
+    		$custom_param['order_type'] = 'd';//6-13小时充值,考虑到0-6点不推送
+    		$force_users = ForceSubscribeService::forceUserCountByCustomPrams($custom_param['appids'],$custom_param['distribution_channel_id'],$custom_param['subscribe_time'],$custom_param['sex'],$custom_param['balance'],$custom_param['category_id'],$custom_param['order_type'],$custom_param['sign_time'],$custom_param['skip']);
+    		$force_users = self::get_unique_users($force_users,'pay_daily_push',3600*24);
     	}
     	else{
     		
@@ -1865,20 +1866,20 @@ class CustomMsgService
     			['image'=>'https://zhuishuyun.oss-cn-hangzhou.aliyuncs.com/smart_push/toutiao.jpg']
     			];
     		}
-    		$send_content[] = $first_activity;
-    		
-    	}
-    	// 未付费优惠充值活动推送(多选项)
-    	elseif($category_type == 'unpaid_send_big_activity'){
-    		//活动链接
-    		$continueReadUrl = env('PROTOCOL').'://site'.encodeDistributionChannelId($distribution_channel_id).'.'.env('CUSTOM_HOST').'.com/sale/newUserSale?fromtype=unpaid_send_activity&send_time='.time();
-    		$send_content = '您的新用户专享礼包已送达'."\n\n".'送25000书币及优惠券,畅读全站小说无压力!'."\n\n".'过期失效,只有1次机会哦!'."\n\n".'<a href="'.$continueReadUrl.'">点击立即领取> ></a>'."\n\n".'为方便下次阅读,请'.'<a href="https://help.leyuee.com/top.html">'.'置顶公众号'.'</a>';
-    	}
-    	// 未付费9.9活动推送
-    	elseif($category_type == 'unpaid_send_activity'){
-    		//活动链接
-    		$continueReadUrl = env('PROTOCOL').'://site'.encodeDistributionChannelId($distribution_channel_id).'.'.env('CUSTOM_HOST').'.com/sale/newUserActivity?fromtype=unpaid_send_activity&send_time='.time();
-    		$send_content = '您的新用户专享礼包已送达'."\n\n".'充9.9元,得2000书币,只有一次机会哦!'."\n\n".'过期失效,不要错过!'."\n\n".'<a href="'.$continueReadUrl.'">点击立即领取> ></a>'."\n\n".'为方便下次阅读,请'.'<a href="https://help.leyuee.com/top.html">'.'置顶公众号'.'</a>';
+    		$send_content[] = $first_activity;
+    		
+    	}
+    	// 未付费优惠充值活动推送(多选项)
+    	elseif($category_type == 'unpaid_send_big_activity'){
+    		//活动链接
+    		$continueReadUrl = env('PROTOCOL').'://site'.encodeDistributionChannelId($distribution_channel_id).'.'.env('CUSTOM_HOST').'.com/sale/newUserSale?fromtype=unpaid_send_activity&send_time='.time();
+    		$send_content = '您的新用户专享礼包已送达'."\n\n".'送25000书币及优惠券,畅读全站小说无压力!'."\n\n".'过期失效,只有1次机会哦!'."\n\n".'<a href="'.$continueReadUrl.'">点击立即领取> ></a>'."\n\n".'为方便下次阅读,请'.'<a href="https://help.leyuee.com/top.html">'.'置顶公众号'.'</a>';
+    	}
+    	// 未付费9.9活动推送
+    	elseif($category_type == 'unpaid_send_activity'){
+    		//活动链接
+    		$continueReadUrl = env('PROTOCOL').'://site'.encodeDistributionChannelId($distribution_channel_id).'.'.env('CUSTOM_HOST').'.com/sale/newUserActivity?fromtype=unpaid_send_activity&send_time='.time();
+    		$send_content = '您的新用户专享礼包已送达'."\n\n".'充9.9元,得2000书币,只有一次机会哦!'."\n\n".'过期失效,不要错过!'."\n\n".'<a href="'.$continueReadUrl.'">点击立即领取> ></a>'."\n\n".'为方便下次阅读,请'.'<a href="https://help.leyuee.com/top.html">'.'置顶公众号'.'</a>';
     	}    	
     	// 付费用户推送
     	elseif($category_type == 'pay_daily_push'){
@@ -1886,23 +1887,23 @@ class CustomMsgService
     		$book_name = isset($userBook['book_name'])?$userBook['book_name']:'';
     		$user = UserService::getById($uid);
     		$balance = isset($user->balance)?$user->balance:'0';
-    		$nickname = isset($user->nickname)?$user->nickname:'';
-    		//用户最近阅读链接
+    		$nickname = isset($user->nickname)?$user->nickname:'';
+    		//用户最近阅读链接
     		$continueReadUrl = env('PROTOCOL').'://site'.encodeDistributionChannelId($distribution_channel_id).'.'.env('CUSTOM_HOST').'.com/continue?fromtype=pay_daily_push';
     		//拼接文案
     		if(empty($book_name)){
-    			$send_content = '尊敬的会员:'.$nickname."\n\n".'您的账户余额:'.$balance."\n\n".'<a href="'.$continueReadUrl.'">点击继续阅读~</a>'."\n";
+    			$send_content = '尊敬的会员:'.$nickname."\n\n".'您的账户余额:'.$balance."\n\n".'<a href="'.$continueReadUrl.'">点击继续阅读~</a>'."\n";
     		}else{
-    			$send_content = '尊敬的会员:'.$nickname."\n\n".'您的账户余额:'.$balance."\n\n".'最近阅读书籍:《'.$book_name.'》'."\n\n".'<a href="'.$continueReadUrl.'">点击继续阅读~</a>'."\n";
+    			$send_content = '尊敬的会员:'.$nickname."\n\n".'您的账户余额:'.$balance."\n\n".'最近阅读书籍:《'.$book_name.'》'."\n\n".'<a href="'.$continueReadUrl.'">点击继续阅读~</a>'."\n";
     		}
-    		\Log::info('pay_daily_push_send_content:'.$uid);\Log::info($send_content);
-    		
-    	}
-    	 
-    	// TODO最近阅读?
-    	else{}
-    
-    	return $send_content;
+    		\Log::info('pay_daily_push_send_content:'.$uid);\Log::info($send_content);
+    		
+    	}
+    	 
+    	// TODO最近阅读?
+    	else{}
+    
+    	return $send_content;
     }
     
     /**
@@ -2761,17 +2762,17 @@ class CustomMsgService
      * @param unknown_type $timestamp
      */
     static function upload_material_img($param) {
-    	$params = array("gzh_app_id"=>$param['gzh_app_id'],"img_url"=>$param['img_url'],"group_nick"=>$param['group_nick'],"timestamp"=>$param['timestamp']);
-    	$sign = get_sign($params);
-    	
-    	//获取封面图片media_id
-    	$mediaCustomerJson = self::getUserClient()->request("GET","upload_material_img/",
-    			['query'=>['gzh_app_id'=>$param['gzh_app_id'],'img_url'=>$param['img_url'],'group_nick'=>$param['group_nick'],'timestamp'=>$param['timestamp'],'sign'=>$sign],'connect_timeout' => 3]
-    	)->getBody()->getContents();
-    	
-    	\Log::info("alter_upload_material_img:".$param['gzh_app_id'].' img_url:'.$param['img_url']);
-    	\Log::info($mediaCustomerJson);
-    	
+    	$params = array("gzh_app_id"=>$param['gzh_app_id'],"img_url"=>$param['img_url'],"group_nick"=>$param['group_nick'],"timestamp"=>$param['timestamp']);
+    	$sign = get_sign($params);
+    	
+    	//获取封面图片media_id
+    	$mediaCustomerJson = self::getUserClient()->request("GET","upload_material_img/",
+    			['query'=>['gzh_app_id'=>$param['gzh_app_id'],'img_url'=>$param['img_url'],'group_nick'=>$param['group_nick'],'timestamp'=>$param['timestamp'],'sign'=>$sign],'connect_timeout' => 3]
+    	)->getBody()->getContents();
+    	
+    	\Log::info("alter_upload_material_img:".$param['gzh_app_id'].' img_url:'.$param['img_url']);
+    	\Log::info($mediaCustomerJson);
+    	
     	$mediaCustomerArray = json_decode($mediaCustomerJson,true);
     	return $mediaCustomerArray;
     }
@@ -2781,30 +2782,30 @@ class CustomMsgService
     	\Log::info('last_urls');\Log::info($last_urls);
     	$multy_urls = [];
     	foreach($last_urls as $last_url){
-    		if(strpos($last_url,'mmbiz.qpic.cn') > -1){
-    			\Log::info('wx_url_continue:'.$last_url);
-    			continue;
+    		if(strpos($last_url,'mmbiz.qpic.cn') > -1){
+    			\Log::info('wx_url_continue:'.$last_url);
+    			continue;
     		}
-    		$last_url = str_replace(array("&amp;","&quot;","amp;","quot;"), "", htmlspecialchars($last_url));
-    		$params = array("gzh_app_id"=>$base_param['gzh_app_id'],"img_url"=>$last_url,"group_nick"=>$base_param['group_nick'],"timestamp"=>$base_param['timestamp']);
+    		$last_url = str_replace(array("&amp;","&quot;","amp;","quot;"), "", htmlspecialchars($last_url));
+    		$params = array("gzh_app_id"=>$base_param['gzh_app_id'],"img_url"=>$last_url,"group_nick"=>$base_param['group_nick'],"timestamp"=>$base_param['timestamp']);
     		$sign = get_sign($params);
-    		$params['sign'] = $sign;
+    		$params['sign'] = $sign;
     		$url = env('MEDIA_API_BASE_URI').'upload_material_img?'.http_build_query($params);
     		$multy_url = [];
     		$multy_url['request_url'] = $url;
     		$multy_url['old_url'] = $last_url;
-    		$multy_urls[] = $multy_url;
+    		$multy_urls[] = $multy_url;
     	}
     	
     	// 最多尝试3次
     	$try_time = 0;
     	while($try_time < 3){
     		try{
-    			$url_mappings = self::multiRequest($multy_urls);
-    			\Log::info('$url_mappings');\Log::info($url_mappings);
-    			if(!empty($url_mappings)){
-    				\Log::info('multiRequest_success');
-    				break;
+    			$url_mappings = self::multiRequest($multy_urls);
+    			\Log::info('$url_mappings');\Log::info($url_mappings);
+    			if(!empty($url_mappings)){
+    				\Log::info('multiRequest_success');
+    				break;
     			}
     		}catch(\Exception $e){
     			\Log::info('multiRequest_ept:'.$e->getMessage());
@@ -2818,28 +2819,28 @@ class CustomMsgService
     	
     	foreach($url_mappings as $key=>$url_mapping){
     		\Log::info('replace_old_url:'.$url_mapping['old_url'].' new_url:'.$url_mapping['new_url']);
-    		$content = str_replace($url_mapping['old_url'], $url_mapping['new_url'], $content);
+    		$content = str_replace($url_mapping['old_url'], $url_mapping['new_url'], $content);
     	}
     	return $content;
     }
     
-    static function multiRequest($data){
-    	$client = new Client(
-    			['allow_redirects'=>true,
-    			'timeout'=>120000]);
-    
+    static function multiRequest($data){
+    	$client = new Client(
+    			['allow_redirects'=>true,
+    			'timeout'=>120000]);
+    
     	$promises  = [];
-    	$mappings = [];
-    
+    	$mappings = [];
+    
     	for($i=0;$i<count($data);$i++){
     		\Log::info('async_url:'.$data[$i]['request_url']);
-    		$promises[$i] = $client->getAsync($data[$i]['request_url']);
-    	}
+    		$promises[$i] = $client->getAsync($data[$i]['request_url']);
+    	}
     	$results = Promise\unwrap($promises);
-//     	\Log::info('multy_$results');\Log::info($results);
-    	$j = 0;
-    	foreach($data as $key=>&$v){
-    		$res = $results[$key]->getBody()->getContents();
+//     	\Log::info('multy_$results');\Log::info($results);
+    	$j = 0;
+    	foreach($data as $key=>&$v){
+    		$res = $results[$key]->getBody()->getContents();
     		$res = json_decode($res,true);
     		\Log::info('res:'.$key.' res:'.json_encode($res));
     		$mappings[$key]['old_url'] = $data[$key]['old_url'];
@@ -2849,45 +2850,45 @@ class CustomMsgService
     			\Log::info('multiRequest_error_return:'.$data[$key]['old_url'].' res:'.json_encode($res).' request_url:'.$data[$key]['request_url']);
     			return null;
     		}
-    	}
-    	return $mappings;
+    	}
+    	return $mappings;
     }
     
     // 单个链接上传替换
     static function one_upload_material_imgs($content,$last_urls){
     	\Log::info('one_upload_material_imgs_start');
-    	foreach($last_urls as $key=>$last_url){
-    		\Log::info('last_urls_count:'.count($last_urls).' now:'.$key);
-    		if(strpos($last_url,'mmbiz.qpic.cn') > -1){
-    			\Log::info('wx_url_continue:'.$last_url);
-    			continue;
-    		}
-    		$last_url = str_replace(array("&amp;","&quot;","amp;","quot;"), "", htmlspecialchars($last_url));
-    		 
-    		// TODO 加try 3次?
-    		$i = 0;
-    		while($i < 3){
-    			try{
-    				\Log::info('child_upload_material_img_start:i'.$i.' last_url:'.$last_url);
-    				$param['img_url'] = $last_url;
-    				$upload_res = self::upload_material_img($param);
-    				\Log::info('$upload_res');\Log::info($upload_res);
-    				if($upload_res['code'] == 1){
-    					$content = str_replace($last_url, $upload_res['data']['url'], $content);
-    					break;
-    				}
-    			}catch(\Exception $e){
-    				\Log::info('upload_matrial_img_ept:'.$e->getMessage());
-    				sleep(1);
-    			}
-    			$i++;
-    		}
-    		 
-    		if($i == 3){
-    			\Log::info('upload_matrial_img_return');
-    			return null;
-    		}
-    	
+    	foreach($last_urls as $key=>$last_url){
+    		\Log::info('last_urls_count:'.count($last_urls).' now:'.$key);
+    		if(strpos($last_url,'mmbiz.qpic.cn') > -1){
+    			\Log::info('wx_url_continue:'.$last_url);
+    			continue;
+    		}
+    		$last_url = str_replace(array("&amp;","&quot;","amp;","quot;"), "", htmlspecialchars($last_url));
+    		 
+    		// TODO 加try 3次?
+    		$i = 0;
+    		while($i < 3){
+    			try{
+    				\Log::info('child_upload_material_img_start:i'.$i.' last_url:'.$last_url);
+    				$param['img_url'] = $last_url;
+    				$upload_res = self::upload_material_img($param);
+    				\Log::info('$upload_res');\Log::info($upload_res);
+    				if($upload_res['code'] == 1){
+    					$content = str_replace($last_url, $upload_res['data']['url'], $content);
+    					break;
+    				}
+    			}catch(\Exception $e){
+    				\Log::info('upload_matrial_img_ept:'.$e->getMessage());
+    				sleep(1);
+    			}
+    			$i++;
+    		}
+    		 
+    		if($i == 3){
+    			\Log::info('upload_matrial_img_return');
+    			return null;
+    		}
+    	
     	}
     	
     	return $content;
@@ -2907,14 +2908,14 @@ class CustomMsgService
     	if(isset($ff_urls[0])){
     		unset($ff_urls[0]);
     	}
-    	\Log::info('ff_matchs:');
+    	\Log::info('ff_matchs:');
     	\Log::info($ff_urls);
     	
     	// 背景图模式
     	//background: url(&quot;http://yueduyun.oss-cn-hangzhou.aliyuncs.com/book_chapter_image_test/5pNo6A7wqQmB1WgQygDjkOM9VZn2vXeY/1/1_0.jpg&quot;)
-    	preg_match_all('/background: url\((.*)\)/U',$content,$bg_matchs);
+    	preg_match_all('/background: url\((.*)\)/U',$content,$bg_matchs);
     	$bg_urls = isset($bg_matchs[1])?$bg_matchs[1]:array();
-    	\Log::info('bg_urls:');
+    	\Log::info('bg_urls:');
     	\Log::info($bg_urls);
     	
     	$last_urls = array_merge($ff_urls,$bg_urls);

+ 5 - 1
app/Modules/User/Services/UserSignService.php

@@ -349,11 +349,15 @@ class UserSignService
     }
 
     public static function signCallBackPushActivityInfo($uid,$distribution_channel_id){
+
         $activity_setting = ActivityService::getActivitySetting();
         if(!$activity_setting)
             return false;
         $acyivity_id = isset($activity_setting['activity_id'])?$activity_setting['activity_id']:0;
-
+        $other = env('OTHER_ACTIVITY_ID',0);
+        if($acyivity_id == $other && !in_array($distribution_channel_id,explode(',', env('OTHER_ACTIVITY_CHANNEL', '1')))){
+            return false;
+        }
         if(!$acyivity_id)
             return false;
         $activity_title = isset($activity_setting['sign_call_back_text'])?$activity_setting['sign_call_back_text']:'';;