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));
 }
Beispiel #2
0
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);