'subscribe', 'data' => ['openid'=>'','uid'=>$uid] ); $send = new \App\Jobs\SendStatisticsList($send_data); $job = ($send)->onConnection('rabbitmq')->delay(0)->onQueue('send_statistics_list'); dispatch($job); } catch (\Exception $e) { \Log::info('add_subscribe_statistics_ept:'.$e->getMessage()); } } /** * 增加强关用户 */ static function addForceSubscribeUsers($forceSubscribeUsersPrams) { try { \Log::info('~~~~~~~~~~~~~~~~~~~addForceSubscribeUsers~~~~~~~~~~~~~~~~~~~~'."\n"); $officialAccount = OfficialAccount::officialAccountByAppid($forceSubscribeUsersPrams['appid']); if (!empty($officialAccount)) { # code... $forceSubscribeUsers = ForceSubscribeUsers::forceSubscribeUsersByOpenidAndAC($forceSubscribeUsersPrams['openid'],$forceSubscribeUsersPrams['appid'],$officialAccount['distribution_channel_id']); // dd($forceSubscribeUsers); if(empty($forceSubscribeUsers)) { // $data = $request->all(); $bid = Redis::hget('force_subscribe_from_bid',$forceSubscribeUsersPrams['appid'].'_'.$forceSubscribeUsersPrams['uid']); if (empty($bid)) { # code... $bid = '0'; } $sendOrderId = Redis::hget('force_subscribe_from_send_order_id',$forceSubscribeUsersPrams['appid'].'_'.$forceSubscribeUsersPrams['uid']); if (empty($sendOrderId)) { # code... $sendOrderId = '0'; } if($bid && $sendOrderId){ $send_order_bid = Redis::hget('sendOrderIdToBid',$sendOrderId); if(!$send_order_bid){ $send_order_info = SendOrderService::getById($sendOrderId); if($send_order_info){ $send_order_bid = $send_order_info->book_id; Redis::hset('sendOrderIdToBid',$sendOrderId,$send_order_bid); } } if($send_order_bid && $bid == $send_order_bid){ $key = 'accurateSendOrderSubscribeNum:bid:%s:send_order_id:'.$sendOrderId; Redis::sadd(sprintf($key,$bid),$forceSubscribeUsersPrams['uid']); } } $data['is_subscribed'] = 1; $data['subscribe_time'] = date("Y-m-d H:i:s"); $data['last_interactive_time'] = $forceSubscribeUsersPrams['last_interactive_time']; $data['uid'] = $forceSubscribeUsersPrams['uid']; $data['appid'] = $forceSubscribeUsersPrams['appid']; $data['openid'] = $forceSubscribeUsersPrams['openid']; $data['distribution_channel_id'] = $forceSubscribeUsersPrams['distribution_channel_id']; $data['bid'] = $bid; $data['send_order_id'] = $sendOrderId; $data['official_account_id'] = isset($forceSubscribeUsersPrams['official_account_id'])?$forceSubscribeUsersPrams['official_account_id']:0; $forceSubscribeUsers = ForceSubscribeUsers::create($data); //Redis::hset('www.zhuishuyun.com'.'force_subscribe:scene:'.$forceSubscribeUsersPrams['uid'].':'.$forceSubscribeUsersPrams['appid'], 'is_subscribe', '[{is_subscribed:1},{subscribe_time:'.date("Y-m-d H:i:s").'}]'); //在Redis中记录一个appid下每天的强关用户数量 Redis::hincrby('day_appid_fans_nums_appid:add:'.$forceSubscribeUsersPrams['appid'],date("Y-m-d"),1); Redis::hincrby('day_appid_fans_nums_appid:add:'.$forceSubscribeUsersPrams['appid'],'total',1); // $user['openid'] = $forceSubscribeUsersPrams['openid']; // $user['unionid'] = $forceSubscribeUsersPrams['unionid']; // $user['distribution_channel_id'] = $forceSubscribeUsersPrams['distribution_channel_id']; $user['province'] = isset($forceSubscribeUsersPrams['province']) ? $forceSubscribeUsersPrams['province'] : ''; $user['nickname'] = isset($forceSubscribeUsersPrams['nick_name']) ? $forceSubscribeUsersPrams['nick_name'] : ''; $user['city'] = isset($forceSubscribeUsersPrams['city']) ? $forceSubscribeUsersPrams['city'] : ''; $user['country'] = isset($forceSubscribeUsersPrams['country']) ? $forceSubscribeUsersPrams['country'] : ''; $user['head_img'] = isset($forceSubscribeUsersPrams['headimgurl']) ? $forceSubscribeUsersPrams['headimgurl'] : ''; $user['sex'] = isset($forceSubscribeUsersPrams['sex']) ? $forceSubscribeUsersPrams['sex'] : ''; $user['id'] = isset($forceSubscribeUsersPrams['uid']) ? $forceSubscribeUsersPrams['uid'] : ''; \Log::info('~~~~~~~~~~~~~~~~~~~addForceSubscribeUsers~~~~~~~~~~~~~~~~~~~~'."\n"); \Log::info($user); UserService::updateInfo($user['id'],$user); // UserService::addUser($user); // 新关统计 \Log::info('addForceSubscribeUsers_redis_new:'.$forceSubscribeUsersPrams['uid']); $sub_key = 'gzh_new_sub:'.$forceSubscribeUsersPrams['appid'].':'.date('Y-m-d'); Redis::SADD($sub_key,$forceSubscribeUsersPrams['uid']); //Redis::EXPIRE($sub_key,24*3600*3); self::add_subscribe_statistics($forceSubscribeUsersPrams['uid']); return 1; } else { $forceSubscribeUsers['is_subscribed'] = 1; $forceSubscribeUsers['subscribe_time'] = date("Y-m-d H:i:s"); $forceSubscribeUsers->save(); //Redis::hset('www.zhuishuyun.com'.'force_subscribe:scene:'.$forceSubscribeUsersPrams['uid'].':'.$forceSubscribeUsersPrams['appid'], 'is_subscribe', '[{is_subscribed:1},{subscribe_time:'.date("Y-m-d H:i:s").'}]'); Redis::hincrby('day_appid_fans_nums_appid:add:'.$forceSubscribeUsersPrams['appid'],date("Y-m-d"),1); Redis::hincrby('day_appid_fans_nums_appid:add:'.$forceSubscribeUsersPrams['appid'],'total',1); // $user['openid'] = $forceSubscribeUsersPrams['openid']; // $user['unionid'] = $forceSubscribeUsersPrams['unionid']; // $user['distribution_channel_id'] = $forceSubscribeUsersPrams['distribution_channel_id']; $user['province'] = isset($forceSubscribeUsersPrams['province']) ? $forceSubscribeUsersPrams['province'] : ''; $user['nickname'] = isset($forceSubscribeUsersPrams['nick_name']) ? $forceSubscribeUsersPrams['nick_name'] : ''; $user['city'] = isset($forceSubscribeUsersPrams['city']) ? $forceSubscribeUsersPrams['city'] : ''; $user['country'] = isset($forceSubscribeUsersPrams['country']) ? $forceSubscribeUsersPrams['country'] : ''; $user['head_img'] = isset($forceSubscribeUsersPrams['headimgurl']) ? $forceSubscribeUsersPrams['headimgurl'] : ''; $user['sex'] = isset($forceSubscribeUsersPrams['sex']) ? $forceSubscribeUsersPrams['sex'] : ''; $user['id'] = isset($forceSubscribeUsersPrams['uid']) ? $forceSubscribeUsersPrams['uid'] : ''; \Log::info('~~~~~~~~~~~~~~~~~addForceSubscribeUsers~~~~~~~~~~~~~~~~'."\n"); //\Log::info($user); UserService::updateInfo($user['id'],$user); // 老关统计 \Log::info('addForceSubscribeUsers_redis_old:'.$forceSubscribeUsersPrams['uid']); $sub_key = 'gzh_old_sub:'.$forceSubscribeUsersPrams['appid'].':'.date('Y-m-d'); Redis::SADD($sub_key,$forceSubscribeUsersPrams['uid']); Redis::EXPIRE($sub_key,24*3600*3); self::add_subscribe_statistics($forceSubscribeUsersPrams['uid']); return 1; } } } catch (\Exception $e) { // \Log($e); return 0; } } /** * 更新强关用户uid */ static function updateSubscribeUsersUid($forceSubscribeUsersPrams) { try { $forceSubscribeUsers = ForceSubscribeUsers::getOneForceSubscribeUsersByOpenid($forceSubscribeUsersPrams['openid']); if(empty($forceSubscribeUsers)) { return 2; } else { \Log::info('updateSubscribeUsersUid,openid'. $forceSubscribeUsersPrams['openid']. ' old_uid:'.$forceSubscribeUsers->uid.' new_uid:'.$forceSubscribeUsersPrams['uid']); $forceSubscribeUsers['uid'] = $forceSubscribeUsersPrams['uid']; $forceSubscribeUsers->save(); return 1; } } catch (\Exception $e) { \Log::info($e->getMessage()); return 0; } } /** * 更新强关用户最后交互时间 */ static function forceSubscribeUsersLastTimeUpdate($forceSubscribeUsersPrams) { try { $forceSubscribeUsers = ForceSubscribeUsers::forceSubscribeUsersByOpenidAndAC($forceSubscribeUsersPrams['openid'],$forceSubscribeUsersPrams['appid'],$forceSubscribeUsersPrams['distribution_channel_id']); if(empty($forceSubscribeUsers)) { return 2; } else { $forceSubscribeUsers['last_interactive_time'] = $forceSubscribeUsersPrams['last_interactive_time']; $forceSubscribeUsers->save(); return 1; } } catch (\Exception $e) { // \Log($e); return 0; } } /** * 更新强关用户最后交互时间 */ static function tempForceSubscribeUsersLastTimeUpdate($forceSubscribeUsersPrams) { try { $forceSubscribeUsers = ForceSubscribeUsers::forceSubscribeUsersByOpenidAndAC($forceSubscribeUsersPrams['openid'],$forceSubscribeUsersPrams['appid'],$forceSubscribeUsersPrams['distribution_channel_id']); // \Log::info('tempForceSubscribeUsersLastTimeUpdate:'.json_encode($forceSubscribeUsers)); if(empty($forceSubscribeUsers)) { \Log::info('empty_origin_update_temp_force_subscribe_user:'.$forceSubscribeUsersPrams['openid']); return 2; } else { $tempForceSubscribeUsers = TempForceSubscribeUsers::forceSubscribeUsersByOpenidAndAC($forceSubscribeUsersPrams['openid'],$forceSubscribeUsersPrams['appid'],$forceSubscribeUsersPrams['distribution_channel_id']); if(!empty($tempForceSubscribeUsers)){ \Log::info('exist_update_temp_force_subscribe_user2:'.$forceSubscribeUsersPrams['openid']); $tempForceSubscribeUsers->last_interactive_time = $forceSubscribeUsers->last_interactive_time; $tempForceSubscribeUsers->bid = $forceSubscribeUsers->bid; $tempForceSubscribeUsers->is_subscribed = $forceSubscribeUsers->is_subscribed; $tempForceSubscribeUsers->subscribe_time = $forceSubscribeUsers->subscribe_time; $tempForceSubscribeUsers->unsubscribe_time = $forceSubscribeUsers->unsubscribe_time; // 跨渠道迁移的bug $tempForceSubscribeUsers->distribution_channel_id = $forceSubscribeUsers->distribution_channel_id; $tempForceSubscribeUsers->uid = $forceSubscribeUsers->uid; // \Log::info('$tempForceSubscribeUsers:'.json_encode($tempForceSubscribeUsers)); $tempForceSubscribeUsers->save(); } else{ $tempForceSubscribeUsers = [ 'uid'=>$forceSubscribeUsers->uid, 'openid'=>$forceSubscribeUsers->openid, 'appid'=>$forceSubscribeUsers->appid, 'bid'=>$forceSubscribeUsers->bid, 'is_subscribed'=>$forceSubscribeUsers->is_subscribed, 'subscribe_time'=>$forceSubscribeUsers->subscribe_time, 'unsubscribe_time'=>$forceSubscribeUsers->unsubscribe_time, 'distribution_channel_id'=>$forceSubscribeUsers->distribution_channel_id, 'last_interactive_time'=>$forceSubscribeUsersPrams['last_interactive_time'], ]; \Log::info('not_exist_create_temp_force_subscribe_user:'.$forceSubscribeUsersPrams['openid']); TempForceSubscribeUsers::firstOrCreate($tempForceSubscribeUsers); } return 1; } } catch (\Exception $e) { \Log::info('tempForceSubscribeUsersLastTimeUpdate_ept:'.$e->getMessage()); return 0; } } static function getOfficalAccountNickName($uid) { return ForceSubscribeUsers::getOfficalAccountNickName($uid); } /** * 强关用户取关 */ static function cancelForceSubscribeUsers($forceSubscribeUsersPrams) { try { \Log::info('cancelForceSubscribeUsers_start:'.$forceSubscribeUsersPrams['openid']); $forceSubscribeUsers = ForceSubscribeUsers::forceAllSubscribeUsersByOpenid($forceSubscribeUsersPrams['openid']); if(count($forceSubscribeUsers)>0) { for ($i=0; $i < count($forceSubscribeUsers); $i++) { # code... $cancelforceSubscribeUsers = $forceSubscribeUsers[$i]; $cancelforceSubscribeUsers['is_subscribed'] = 0; $cancelforceSubscribeUsers['unsubscribe_time'] = date("Y-m-d H:i:s"); $cancelforceSubscribeUsers->save(); \Log::info('cancelForceSubscribeUsers_id:'.$cancelforceSubscribeUsers->id); Redis::hincrby('day_appid_fans_nums_appid:cancel:'.$forceSubscribeUsersPrams['appid'],date("Y-m-d"),1); Redis::hincrby('day_appid_fans_nums_appid:cancel:'.$forceSubscribeUsersPrams['appid'],'total',1); $theCancelForceSubscribeUserArray = $cancelforceSubscribeUsers->toArray(); $send_data=array( 'type'=>'unsubscribe_user', 'data' => $theCancelForceSubscribeUserArray ); $delay = 0; $job = (new SendStatisticsList($send_data))->onConnection('rabbitmq')->delay($delay)->onQueue('send_statistics_list'); dispatch($job); } return 1; } else { return 2; } } catch (\Exception $e) { \Log::info('cancelForceSubscribeUsers_ept:'.$e->getMessage()); return 0; } } /** * 强制关注 */ static function subscribeForceSubscribeUsers($forceSubscribeUsersPrams) { try { // 老关统计 \Log::info('subscribeForceSubscribeUsers_redis_old:'.$forceSubscribeUsersPrams['uid']); $sub_key = 'gzh_old_sub:'.$forceSubscribeUsersPrams['appid'].':'.date('Y-m-d'); Redis::SADD($sub_key,$forceSubscribeUsersPrams['uid']); Redis::EXPIRE($sub_key,24*3600*3); self::add_subscribe_statistics($forceSubscribeUsersPrams['uid']); $forceSubscribeUsers = ForceSubscribeUsers::forceAllUnSubscribeUsersByOpenid($forceSubscribeUsersPrams['openid']); // \Log::info($forceSubscribeUsers); if(count($forceSubscribeUsers)>0) { // \Log::info(count($forceSubscribeUsers)); for ($i=0; $i < count($forceSubscribeUsers); $i++) { # code... // \Log::info($forceSubscribeUsers[$i]['is_subscribed']); // \Log::info($forceSubscribeUsers[$i]['subscribe_time']); $forceSubscribeUsers[$i]['is_subscribed'] = 1; $forceSubscribeUsers[$i]['subscribe_time'] = date("Y-m-d H:i:s"); $forceSubscribeUsers[$i]['last_interactive_time'] = date("Y-m-d H:i:s"); $forceSubscribeUsers[$i]->save(); Redis::hincrby('day_appid_fans_nums_appid:add:'.$forceSubscribeUsersPrams['appid'],date("Y-m-d"),1); Redis::hincrby('day_appid_fans_nums_appid:add:'.$forceSubscribeUsersPrams['appid'],'total',1); //Redis::hset('www.zhuishuyun.com'.'force_subscribe:scene:'.$forceSubscribeUsers[$i]['uid'].':'.$forceSubscribeUsersPrams['appid'], 'is_subscribe', '[{is_subscribed:1},{subscribe_time:'.date("Y-m-d H:i:s").'}]'); } return 1; } else { return 2; } } catch (\Exception $e) { \Log::info('subscribeForceSubscribeUsers_ept:'.$e->getMessage()); return 0; } } /** * temp表强制关注 */ static function tempSubscribeForceSubscribeUsers($forceSubscribeUsersPrams) { try { \Log::info('tempSubscribeForceSubscribeUsers2:'.$forceSubscribeUsersPrams['openid']); $forceSubscribeUsers = TempForceSubscribeUsers::forceAllUnSubscribeUsersByOpenid($forceSubscribeUsersPrams['openid']); if(count($forceSubscribeUsers)>0) { for ($i=0; $i < count($forceSubscribeUsers); $i++) { $forceSubscribeUsers[$i]['is_subscribed'] = 1; $forceSubscribeUsers[$i]['subscribe_time'] = date("Y-m-d H:i:s"); $forceSubscribeUsers[$i]['last_interactive_time'] = date("Y-m-d H:i:s"); $forceSubscribeUsers[$i]->save(); } return 1; } else { return 2; } } catch (\Exception $e) { return 0; } } //获取推广带来的净关粉丝总数 static function getFansNum($send_order_id) { return ForceSubscribeUsers::getFansNum($send_order_id); } //获取推广带来的新关粉丝总数 static function getNewFansNum($send_order_id) { return ForceSubscribeUsers::getNewFansNum($send_order_id); } //根据模板消息传的各项条件检索用户 static function forceUserCountByTemplatePrams($appids,$distribution_channel_id,$subscribe_time,$sex,$balance,$category_id,$order_type,$skip){ $forceSubscribes = ForceSubscribeUsers::forceUserCountByTemplatePrams($appids,$distribution_channel_id,$subscribe_time,$sex,$balance,$category_id,$order_type,$skip); return $forceSubscribes; } //根据客服消息传的各项条件检索用户 static function forceUserCountByCustomPrams($appids,$distribution_channel_id,$subscribe_time,$sex,$balance,$category_id,$order_type,$sign_time,$skip,$subscribe_time_attach=''){ $forceSubscribes = ForceSubscribeUsers::forceUserCountByCustomPrams($appids,$distribution_channel_id,$subscribe_time,$sex,$balance,$category_id,$order_type,$sign_time,$skip,$subscribe_time_attach); return $forceSubscribes; } // 指定用户的基础信息获取 static function simpleForceUserCountByPrams($uids, $param,$skip){ $forceSubscribes = ForceSubscribeUsers::simpleForceUserCountByPrams($uids, $param,$skip); return $forceSubscribes; } // 根据渠道号和日期获取强关用户数量 /** * startTime endTime 如果两个参数都传会查询这两个时间段内的的强关用户数量 * startTime endTime 如果只传一个,则会查询当天的强关用户数量,传哪个都可以 * startTime endTime 如果都不传, 则会获取该渠道下的所有强关用户数量 */ static function forceSubscribeUserCountByChannelIdAndDate($distribution_channel_id,$startTime,$endTime){ return ForceSubscribeUsers::forceSubscribeUserCountByChannelIdAndDate($distribution_channel_id,$startTime,$endTime); } /** * 获取全服务号粉丝 */ static function getFullOfficialAccountUsers($appid,$next_openid){ // \Log::info('getFullOfficialAccountUsers_start,appid:'.$appid.' next_openid:'.$next_openid); $result = array(); try { $timestamp = time(); $params = array("next_openid"=>$next_openid,'gzh_app_id'=>$appid,"timestamp"=>$timestamp); $sign = get_sign($params); $res = self::getUserClient()->request("GET","get_full_official_account_users", ['query'=>['next_openid'=>$next_openid,'gzh_app_id'=>$appid,'timestamp'=>$timestamp,'sign'=>$sign],'connect_timeout' => 10] )->getBody()->getContents(); // \Log::info($res); $res = object_to_array(json_decode($res)); // 组装格式,方便后面统一处理 $openids= isset($res['data']['data']['openid'])?$res['data']['data']['openid']:array(); $result['openids'] = array(); if(!empty($openids)){ foreach($openids as $key=> $openid){ $result['openids'][$key]['openid'] = $openid; } } $result['next_openid'] = isset($res['data']['next_openid'])?$res['data']['next_openid']:''; $result['count'] = isset($res['data']['count'])?$res['data']['count']:0; $result['total'] = isset($res['data']['total'])?$res['data']['total']:0; //\Log::info('getFullOfficialAccountUsers_end,appid:'.$appid.' next_openid:'.$result['next_openid'].' count:'.$result['count'].' total:'.$result['total'].' num:'.count($result['openids'])); } catch (\Exception $e) { \Log::info($e); } return $result; } /** * 获取客服消息有效公众号用户 */ static function getCustomActiveOfficialAccountUsers($appid,$next_openid) { $result = array(); try { $key = 'gzh_custom:openid:'.$appid; $start = !$next_openid ? 0 : Redis::zrank($key,$next_openid); $end = $start + 10000; $total = 0; $openids = Redis::zrangebyscore($key,$start,$end); $result['openids'] = array(); if($openids){ foreach($openids as $key=> $openid){ $result['openids'][$key]['openid'] = $openid; } } $result['next_openid'] = 0; $result['count'] = count($openids); $result['total'] = 100; } catch (\Exception $e) { \Log::info($e); } return $result; } /** * 获取单个粉丝信息 */ static function getUserInfo($appid,$openid){ \Log::info('getUserInfo_start,appid:'.$appid.' openid:'.$openid); $result = array(); try { $timestamp = time(); $params = array("openid"=>$openid,'gzh_app_id'=>$appid,"timestamp"=>$timestamp); $sign = get_sign($params); $res = self::getUserClient()->request("GET","get_userinfo", ['query'=>['openid'=>$openid,'gzh_app_id'=>$appid,'timestamp'=>$timestamp,'sign'=>$sign],'connect_timeout' => 10] )->getBody()->getContents(); $res = object_to_array(json_decode($res)); $result['nickname'] = isset($res['data']['nickname'])?$res['data']['nickname']:0; \Log::info('getUserInfo_end,appid:'.$appid.' openid:'.$openid.' nickname:'.$result['nickname']); } catch (\Exception $e) { \Log::info('getUserInfo_ept:'.$e->getMessage()); } return $result; } static function getUserInfoAll($appid,$openid){ \Log::info('getUserInfo_start,appid:'.$appid.' openid:'.$openid); $result = array(); try { $timestamp = time(); $params = array("openid"=>$openid,'gzh_app_id'=>$appid,"timestamp"=>$timestamp); $sign = get_sign($params); $res = self::getUserClient()->request("GET","get_userinfo", ['query'=>['openid'=>$openid,'gzh_app_id'=>$appid,'timestamp'=>$timestamp,'sign'=>$sign],'connect_timeout' => 10] )->getBody()->getContents(); $res = object_to_array(json_decode($res)); if(isset($res['data']) && !empty($res['data'])){ return $res['data']; } } catch (\Exception $e) { \Log::info('getUserInfo_ept:'.$e->getMessage()); } return $result; } /** * 占位符替换 * @param unknown_type $content * @param unknown_type $type * @return string */ static public function change_placeholder($content,$params){ \Log::info('change_placeholder_before:'.$content); $wx_name = isset($params['nickname'])?$params['nickname']:''; $content = str_replace('{wx_name}',$wx_name,$content); \Log::info('change_placeholder_end:'.$content); return $content; } static public function getUserClient(){ return new Client(['base_uri' => env('MEDIA_API_BASE_URI')]); } /** * 获取派单的枪管用户 * @param int $send_order_id * @param int $distribution_channel_id * @return mixed */ static public function getUidByParam(int $send_order_id,int $distribution_channel_id){ return ForceSubscribeUsers::where('send_order_id',$send_order_id)->where('distribution_channel_id',$distribution_channel_id)->select('uid')->limit(100)->get(); } /** * 获取云栖迁移的特殊回复 * @param unknown_type $distribution_channel_id * @param unknown_type $openid */ static public function getYqMoveReply($distribution_channel_id,$openid){ $text = ''; $encode_distribution_channel_id = encodeDistributionChannelId($distribution_channel_id); // 检查是否第一次 $move_user = YqMove::getUser($distribution_channel_id,$openid); // 是否订阅大于50章的用户 $is_big_50_user = isset($move_user['read_count']) && $move_user['read_count'] >= 50 ? '1':'0'; $yq_distribution_channel_id = isset($move_user['yq_distribution_channel_id']) && $move_user['yq_distribution_channel_id'] ? $move_user['yq_distribution_channel_id']:$distribution_channel_id; $encode_yq_distribution_channel_id = encodeDistributionChannelId($yq_distribution_channel_id); $not_recommend_old_sites = array('4042','4043','4044'); \Log::info('getYqMoveReply:zsy_distribution_channel_id:'.$distribution_channel_id.' yq_distribution_channel_id:'.$yq_distribution_channel_id.' openid:'.$openid.' is_big_50_user:'.$is_big_50_user); // 已经迁移过用户的文案 if(!empty($move_user)){ if($is_big_50_user == '0'){ $text = "点击进入新站\n\n"; $text .= "点击查看最近阅读"; }else{ if(in_array($distribution_channel_id,$not_recommend_old_sites)){ \Log::info('not_recommend_old_site:'.$distribution_channel_id.' openid:'.$openid); $text = "点击进入新站\n\n"; $text .= "点击查看最近阅读"; }else{ $text = "追书云:点此进入新站,看海量优质小说\n\n". "云栖:点此进入老站继续阅读 \n"; } } } // 第一次回复的文案 else { $text = "点击进入新站\n\n"; $text .= "点击查看最近阅读"; } return $text; } /** * @param $distribution_channel * 获取老用户关注数 */ public static function getOldUserNewSubsribeNum($params){ return ForceSubscribeUsers::getOldUserNewSubsribeNum($params); } /** * 临时表数据更新 客服消息交互修改后版本 */ static function updateTempForceUser($params) { TempForceSubscribeUsers::updateInfo($params); } /** * 获取强关用户属性 * @param $openids */ static function getForceUsersNickname($openids = []) { return ForceSubscribeUserProperty::getForceUsersNickname($openids); } static function getForceUsersNicknameByOpenid($openid){ $nick_name_info = ForceSubscribeUserProperty::getForceUsersNicknameByOpenid($openid); if($nick_name_info){ return $nick_name_info->current_nickname; } return ''; } }