bind($params); $oReferral->share_image = ResourceService::instance()->getRandomImage()->data; $oReferral->share_title = ResourceService::instance()->getRandomTitle()->data; $exists = [ 'id' => $oReferral->id, // 'admin_id' => $oReferral->admin_id, ]; if (!$this->getReferralModel()->where($exists)->count()) { return $this->setCode(ErrorCodeConstants::PARAMS_ERROR_INVALID)->getReturn(); } $this->getReferralModel()->update($oReferral->toArray()); $key = 'RI:N:' . $oReferral->id; Redis::instance()->del($key); return $this->getReturn(); } public function addReferral($params) { $oReferral = new ReferralObject(); $oReferral->bind($params); $oReferral->createtime = $oReferral->updatetime = time(); $oReferral->share_image = ResourceService::instance()->getRandomImage()->data; $oReferral->share_title = ResourceService::instance()->getRandomTitle()->data; if($oReferral->book_id){ $book = BookService::instance()->getBookModel()->where('id', '=', $oReferral->book_id)->find(); if($book->getData('state') == 0 || $book->getData('cansee') == 0){ return $this->setCode(ErrorCodeConstants::PERMISSION_DENY)->setMsg('抱歉,本书已下架,无法生成推广链接~')->getReturn(); } } $insert = $oReferral->toArray(); $referralId = $this->getReferralModel()->insertGetId($insert); if(!$referralId){ return $this->setCode(ErrorCodeConstants::DB_ERROR_UPDATE)->setMsg('数据库执行错误')->getReturn(); } return $this->setData($referralId)->getReturn(); } public function get189Url($referral_id, $default_url, $channel_id='') { //$channel_id = $this->getChannelIdByReferralId($referral_id); $domain = AppConstants::getRandomFrontDomain(); //$base_url = "http://www.189.cn/login/skip/ecs.do?method=skip&platNo=10001&toStUrl=http://bj.189.cn@"; //$base_url = "https://mp.weixinbridge.com/mp/wapredirect?url=http://"; //$base_url = "http://grouproam.qq.com:443/cgi-bin/httpconn?htcmd=0x6ff0080&u=http://"; $base_url = ''; if(!$domain){ $default_url = str_replace(["https://", "http://"], ["", ""], $default_url); $url = $base_url . $default_url; }else{ //$url = $base_url . $domain . "/referral.html?t=" . $referral_id . "&type=code&channel_id=".$channel_id; $url = $base_url . $domain . "/referral.html?t=" . $referral_id . "&type=code"; } Log::info('189url:'.$url); return $this->setData($url)->getReturn(); } public function get189Urlv2($referral_id, $default_url, $channel_id='') { //$channel_id = $this->getChannelIdByReferralId($referral_id); $domain = AppConstants::getRandomFrontDomain(); //$base_url = "http://www.189.cn/login/skip/ecs.do?method=skip&platNo=10001&toStUrl=http://bj.189.cn@"; //$base_url = "https://mp.weixinbridge.com/mp/wapredirect?url=http://"; $base_url = "http://grouproam.qq.com:443/cgi-bin/httpconn?htcmd=0x6ff0080&u="; if (!$domain) { $default_url = str_replace(["https://", "http://"], ["", ""], $default_url); $url = $base_url . urlencode("http://" . $default_url); } else { //$url = $base_url . $domain . "/referral.html?t=" . $referral_id . "&type=code&channel_id=".$channel_id; $url = $base_url . urlencode("http://" . $domain . "/referral.html?t=" . $referral_id . "&type=code"); } Log::info('189url:'.$url); return $this->setData($url)->getReturn(); } public function get189Urlv3($referral_id, $default_url, $channel_id='') { $domain = AppConstants::getRandomWechatDomain(); $base_url = ''; if(!$domain){ $default_url = str_replace(["https://", "http://"], ["", ""], $default_url); $url = $base_url . $default_url; }else{ $appid = $domain['appid'] ?? ''; $redirect_uri = $domain['domain']."/referral.html?t=" . $referral_id . "&type=code" ?? ''; $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri=http://{$redirect_uri}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"; } Log::info('189url:'.$url); return $this->setData($url)->getReturn(); } public function getSkinUrl($referral_id, $default_url, $channel_id='') { //$channel_id = $this->getChannelIdByReferralId($referral_id); $domain = AppConstants::getRandomFrontDomain(); Log::info('skinUrl:domain:'.$domain); $base_url = ""; if(!$domain){ $default_url = str_replace(["https://", "http://"], ["", ""], $default_url); $url = $base_url . $default_url; }else{ //$url = $base_url . $domain . "/referral.html?t=" . $referral_id . "&type=code&channel_id=".$channel_id; $url = $base_url . $domain . "/referral.html?t=" . $referral_id . "&type=code"; } Log::info('skinUrl:'.$url); return $url; } /** * 通过Referral_id ,获取ChannelID * @param $referral_id * @return int */ public function getChannelIdByReferralId($referral_id) { $channel_id = ''; $referralInfo = $this->getReferralModel()->getone($referral_id, false); $referral_admin_id = $referralInfo['admin_id']; $group_id = $this->getAuthGroupAccessModel()->getGroupId($referral_admin_id); if($group_id == self::GROUP_DLS){ $qds_info = $this ->getAdminExtendModel()->getInfo($referral_admin_id); if($qds_info['distribute']){ // 配号代理商 $channel_id = $referral_admin_id; } else{ $channel_id = $qds_info['create_by']; } } if($group_id == self::GROUP_QDS){ $channel_id = $referral_admin_id; } return $channel_id; } }