public function load_bdjj_data() { if (empty($_REQUEST['userId'])) { exit("参数错误"); } $userId = $_REQUEST['userId']; $campaignId = $_REQUEST['campaignId']; $groupId = $_REQUEST['groupId']; $act = $_REQUEST['act']; $onlyNew = $_REQUEST['onlyNew'] + 0; if ($act != 'update') { $onlyNew = 1; } $platformId = 1; $channelId = 1; $userTable = $this->dbName . '.' . $this->userTable; $campTable = $this->dbName . '.' . $this->infoTable['campaign']; $groupTable = $this->dbName . '.' . $this->infoTable['group']; $keywordTable = $this->dbName . '.' . $this->infoTable['keyword']; if ($act == "update") { class_exists('sms_v3_CampaignService') or (require CLASS_DIR . 'baidu/sms_v3_CampaignService.php'); class_exists('sms_v3_AdgroupService') or (require CLASS_DIR . 'baidu/sms_v3_AdgroupService.php'); class_exists('sms_v3_KeywordService') or (require CLASS_DIR . 'baidu/sms_v3_KeywordService.php'); $user_sql = "select userId,username,password,token,platformId from {$userTable} where channelId={$channelId} and platformId={$platformId} and userId={$userId} limit 1"; $re = $this->db->get($user_sql); $username = $re['username']; $password = $re['password']; $token = $re['token']; $newheader = new AuthHeader(); $newheader->setUsername($username); $newheader->setPassword($password); $newheader->setToken($token); $campaignService = new sms_v3_CampaignService(); $adgroupService = new sms_v3_AdgroupService(); $keywordService = new sms_v3_KeywordService(); //$creativeService = new sms_v3_CreativeService(); $campaignService->setAuthHeader($newheader); $adgroupService->setAuthHeader($newheader); $keywordService->setAuthHeader($newheader); // $creativeService->setAuthHeader($newheader); $getAllCampaignRequest = new GetAllCampaignRequest(); $campaignsResponse = $campaignService->getAllCampaign($getAllCampaignRequest); $campaigns = $campaignsResponse->campaignTypes; //自定义状态2-删除,每次更新都更改计划状态 $update_camp_status = "update {$campTable} set status=2 where channelId={$channelId} and platformId={$platformId} and userId={$userId}"; $this->db->query($update_camp_status); if (!is_array($campaigns)) { $campaigns = array($campaigns); } foreach ($campaigns as $v) { $v = get_object_vars($v); $cid = $v['campaignId']; $checkNew_sql = "select * from {$campTable} where campaignId=" . $v['campaignId'] . " and channelId={$channelId} and platformId={$platformId} limit 1 "; $check_re = $this->db->get($checkNew_sql); $v['pause'] = empty($v['pause']) ? 0 : 1; $v['campaignName'] = $v['campaignName']; $campaign_sql = "replace INTO " . $campTable . " (campaignId,campaignName,`pause`,`status`,userId,platformId,channelId,rsync_date) values ('" . $v['campaignId'] . "','" . $v['campaignName'] . "','" . $v['pause'] . "','" . $v['status'] . "','{$userId}','{$platformId}','{$channelId}','" . date('Y-m-d H:i:s') . "')"; $this->db->query($campaign_sql); if (empty($v['campaignId']) || $campaignId && $campaignId != $v['campaignId']) { $onlyNew = 0; continue; } if ($onlyNew) { if (!empty($check_re)) { continue; } } $count['campaign']++; $getAdgroupByCampaignIdRequest = new GetAdgroupByCampaignIdRequest(); $getAdgroupByCampaignIdRequest->addCampaignId($v['campaignId']); $groupsResponse = $adgroupService->getAdgroupByCampaignId($getAdgroupByCampaignIdRequest); $allGroups = $groupsResponse->campaignAdgroups; $cid = $allGroups->campaignId; unset($groups); if (is_array($allGroups[0]->adgroupTypes)) { $groups = $allGroups[0]->adgroupTypes; } else { $groups[] = $allGroups[0]->adgroupTypes; } foreach ($groups as $gv) { $gv = get_object_vars($gv); $gid = $gv['adgroupId']; if (empty($gv['adgroupId']) || $groupId && $groupId != $gv['adgroupId']) { continue; } $gv['pause'] = empty($gv['pause']) ? 0 : 1; $gv['adgroupName'] = $gv['adgroupName']; $group_sql = "replace INTO {$groupTable} ( `adgroupId`, `adgroupName`, `campaignId`, `userId`, `platformId`,`channelId`, `pause`, `status`, `rsync_date`) values"; $group_sql .= "('" . $gv['adgroupId'] . "','" . $gv['adgroupName'] . "','" . $gv['campaignId'] . "','{$userId}','{$platformId}','{$channelId}','" . $gv['pause'] . "','" . $gv['status'] . "','" . date('Y-m-d H:i:s') . "') "; $this->db->query($group_sql); $count['group']++; $ksql = "replace INTO {$keywordTable} (`cplaceId`, `cplaceName`, `adgroupId`, `campaignId`, `userId`, `platformId`,`channelId`, `price`, `matchType`, `pause`, `status`, `pcDestinationUrl`,`mobileDestinationUrl`, `rsync_date`) VALUES"; $kFlag = 0; $getKeywordByAdgroupIdRequest = new GetKeywordByAdgroupIdRequest(); $getKeywordByAdgroupIdRequest->addAdgroupId($gv['adgroupId']); $allKeywordsResponse = $keywordService->getKeywordByAdgroupId($getKeywordByAdgroupIdRequest); $allKeywords = $allKeywordsResponse->groupKeywords; $gid = $allKeywords->adgroupId; unset($keywords); if (is_array($allKeywords[0]->keywordTypes)) { $keywords = $allKeywords[0]->keywordTypes; } else { $keywords[] = $allKeywords[0]->keywordTypes; } foreach ($keywords as $kv) { $kv = get_object_vars($kv); if (empty($kv['keywordId'])) { continue; } $kv['keyword'] = $kv['keyword']; $kv['pause'] = empty($kv['pause']) ? 0 : $kv['pause']; $kv['price'] = empty($kv['price']) ? 0 : $kv['price']; if ($kFlag > 0) { $ksql .= ','; } else { $kFlag += 1; } $kname = addslashes($kv['keyword']); $ksql .= "('" . $kv['keywordId'] . "', '" . $kname . "', '" . $kv['adgroupId'] . "', '" . $gv['campaignId'] . "', '{$userId}', '{$platformId}','{$channelId}','" . $kv['price'] . "', '" . $kv['matchType'] . "', '" . $kv['pause'] . "', '" . $kv['status'] . "', '" . $kv['pcDestinationUrl'] . "', '" . $kv['mobileDestinationUrl'] . "', '" . date('Y-m-d H:i:s') . "')"; $count['keyword']++; } $this->db->query($ksql); } } $this->s->assign('count', $count); } //下拉列表数据 $where = " where userId='{$userId}' and platformId={$platformId} and channelId={$channelId}"; $camp_sql = 'select campaignId as id, campaignName as name from ' . $campTable . $where . ' and campaignId>0 order by campaignId desc'; $campaigns = $this->db->find($camp_sql); $groups = array(); if ($campaignId > 0) { $group_sql = 'select adgroupId as id, adgroupName as name from ' . $groupTable . $where . ' and campaignId=' . $campaignId . ' order by adgroupId'; $groups = $this->db->find($group_sql); } $this->s->assign(array('channelId' => $channelId, 'platformId' => $platformId, 'userId' => $userId, 'campaigns' => $campaigns, 'groups' => $groups, 'campaignId' => $campaignId, 'groupId' => $adgroupId, 'onlyNew' => $onlyNew)); }
echo "<pre>"; //$keyword = "mp3"; $keyword = "静电喷枪"; $service = new sms_v3_SearchService(); $searchRequest = new GetKeywordBySearchRequest(); $searchRequest->setSearchWord($keyword); $searchRequest->setSearchType(1); $rs = $service->getKeywordBySearch($searchRequest); //开始更新下关键词的链接 if (count($rs->keywordInfos) < 1) { exit("不存在关键词!"); } /* 查询下关键词的链接 */ // $keywordId = $rs->keywordInfos[0]->keywordId; // $keywordService = new sms_v3_KeywordService(); // $getKeywordByKeywordIdRequest = new GetKeywordByKeywordIdRequest(); // $getKeywordByKeywordIdRequest->addKeywordId($keywordId); // $keywordRs = $keywordService->getKeywordByKeywordId($getKeywordByKeywordIdRequest); // var_dump($keywordRs);exit; /* 更新下关键词的链接 */ $keywordId = $rs->keywordInfos[0]->keywordId; echo $keywordId; echo "\n"; $keywordTypes = array(); $keywordTypes[] = array('keywordId' => $keywordId, 'pcDestinationUrl' => "www.gongchang.cn/teatagggggggg"); $keywordService = new sms_v3_KeywordService(); $updateKeywordRequest = new UpdateKeywordRequest(); $updateKeywordRequest->setKeywordTypes($keywordTypes); $keywordService->updateKeyword($updateKeywordRequest); $result = json_decode($service->getJsonStr(), true); var_dump($result);