function act_feedbackChangeMutilMessage() { include WEB_PATH . "lib/feedback/ebaylibrary/ebay_config.php"; //print_r($_POST);//exit; $bills = isset($_POST['bill']) ? $_POST['bill'] : ''; $content = isset($_POST['content']) ? $_POST['content'] : ''; $content = htmlspecialchars($content); $content = str_replace("\\", "", $content); if ($bills == '' || $content == '') { self::$errCode = '001'; self::$errMsg = "参数错误!"; return false; } $accountArr = array(); foreach ($bills as $bill) { $accountArr[] = $bill['account']; } $accountArr = array_unique($accountArr); $accountStr = implode("','", $accountArr); $accAct = new AccountAct(); $accountInfo = $accAct->act_getAccountList('account,token', "where account in ('{$accountStr}') and is_delete = 0"); $accountTokens = array(); foreach ($accountInfo as $v) { $accountTokens[$v['account']] = $v['token']; } foreach ($bills as &$bill) { $bill['token'] = $accountTokens[$bill['account']]; $where = " where account = '{$bill['account']}' and CommentingUser = '******'ebayUserId']}' limit 1"; $lists = EbayFeedbackModel::getOrderList('itemID', $where); $bill['itemID'] = $lists[0]['itemID']; } //print_r($bills);exit; $verb = 'AddMemberMessageAAQToPartner'; foreach ($bills as $bil) { //$feedbackid = $bill['feedbackID']; $userid = $bil['ebayUserId']; $itemid = $bil['itemID']; $account = $bil['account']; $token = $bil['token']; $requestXmlBody = '<?xml version="1.0" encoding="utf-8"?> <AddMemberMessageAAQToPartnerRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <RequesterCredentials> <eBayAuthToken>' . $token . '</eBayAuthToken> </RequesterCredentials> <ItemID>' . $itemid . '</ItemID> <MemberMessage> <EmailCopyToSender>true</EmailCopyToSender> <Body>' . $content . '</Body> <QuestionType>General</QuestionType> <RecipientID>' . $userid . '</RecipientID> </MemberMessage> </AddMemberMessageAAQToPartnerRequest>'; $session = new eBaySession($token, $devID, $appID, $certID, $serverUrl, $compatabilityLevel, $siteID, $verb); //print_r($session); //continue;//exit; $responseXml = $session->sendHttpRequest($requestXmlBody); if (stristr($responseXml, 'HTTP 404') || $responseXml == '') { self::$errCode = '002'; self::$errMsg = 'id not found'; return false; } $data = XML_unserialize($responseXml); $ack = $data['AddMemberMessageAAQToPartnerResponse']['Ack']; $error = $data['AddMemberMessageAAQToPartnerResponse']['Errors']['LongMessage']; if ($ack != "Failure") { $data = array('reply_feedback' => $content); $where = " and FeedbackID='{$feedbackid}' "; EbayFeedbackModel::update($data, $where); return 'ok'; } else { self::$errCode = '003'; self::$errMsg = "批量Message失败!" . $error; return false; } } }
function GetFeedback($account, $startpage, $endpage, $perPageCount) { //require_once WEB_PATH."lib/xmlhandle.php"; global $dbcon, $api_feedback, $user; echo '同步feedback,开始于第' . $startpage . '页,结束于第' . $endpage . '页,每页同步' . $perPageCount . '条' . "\n"; $hasmore = true; $status = ""; $FBAct = new EbayFeedbackAct(); while (true) { echo '开始运行,第' . $startpage . '页' . "\n"; $responseXml = $api_feedback->request($startpage, $perPageCount); if (stristr($responseXml, 'HTTP 404') || $responseXml == '') { return 'id not found'; } $data = XML_unserialize($responseXml); //var_dump($data); $ack = $data['GetFeedbackResponse']['Ack']; $TotalNumberOfPages = $data['GetFeedbackResponse']['PaginationResult']['TotalNumberOfPages']; if ($ack != "Success") { echo "<font color=red>评价加载失败</font>"; //var_dump($data['GetFeedbackResponse']);exit; } $feedback = $data['GetFeedbackResponse']['FeedbackDetailArray']['FeedbackDetail']; foreach ($feedback as $li) { $CommentingUser = str_rep($li['CommentingUser']); $CommentingUserScore = str_rep($li['CommentingUserScore']); $CommentText = mysql_real_escape_string(str_rep($li['CommentText'])); $CommentTime = str_rep($li['CommentTime']); $feedbacktime = date('Y-m-d H:i:s', strtotime($CommentTime)); $feedbacktime = date('Y-m-d H:i:s', strtotime("{$feedbacktime} - 900 minutes")); $feedbacktime = strtotime($feedbacktime); $CommentType = str_rep($li['CommentType']); $ItemID = str_rep($li['ItemID']); $FeedbackID = str_rep($li['FeedbackID']); $TransactionID = $li['TransactionID'] ? $li['TransactionID'] : 0; $ItemTitle = str_rep($li['ItemTitle']); $currencyID = str_rep($li['ItemPrice attr']['currencyID']); $ItemPrice = str_rep($li['ItemPrice']); $data = array('CommentingUser' => $CommentingUser, 'account' => $account, 'CommentingUserScore' => $CommentingUserScore, 'CommentText' => $CommentText, 'CommentTime' => $CommentTime, 'CommentType' => $CommentType, 'ItemID' => $ItemID, 'FeedbackID' => $FeedbackID, 'TransactionID' => $TransactionID, 'ItemTitle' => $ItemTitle, 'currencyID' => $currencyID, 'ItemPrice' => $ItemPrice, 'feedbacktime' => $feedbacktime); $list = $FBAct->act_getOrderList('id', " where FeedbackID='{$FeedbackID}' "); if (!$list) { //不存在,则插入 $ret = EbayFeedbackModel::insertRow($data); if ($ret) { echo "insert success!\n"; $field = 'a.ebay_ordersn, a.ebay_paidtime, b.sku, b.ebay_amount'; $orderInfo = UserCacheModel::getErpOrderInfo($CommentingUser, $ItemID, $TransactionID, $field); /* var_dump($orderInfo); exit; */ $ordersn = $orderInfo['data'][0]['ebay_ordersn']; //订单号 $sku = $orderInfo['data'][0]['sku']; //料号 $amount = $orderInfo['data'][0]['ebay_amount']; //数量 $orderPayTime = $orderInfo['data'][0]['ebay_paidtime']; //付款时间 $data = array('Qty' => $amount, 'sku' => $sku, 'orderPayTime' => $orderPayTime); EbayFeedbackModel::update($data, " and FeedbackID = '{$FeedbackID}'"); UserCacheModel::updateErpOrderInfoFeedback($ordersn, $ItemID, $TransactionID, $CommentType); } else { echo "insert failed!\n"; } } else { echo "Exsited!\n"; } } if ($startpage >= $endpage) { break; } $startpage++; } }