/** * 导入供应商信息的函数 * 基于 PHPExcel.php * @return $result $result > 0 成功,否则失败 */ public function act_importSave() { $uploadfile = date("Y") . date("m") . date("d") . rand(1, 3009) . ".xls"; if (!move_uploaded_file($_FILES['upfile']['tmp_name'], WEB_PATH . 'upload_datas/' . $uploadfile)) { return false; } $fileName = WEB_PATH . 'upload_datas/' . $uploadfile; $filePath = $fileName; $PHPExcel = new PHPExcel(); $PHPReader = new PHPExcel_Reader_Excel2007(); if (!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); if (!$PHPReader->canRead($filePath)) { echo 'no Excel'; return; } } $PHPExcel = $PHPReader->load($filePath); $currentSheet = $PHPExcel->getSheet(0); /**取得一共有多少列*/ $c = 2; while (true) { $aa = 'A' . $c; $bb = 'B' . $c; $cc = 'C' . $c; $dd = 'D' . $c; $ee = 'E' . $c; $ff = 'F' . $c; $gg = 'G' . $c; $hh = 'H' . $c; $ii = 'I' . $c; $jj = 'J' . $c; $kk = 'K' . $c; $ll = 'L' . $c; $mm = 'M' . $c; $nn = 'N' . $c; $oo = 'O' . $c; $pp = 'P' . $c; $qq = 'Q' . $c; $rr = 'R' . $c; $ss = 'S' . $c; $tt = 'T' . $c; $uu = 'U' . $c; $vv = 'V' . $c; $ww = 'W' . $c; $zz = 'Z' . $c; $xx = 'X' . $c; $c++; $company_name = str_rep(trim($currentSheet->getCell($aa)->getValue())); $username = str_rep(trim($currentSheet->getCell($bb)->getValue())); $category_name = str_rep(trim($currentSheet->getCell($cc)->getValue())); $tel = str_rep(trim($currentSheet->getCell($dd)->getValue())); $phone = str_rep(trim($currentSheet->getCell($ee)->getValue())); $fax = str_rep(trim($currentSheet->getCell($ff)->getValue())); $QQ = str_rep(trim($currentSheet->getCell($gg)->getValue())); $e_mail = str_rep(trim($currentSheet->getCell($hh)->getValue())); $AliIM = str_rep(trim($currentSheet->getCell($ii)->getValue())); $shoplink = str_rep(trim($currentSheet->getCell($jj)->getValue())); $city = str_rep(trim($currentSheet->getCell($kk)->getValue())); $address = str_rep(trim($currentSheet->getCell($ll)->getValue())); $status = str_rep(trim($currentSheet->getCell($mm)->getValue())); $email_status = str_rep(trim($currentSheet->getCell($nn)->getValue())); $sms_status = str_rep(trim($currentSheet->getCell($oo)->getValue())); $purchaser = str_rep(trim($currentSheet->getCell($pp)->getValue())); $company = str_rep(trim($currentSheet->getCell($qq)->getValue())); $note = str_rep(trim($currentSheet->getCell($rr)->getValue())); $partnerStr = "单位名称:{$company_name}, 姓名:{$username}, 电话:{$tel} ... "; //var_dump(self::check_input($company_name)); //exit; if ($company_name != '' && !self::check_input($company_name)) { $errInfo = " -[<font color='#FF0000'>导入失败, '单位名称':'{$company_name}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($username != '' && !self::check_input($username)) { $errInfo = " -[<font color='#FF0000'>导入失败, '姓名':'{$username}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($category_name != '' && !self::check_input($category_name)) { $errInfo = " -[<font color='#FF0000'>导入失败, '单位类型':'{$category_name}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($tel != '' && !self::isTel($tel)) { $errInfo = " -[<font color='#FF0000'>导入失败, '电话号码':'{$tel}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($phone != '' && !self::isMobile($phone)) { $errInfo = " -[<font color='#FF0000'>导入失败, '手机号码':'{$phone}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($fax != '' && !self::isPhone($fax)) { $errInfo = " -[<font color='#FF0000'>导入失败, '传真号码':'{$fax}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($QQ != '' && !self::isQQ($QQ)) { $errInfo = " -[<font color='#FF0000'>导入失败, 'QQ号码':'{$QQ}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($e_mail != '' && !self::isEmail($e_mail)) { $errInfo = " -[<font color='#FF0000'>导入失败, '邮件':'{$e_mail}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($AliIM != '' && !self::isNormalCharacter($AliIM)) { $errInfo = " -[<font color='#FF0000'>导入失败, '阿里旺旺':'{$AliIM}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($city != '' && !self::check_input($city)) { $errInfo = " -[<font color='#FF0000'>导入失败, '所属城市':'{$city}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($address != '' && !self::check_input($address)) { $errInfo = " -[<font color='#FF0000'>导入失败, '地址':'{$address}' 填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } $status = $status == '黑名单' ? 0 : $status == '正常' ? 1 : 2; if ($status < 0 || $status > 2) { $errInfo = " -[<font color='#FF0000'>导入失败, '状态'填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } $email_status = $email_status == '是' ? 1 : 0; if ($email_status != 0 && $email_status != 1) { $errInfo = " -[<font color='#FF0000'>导入失败, '支持邮件'填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } $sms_status = $sms_status == '是' ? 1 : 0; if ($sms_status != 0 && $sms_status != 1) { $errInfo = " -[<font color='#FF0000'>导入失败, '支持短信'填写有误!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } if ($company_name == '') { break; } //$c++; //To get type_id $where = " AND `category_name` = '{$category_name}' "; $field = " `id` "; $resultType = PartnerTypeAct::act_getPartnerTypeList($where, $field); $type_id = $resultType[0]['id']; if (!isset($type_id)) { $errInfo = " -[<font color='#FF0000'>导入失败, 单位类型 '{$category_name}' 不存在!" . $partnerStr . "</font>]"; continue; } //To get purchaser_id $where = " AND `global_user_name` = '{$purchaser}' "; $field = " `global_user_id` "; $resultPurchase = self::act_getPurchaserList($where, $field); $purchaser_id = $resultPurchase[0]['global_user_id']; if (!isset($purchaser_id)) { $errInfo = " -[<font color='#FF0000'>导入失败, 采购员 '{$purchaser}' 不存在!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } //To get company_id $where = " AND `company` = '{$company}' "; $field = " `id` "; $resultCompany = self::act_getPartnerCompany($where, $field); //print_r($resultCompany); $company_id = $resultCompany[0]['id']; if (!isset($company_id)) { $errInfo = " -[<font color='#FF0000'>导入失败, 关联公司 '{$company}' 不存在!" . $partnerStr . "</font>]"; echo $errInfo . '<br>'; continue; } $data = array('company_name' => $company_name, 'username' => $username, 'type_id' => $type_id, 'tel' => $tel, 'phone' => $phone, 'fax' => $fax, 'QQ' => $QQ, 'AliIM' => $AliIM, 'e_mail' => $e_mail, 'shoplink' => $shoplink, 'city' => $city, 'address' => $address, 'note' => $note, 'status' => $status, 'sms_status' => $sms_status, 'email_status' => $email_status, 'purchaseuser_id' => $purchaser_id, 'company_id' => $company_id); //print_r($data); $result = PartnerModel::insertRow($data); if ($result) { $errInfo = " -[<font color='#33CC33'>导入成功, " . $partnerStr . "</font>]"; } else { $errMsg = PartnerModel::$errMsg; $errInfo = " -[<font color='#FF0000'>导入失败, " . $partnerStr . $errMsg . "</font>]"; } echo $errInfo . '<br>'; } }
public function replyMessage($msid, $content, $mailsent) { //return FALSE; //return rand(0, 1) ? TRUE : FALSE; /*----- 全局变量 -----*/ global $devID, $appID, $certID, $serverUrl, $siteID, $compatabilityLevel, $userToken; /* $v = array($devID, $appID, $certID, $serverUrl, $siteID, $compatabilityLevel, $userToken); print_r($v);exit; */ $compatabilityLevel = 657; /*----- 全局变量 -----*/ /*----- 是否抄送到发送者 -----*/ $copystatus = 'true'; if ($mailsent == 1) { $copystatus = 'true'; } else { $copystatus = 'false'; } //var_dump($mailsent);exit; /*----- 是否抄送到发送者 -----*/ /*----- 获取messagei信息 -----*/ $verb = 'AddMemberMessageRTQ'; $msg_obj = new messageModel(); $msginof = $msg_obj->getMessageInfo(array($msid)); //$msginof = $msg_obj->getMessageInfoByMessageId($msid); if (empty($msginof)) { //该message信息不存在 self::$errCode = '8001'; self::$errMsg = 'message不存在'; return FALSE; } $msginof = $msginof[0]; //message信息数组 $itemid = $msginof['itemid']; //itemid $message_id = $msginof['message_id']; //messageid $ExternalMessageID = $msginof['ExternalMessageID']; //扩展messageid $replyid = $message_id; if ($ExternalMessageID != '') { $replyid = $ExternalMessageID; } $sendid = $msginof['sendid']; $account = $msginof['ebay_account']; /*----- 获取messagei信息 -----*/ /* $content = str_replace("&", "&", $content); $content = str_replace("\\", "", $content); */ $content = htmlspecialchars($content); //转义特殊字符 $token = $userToken; //账号对应的token if (!isset($userToken) || strlen($userToken) == 0) { self::$errCode = 8002; self::$errMsg = 'token数据缺失!'; self::$sender = $msginof['replyuser_id']; self::$sendMsg = 'token数据缺失! MSGID:' . $msid; return FALSE; } $status = "1"; $requestXmlBody = '<?xml version="1.0" encoding="utf-8"?> <AddMemberMessageRTQRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <ItemID>' . $itemid . '</ItemID> <MemberMessage> <Body>' . $content . '</Body> <EmailCopyToSender>' . $mailsent . '</EmailCopyToSender> <ParentMessageID>' . $replyid . '</ParentMessageID> <RecipientID>' . $sendid . '</RecipientID> </MemberMessage> <RequesterCredentials> <eBayAuthToken>' . $token . '</eBayAuthToken> </RequesterCredentials> </AddMemberMessageRTQRequest>'; //echo $requestXmlBody;exit; /*----- 发送请求 -----*/ $session = new eBaySession($token, $devID, $appID, $certID, $serverUrl, $compatabilityLevel, $siteID, $verb); $responseXml = $session->sendHttpRequest($requestXmlBody); //echo $responseXml;exit; if (stristr($responseXml, 'HTTP 404') || $responseXml == '' || $responseXml === FALSE) { self::$errCode = 8003; self::$errMsg = __FILE__ . '发送请求失败! in line ' . __LINE__ . ' response --' . $responseXml . "\n"; self::$sender = $msginof['replyuser_id']; self::$sendMsg = __FILE__ . '发送请求失败! in line ' . __LINE__ . 'MSGID:' . $msid . "\n"; return FALSE; } /*----- 发送请求 -----*/ $responseDoc = new DomDocument(); $responseDoc->loadXML($responseXml); if ($responseDoc === FALSE) { //xml解析失败 self::$errCode = 8004; self::$sender = $msginof['replyuser_id']; self::$errMsg = __METHOD__ . 'xml解析失败! in line ' . __LINE__ . ' response -- ' . $responseXml . "\n"; self::$sendMsg = __METHOD__ . 'xml解析失败! in line ' . __LINE__ . 'MSGID: ' . $msid; return FALSE; } $root = $responseDoc->documentElement; $ack = $responseDoc->getElementsByTagName('Ack'); $reack = $ack->item(0)->nodeValue; $content = str_rep($content); if ($reack == 'Success') { return TRUE; } else { self::$sender = $msginof['replyuser_id']; self::$errMsg = $requestXmlBody . '-----' . $responseXml . __LINE__ . "\n"; $obj_return = simplexml_load_string($responseXml); if ($obj_return && isset($obj_return->Errors->LongMessage)) { self::$sendMsg = 'MSGID:' . $msid . '发送人:' . $sendid . ' ++++ 原因 :' . $obj_return->Errors->LongMessage; } else { self::$sendMsg = 'MSGID:' . $msid . '发送人:' . $sendid . ' ++++ ' . '原因未知'; } return FALSE; } }
function GetSellerTransactions($ebay_starttime, $ebay_endtime, $ebay_account, $type, $id) { global $api_gst, $oa, $user; global $dbConn, $mctime, $defaultstoreid; $pcount = 1; $errors = 1; do { echo "抓取....\t"; $responseXml = $api_gst->request($ebay_starttime, $ebay_endtime, $pcount); if (empty($responseXml)) { echo "Return Empty...Sleep 10 seconds.."; sleep(10); $hasmore = true; continue; } //网络出现代理Proxy error 脚本休眠20秒 $poxy_error_p = '#Proxy\\s*Error#i'; if (preg_match($poxy_error_p, $responseXml)) { echo "Proxy Error...Sleep 20 seconds.."; sleep(20); $hasmore = true; continue; } echo "\n"; $data = XML_unserialize($responseXml); $responseXml = null; unset($responseXml); $getorder = $data['GetSellerTransactionsResponse']; $data = null; unset($data); $TotalNumberOfPages = @$getorder['PaginationResult']['TotalNumberOfPages']; $TotalNumberOfEntries = @$getorder['PaginationResult']['TotalNumberOfEntries']; $hasmore = @$getorder['HasMoreTransactions']; $strline = $TotalNumberOfPages . '/' . $TotalNumberOfEntries; $Ack = @$getorder['Ack']; echo "正在请求:{$pcount}/{$TotalNumberOfPages} \t记录数[ {$TotalNumberOfEntries} ]\t\n\t\t\t\t 同步状态: {$Ack} 还有更多: {$hasmore} \n"; if ($id == '' && $type == '1') { if ($Ack == '') { $ss = "insert into errors_ack(ebay_account,starttime,endtime,status,notes) \n\t\t\t\t\t\t\tvalues('{$ebay_account}','{$ebay_starttime}','{$ebay_endtime}','0','Ack False')"; $dbConn->query($ss); } if ($hasmore == '' || $Ack == '') { $ss = "insert into errors_ack(ebay_account,starttime,endtime,status,notes) \n\t\t\t\t\t\t\tvalues('{$ebay_account}','{$ebay_starttime}','{$ebay_endtime}','0','Ack False')"; $dbConn->query($ss); } } if ($id > 0) { if ($Ack == 'Success') { $gg = "update errors_ack set status = 1 where id='{$id}' "; } else { $gg = "update errors_ack set status = 0 where id='{$id}' "; } $dbConn->query($gg); } /**/ $log_name = '同步订单'; $log_operationtime = $mctime; $log_notes = $ebay_account . ":{$pcount}/{$TotalNumberOfPages} ,Ack={$Ack}"; addlogs($log_name, $log_operationtime, 0, $log_notes, $user, $ebay_account, $ebay_starttime, $ebay_endtime, $type); /**/ $Trans = @$getorder['TransactionArray']['Transaction']; $ReturnedTransactionCountActual = @$getorder['ReturnedTransactionCountActual']; if ($ReturnedTransactionCountActual == 1) { $Trans = array(); $Trans[0] = $getorder['TransactionArray']['Transaction']; } $getorder = null; unset($getorder); foreach ((array) $Trans as $Transaction) { //每笔记录编号 $tran_recordnumber = $Transaction['ShippingDetails']['SellingManagerSalesRecordNumber']; //交易状态 $LastTimeModified = strtotime($Transaction['Status']['LastTimeModified']); $eBayPaymentStatus = $Transaction['Status']['eBayPaymentStatus']; $CompleteStatus = $Transaction['Status']['CompleteStatus']; $CheckStatus = $Transaction['Status']['CompleteStatus']; //其他交易信息比如payapl整合到ebay $ptid = @$Transaction['ExternalTransaction']['ExternalTransactionID']; $FeeOrCreditAmount = @$Transaction['ExternalTransaction']['FeeOrCreditAmount']; $FinalValueFee = $Transaction['FinalValueFee']; $tid = $Transaction['TransactionID']; //ebay 交易号 $AmountPaid = @$Transaction['AmountPaid']; $Buyer = str_rep(@$Transaction['Buyer']); $Email = str_rep(@$Buyer['Email']); //email $UserID = str_rep(@$Buyer['UserID']); //userid $BuyerInfo = $Buyer['BuyerInfo']['ShippingAddress']; $Name = str_rep($BuyerInfo['Name']); $Name = mysql_real_escape_string($Name); $Street1 = str_rep($BuyerInfo['Street1']); $Street2 = str_rep(@$BuyerInfo['Street2']); $CityName = str_rep(@$BuyerInfo['CityName']); $StateOrProvince = str_rep(@$BuyerInfo['StateOrProvince']); $Country = str_rep(@$BuyerInfo['Country']); $CountryName = str_rep(@$BuyerInfo['CountryName']); $PostalCode = str_rep(@$BuyerInfo['PostalCode']); $Phone = @$BuyerInfo['Phone']; //该交易的物品信息 $Item = $Transaction['Item']; $CategoryID = $Item['PrimaryCategory']['CategoryID']; //ebay刊登物品的分类ID,备用字段 $Currency = $Item['Currency']; //货币类型 $ItemID = $Item['ItemID']; //ebay物品id $ListingType = $Item['ListingType']; $Title = str_rep($Item['Title']); //ebay物品标题 $sku = str_rep($Item['SKU']); $site = $Item['Site']; $CurrentPrice = $Item['SellingStatus']['CurrentPrice']; //产品当前价格 $QuantityPurchased = $Transaction['QuantityPurchased']; //购买数量 $PaidTime = strtotime($Transaction['PaidTime']); //付款时间 $CreatedDate = strtotime($Transaction['CreatedDate']); //交易创建时间...********多个产品订单每个产品的创建时间不同判依据 $ShippedTime = strtotime($Transaction['ShippedTime']); $shipingservice = $Transaction['ShippingServiceSelected']['ShippingService']; $shipingfee = $Transaction['ShippingServiceSelected']['ShippingServiceCost']; $containing_order = @$Transaction['ContainingOrder']; $combined_recordnumber = @$containing_order['ShippingDetails']['SellingManagerSalesRecordNumber']; //合并后的recordnumber $orderid = 0; if ($combined_recordnumber != '') { $orderid = @$containing_order['OrderID']; } else { $orderid = $ItemID . '-' . $tid; } $BuyerCheckoutMessage = str_rep($Transaction['BuyerCheckoutMessage']); //顾客购买留言 $BuyerCheckoutMessage = str_replace('<![CDATA[', '', $BuyerCheckoutMessage); $BuyerCheckoutMessage = str_replace(']]>', '', $BuyerCheckoutMessage); //店铺收款paypal account $PayPalEmailAddress = $Transaction['PayPalEmailAddress']; $addrecordnumber = $tran_recordnumber; if ($combined_recordnumber != '') { $addrecordnumber = $combined_recordnumber; } if ($CompleteStatus == "Complete" && $eBayPaymentStatus == "NoPaymentFailure" && $PaidTime > 0) { $orderstatus = 1; } if ($ShippedTime > 0) { $orderstatus = 2; } //已经发货 ################################ $RefundAmount = 0; //表示未垦退款 if ($orderstatus == 1 && $ShippedTime <= 0 && $PaidTime > 0) { echo "销售编号[{$addrecordnumber}]有效"; //检查汇总表该 recordnumber是否已经存在 //主要是避免multiple line item 这种情况 造成重复添加 汇总数据 $check_ordersn = CheckOrderSN($addrecordnumber, $ebay_account); $new_ebay_id = true; if ($check_ordersn == "0") { //该交易还无汇总数据 添加订单汇总 /* 生成一个本地系统订单号 */ $our_sys_ordersn = date('Y-m-d-His') . mt_rand(100, 999) . $addrecordnumber; $order_no = ''; //已废弃 $obj_order = new eBayOrder(); $obj_order_data = array('ebay_paystatus' => $CompleteStatus, 'ebay_ordersn' => $our_sys_ordersn, 'ebay_tid' => $tid, 'ebay_ptid' => $ptid, 'ebay_orderid' => $orderid, 'ebay_createdtime' => $CreatedDate, 'ebay_paidtime' => $PaidTime, 'ebay_userid' => $UserID, 'ebay_username' => $Name, 'ebay_usermail' => $Email, 'ebay_street' => $Street1, 'ebay_street1' => $Street2, 'ebay_city' => $CityName, 'ebay_state' => $StateOrProvince, 'ebay_couny' => $Country, 'ebay_countryname' => $CountryName, 'ebay_postcode' => $PostalCode, 'ebay_phone' => $Phone, 'ebay_currency' => $Currency, 'ebay_total' => $AmountPaid, 'ebay_status' => $orderstatus, 'ebay_user' => $user, 'ebay_shipfee' => $shipingfee, 'ebay_account' => $ebay_account, 'recordnumber' => $addrecordnumber, 'ebay_addtime' => $mctime, 'ebay_note' => $BuyerCheckoutMessage, 'ebay_site' => $site, 'eBayPaymentStatus' => $eBayPaymentStatus, 'PayPalEmailAddress' => $PayPalEmailAddress, 'ShippedTime' => $ShippedTime, 'RefundAmount' => $RefundAmount, 'ebay_warehouse' => $defaultstoreid, 'order_no' => $order_no); $obj_order->init($obj_order_data); $obj_order_data = null; unset($obj_order_data); $new_ebay_id = $oa->addOrder($obj_order); $obj_order = null; unset($obj_order); if ($new_ebay_id !== false) { echo "\t订单[{$our_sys_ordersn}] 汇总数据入库成功=>\n\tUserID:{$UserID}" . " AMT:{$AmountPaid} recordNO:{$addrecordnumber} "; echo "付款状态:{$CompleteStatus} 交易ID:{$ptid}\n"; $check_ordersn = $our_sys_ordersn; //检验ebay 订单号 是否在订单号汇总表中 if (check_ebay_orderid_exists_in_statistic_table($orderid, $ebay_account) === false) { save_ebay_orderid_table($new_ebay_id, $ptid, $orderid, $ebay_account, $CreatedDate); } } else { echo "\t订单[{$our_sys_ordersn}] 入库失败\n"; } } if ($new_ebay_id !== false) { //添加订单明细 $sql = "select \tebay_id from ebay_orderdetail \n\t\t\t\t\t\t\t\twhere \tebay_ordersn='{$check_ordersn}' \n\t\t\t\t\t\t\t\tand \trecordnumber='{$tran_recordnumber}'"; $sql = $dbConn->query($sql); $sql = $dbConn->fetch_array_all($sql); if (count($sql) == 0) { /* 多属性订单 */ $Variation = @$Transaction['Variation']['VariationSpecifics']['NameValueList']; $attribute = ''; if (!empty($Variation)) { if (!isset($Variation['Name']) || !isset($Variation['Value'])) { foreach ($Variation as $variate) { $aname = $variate['Name']; $avalue = $variate['Value']; $attribute .= $aname . ":" . $avalue . " "; } } else { $attribute = $Variation['Name'] . ":" . $Variation['Value']; } unset($Variation); } $obj_order_detail = new eBayOrderDetail(); $obj_order_detail_data = array('ebay_ordersn' => $check_ordersn, 'ebay_itemid' => $ItemID, 'ebay_itemtitle' => $Title, 'ebay_itemprice' => $CurrentPrice, 'ebay_amount' => $QuantityPurchased, 'ebay_createdtime' => $CreatedDate, 'ebay_shiptype' => $shipingservice, 'ebay_user' => $user, 'sku' => $sku, 'shipingfee' => $shipingfee, 'ebay_account' => $ebay_account, 'addtime' => $mctime, 'ebay_itemurl' => '', 'ebay_site' => $site, 'recordnumber' => $tran_recordnumber, 'storeid' => '', 'ListingType' => $ListingType, 'ebay_tid' => $tid, 'FeeOrCreditAmount' => $FeeOrCreditAmount, 'FinalValueFee' => $FinalValueFee, 'attribute' => $attribute, 'notes' => $BuyerCheckoutMessage, 'goods_location' => @get_good_location($sku, $user)); $obj_order_detail->init($obj_order_detail_data); $obj_order_detail_data = null; unset($obj_order_detail_data); if (false !== $oa->addOrderDetail($obj_order_detail)) { echo "\t订单[{$check_ordersn}] 编号[{$tran_recordnumber}]明细入库OK!\n"; } else { echo "\t订单[{$check_ordersn}] 编号[{$tran_recordnumber}]明细入库Error!\n"; } $obj_order_detail = null; unset($obj_order_detail); } $sql = "select ebay_id from ebay_orderdetail \n\t\t\t\t\t\t\t\twhere ebay_ordersn='{$check_ordersn}' \n\t\t\t\t\t\t\t\tand recordnumber='{$tran_recordnumber}'"; $sql = $dbConn->query($sql); $sql = $dbConn->fetch_array_all($sql); if (count($sql) >= 2 && strlen($check_ordersn) >= 5) { $id = $sql[0]['ebay_id']; $ss = "delete from ebay_orderdetail where ebay_id='{$id}'"; $dbConn->query($ss); } if ($ShippedTime > 0) { $ss = "update ebay_order set ShippedTime='{$ShippedTime}',\n\t\t\t\t\t\t\t\t\tebay_status='2',ebay_markettime='{$ShippedTime}' \n\t\t\t\t\t\t\t\t\twhere ebay_ordersn='{$check_ordersn}' and ebay_status='1'"; $dbConn->query($ss); } } } else { echo "销售编号[{$addrecordnumber}]无效 不入库...\n"; } } if ($id == '' && $type == '1') { if ($Ack == '' || $Ack == 'Failure') { $ss = "insert into errors_ack(ebay_account,starttime,endtime,status,notes,currentpage) \n\t\t\t\t\t\t\tvalues('{$ebay_account}','{$ebay_starttime}','{$ebay_endtime}','0','Ack False','{$pcount}')"; $dbConn->query($ss); } } if ($pcount >= $TotalNumberOfPages) { echo $hasmore . "程序退出了\n"; break; } $pcount++; $hasmore = strtolower($hasmore) == 'true' ? true : false; } while ($hasmore); }
function act_ebayRequestUpdate() { $successNum = 0; $errordetail = NULL; include WEB_PATH . "lib/feedback/ebaylibrary/ebay_config.php"; $verb = 'GetFeedback'; $ebayUserId = isset($_POST['user_id']) ? $_POST['user_id'] : ''; $account = isset($_POST['ebay_account']) ? $_POST['ebay_account'] : ""; $select = " `id` "; $where = " where `modifyStatus`=0 and `is_delete`=0 and ebayUserId='{$ebayUserId}' and `account`='{$account}' "; $info = EbayFeedbackModel::getRequestChangeList($select, $where); //获取请求修改列表 foreach ($info as $value) { $id = $value['id']; $select = " `token` "; $where = "\twhere `account` = '{$account}' "; $token = AccountModel::getAccountList($select, $where); $token = $token[0]['token']; $select = " `FeedbackID`,`CommentText`,`CommentingUser`,`ItemID`,`TransactionID`,`CommentType` "; $where = " where account='{$account}' and CommentingUser ='******' "; //and (CommentType='Neutral' or CommentType='Negative') $get_info = EbayFeedbackModel::getOrderList($select, $where); //卖家评价信息 //var_dump($get_info); foreach ($get_info as $v) { $status = ""; $feedbackID = $v['FeedbackID']; $commentingUser = $v['CommentingUser']; $itemID = $v['ItemID']; $transactionID = $v['TransactionID']; $commentType = $v['CommentType']; $commentText = $v['CommentText']; $transactionID = html_entity_decode($transactionID); $transactionID = trim($transactionID, "´"); //var_dump($transactionID); $requestXmlBody = '<?xml version="1.0" encoding="utf-8"?> <GetFeedbackRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <RequesterCredentials> <eBayAuthToken>' . $token . '</eBayAuthToken> </RequesterCredentials> <ItemID>' . $itemID . '</ItemID> <TransactionID>' . $transactionID . '</TransactionID> <UserID>' . $commentingUser . '</UserID> <FeedbackType>FeedbackReceived</FeedbackType> <DetailLevel>ReturnAll</DetailLevel> </GetFeedbackRequest>'; $session = new eBaySession($token, $devID, $appID, $certID, $serverUrl, $compatabilityLevel, $siteID, $verb); $responseXml = $session->sendHttpRequest($requestXmlBody); if (stristr($responseXml, 'HTTP 404') || $responseXml == '') { self::$errCode = '002'; self::$errMsg = "拉取eaby feedback 失败"; return 'id not found'; } $data = XML_unserialize($responseXml); //print_r($responseXml);exit; $ack = $data['GetFeedbackResponse']['Ack']; $feedbackRevised = $data['GetFeedbackResponse']['FeedbackDetailArray']['FeedbackDetail']; //print_r($feedbackRevised); $feedbackRevised = $feedbackRevised[0]['FeedbackRevised']; if ($ack != "Success") { self::$errCode = '002'; self::$errMsg = "拉取eaby feedback 失败"; return false; } else { //var_dump($data,$feedbackRevised);exit; /* if(1 == "true") { */ $feedback = $data['GetFeedbackResponse']['FeedbackDetailArray']['FeedbackDetail']; $feedbackType = isset($feedback[0]['CommentType']) ? $feedback[0]['CommentType'] : $feedback['CommentType']; $feedbackUser = $feedback[0]['CommentingUser']; if ($commentingUser == $feedbackUser) { $feedbackText = addslashes(str_rep($feedback[0]['CommentText'])); } else { $feedbackText = addslashes(str_rep($commentText)); } $status = ""; if ($commentType != $feedbackType && $feedbackType) { if ($commentType == "Neutral") { if ($feedbackType == "Positive") { $status = "21"; //中评改好评 } else { if ($feedbackType == "Negative") { $status = "23"; //中评改差评 } else { $status = "22"; //中评改中评 } } } else { if ($commentType == "Negative") { if ($feedbackType == "Positive") { $status = "31"; } else { if ($feedbackType == "Neutral") { $status = "32"; } else { $status = "33"; } } } else { } } //好评情况不做处理 if ($status != "") { $tName = " fb_comment_record_ebay "; $set = " set status='{$status}',CommentType='{$feedbackType}',CommentText='{$feedbackText}'"; $where = " where FeedbackID='{$feedbackID}' "; $sql = "{$tName} {$set} {$where} "; //echo $sql."\n"; if (OmAvailableModel::updateTNameRow($tName, $set, $where)) { $tName = " fb_request_change_ebay "; $set = " set modifyStatus=1 "; $where = " where id ={$id} "; $sql = "{$tName} {$set} {$where}"; $res = OmAvailableModel::updateTNameRow($tName, $set, $where); if ($res) { $successNum += 1; //self::$errMsg = "修改成功"; } else { /* self::$errCode = '002'; self::$errMsg = "更新状态失败$sql"; */ } } else { //echo 'Failure '."\n"; /* self::$errCode = '002'; self::$errMsg = "更新评价失败!"; */ } //echo 'userID :'.$commentingUser.":".$commentType."------------>".$feedbackType."\n"; } /* else{ self::$errCode = '002'; self::$errMsg = "客户评价没有修改!"; return false; } */ } else { //end if线上评价与本地评价不同 $errordetail .= "{$commentingUser} "; } /* }else{//end feedbackRevised =ture self::$errCode = '002'; self::$errMsg = "客户还没有修改评价!"; return false; } */ } //end of 获取ebay feedback接口成功 } /* self::$errCode = '002'; self::$errMsg = "$ebayUserId $account 系统不存此评价信息"; return false; */ } //foreach if ($successNum > 0) { self::$errMsg = "修改成功{$successNum}个"; return true; } else { self::$errCode = '002'; self::$errMsg = "{$errordetail} 还未修改评价"; return false; } }
$feedback = $data['GetFeedbackResponse']['FeedbackDetailArray']['FeedbackDetail']; //$feedbackType = isset($feedback[0]['CommentType']) ? $feedback[0]['CommentType'] : $feedback['CommentType']; if ($feedback['CommentType']) { $feedbackType = $feedback['CommentType']; } else { foreach ($feedback as $value) { if ($value['Role'] == 'Buyer') { $feedbackType = $value['CommentType']; } } } $feedbackUser = $feedback[0]['CommentingUser']; if ($commentingUser == $feedbackUser) { $feedbackText = addslashes(str_rep($feedback[0]['CommentText'])); } else { $feedbackText = addslashes(str_rep($commentText)); } if ($commentType != $feedbackType && $feedbackType) { if ($commentType == "Neutral") { if ($feedbackType == "Positive") { $status = "21"; //中评改好评 } else { if ($feedbackType == "Negative") { $status = "23"; } else { $status = "22"; } } } else { if ($commentType == "Negative") {
/** * 根据订单号抓取订单列表 * @param array $orderids * @return array * @author lzx */ public function spiderOrderLists($orderids) { $OrderObject = F('ebay.package.GetOrders'); $OrderObject->setRequestConfig($this->authorize); $receivelists = $OrderObject->getOrderLists($orderids); $receivelists = XML_unserialize($receivelists); $orders = array(); if (!empty($receivelists['GetOrdersResponse']['OrderArray']['Order']['OrderID'])) { $orders = array($receivelists['GetOrdersResponse']['OrderArray']['Order']); } else { $orders = $receivelists['GetOrdersResponse']['OrderArray']['Order']; } $inserOrders = array(); $StatusMenu = M('StatusMenu'); $ORDER_INIT = $StatusMenu->getOrderStatusByStatusCode('ORDER_INIT', 'id'); //将这个抓取的数组格式化为订单新增(OrderAddModel)的标准化格式 foreach ($orders as $orderInfo) { $isNote = 0; //默认为没有留言订单 //顾客留言 if (!empty($orderInfo['ExternalTransaction']['BuyerCheckoutMessage'])) { $isNote = 1; $customerMessage = @str_rep($orderInfo['ExternalTransaction']['BuyerCheckoutMessage']); $customerMessage = str_replace('<![CDATA[', '', $customerMessage); $customerMessage = str_replace(']]>', '', $customerMessage); } //获取第一个Transaction,多个料号和单个料号的格式不一样 $orderAttribute = 1; //1为单料订单 $firstTransaction = $orderInfo['TransactionArray']['Transaction']; if (!empty($firstTransaction) && empty($orderInfo['TransactionArray']['Transaction']['Buyer'])) { $orderAttribute = 3; //多料号订单 $firstTransaction = $orderInfo['TransactionArray']['Transaction'][0]; } //站点 $site = $firstTransaction['Item']['Site']; if (empty($site)) { $site = $firstTransaction['TransactionID']; } //订单表数据 $order = array('recordNumber' => $orderInfo['ShippingDetails']['SellingManagerSalesRecordNumber'], 'platformId' => 1, 'orderStatus' => $ORDER_INIT, 'orderType' => $ORDER_INIT, 'accountId' => M('Account')->getAccountIdByName($this->authorize['account']), 'ordersTime' => strtotime($orderInfo['CreatedTime']), 'paymentMethod' => $orderInfo['CheckoutStatus']['PaymentMethod'], 'paymentTime' => strtotime($orderInfo['PaidTime']), 'onlineTotal' => $orderInfo['AmountPaid'], 'actualTotal' => $orderInfo['AmountPaid'], 'currency' => $orderInfo['AmountSaved attr']['currencyID'], 'transportId' => 0, 'actualShipping' => $orderInfo['ShippingServiceSelected']['ShippingServiceCost'], 'marketTime' => 0, 'ShippedTime' => 0, 'orderAttribute' => 1, 'pmId' => 0, 'ORtransport' => $orderInfo['ShippingServiceSelected']['ShippingService'], 'channelId' => 0, 'calcWeight' => 0, 'calcShipping' => 0, 'orderAddTime' => time(), 'isSendEmail' => 0, 'isNote' => $isNote, 'isCopy' => 0, 'isSplit' => 0, 'combinePackage' => 0, 'combineOrder' => 0, 'completeTime' => 0, 'storeId' => 1, 'is_offline' => 0, 'is_delete' => 0); //订单扩展表 $orderExtension = array('declaredPrice' => 0.0, 'orderStatus' => $orderInfo['OrderStatus'], 'paymentStatus' => $orderInfo['CheckoutStatus']['Status'], 'getItFast' => $orderInfo['ShippingDetails']['GetItFast'], 'addressID' => $orderInfo['ShippingAddress']['AddressID'], 'addressOwner' => $orderInfo['ShippingAddress']['AddressOwner'], 'EIASToken' => $orderInfo['EIASToken'], 'paymentHoldStatus' => $orderInfo['PaymentHoldStatus'], 'paymentAmount' => $orderInfo['MonetaryDetails']['Payments']['Payment']['PaymentAmount'], 'payPalPaymentId' => $orderInfo['MonetaryDetails']['Payments']['Payment']['ReferenceID'], 'payPalPaymentFee' => $orderInfo['MonetaryDetails']['Payments']['Payment']['FeeOrCreditAmount'], 'orderId' => $orderInfo['OrderID'], 'feedback' => !empty($customerMessage) ? $customerMessage : 'none', 'PayPalEmailAddress' => $this->getPayPalEmailAddress($firstTransaction['Item']['ItemID']), 'eBayPaymentStatus' => $orderInfo['CheckoutStatus']['eBayPaymentStatus']); //用户表 $orderUserInfo = array('username' => mysql_real_escape_string(str_rep($orderInfo['ShippingAddress']['Name'])), 'platformUsername' => $orderInfo['BuyerUserID'], 'email' => $firstTransaction['Buyer']['Email'], 'countryName' => str_rep($orderInfo['ShippingAddress']['CountryName']), 'countrySn' => str_rep($orderInfo['ShippingAddress']['Country']), 'currency' => $firstTransaction['TransactionPrice attr']['currencyID'], 'state' => str_rep($orderInfo['ShippingAddress']['StateOrProvince']), 'city' => str_rep($orderInfo['ShippingAddress']['CityName']), 'address1' => str_rep($orderInfo['ShippingAddress']['Street1']), 'address2' => str_rep($orderInfo['ShippingAddress']['Street2']), 'phone' => $orderInfo['ShippingAddress']['Phone'], 'zipCode' => $orderInfo['ShippingAddress']['PostalCode']); //订单明细表数据 if ($orderAttribute == 1) { //单料号订单,转为多料号数组一并处理 $transactionArray = array($firstTransaction); } else { if ($orderAttribute == 3) { $transactionArray = $orderInfo['TransactionArray']['Transaction']; } } $orderDetail = array(); foreach ($transactionArray as $transaction) { //检查是否多属性刊登 $onlineSku = $transaction['Item']['SKU']; if (isset($transaction['Variation']['SKU'])) { $onlineSku = $transaction['Variation']['SKU']; } $skus = explode(':', $onlineSku); $sku = strtoupper($skus[0]); $orderDetail[] = array('orderDetail' => array('recordNumber' => $transaction['ShippingDetails']['SellingManagerSalesRecordNumber'], 'itemId' => $transaction['Item']['ItemID'], 'itemPrice' => $transaction['TransactionPrice'], 'sku' => $sku, 'onlinesku' => $onlineSku, 'amount' => $transaction['QuantityPurchased'], 'shippingFee' => $transaction['ActualShippingCost'], 'createdTime' => time(), 'storeId' => 1, 'is_delete' => 0), 'orderDetailExtension' => array('transactionID' => $transaction['TransactionID'], 'itemTitle' => str_rep($transaction['Item']['Title']), 'itemURL' => '', 'conditionID' => $transaction['Item']['ConditionID'], 'conditionDisplayName' => $transaction['Item']['ConditionDisplayName'], 'finalValueFeeCurrency' => $transaction['FinalValueFee attr']['currencyID'], 'finalValueFee' => $transaction['FinalValueFee'], 'handlingFee' => $transaction['FinalValueFee'])); } /* * $attribute = ''; $buy_with_attr=false; $tran_varia=$transaction->getElementsByTagName('Variation')->item(0); if(is_object($tran_varia)){//未添加明细的属性 20130301 if( $tran_varia->hasChildNodes() ){ $Variation = $tran_varia->getElementsByTagName('NameValueList')->item(0); if( !empty($Variation) && $Variation->hasChildNodes() ){ foreach($Variation as $variate){ $aname = $variate->getElementsByTagName('Name')->item(0)->nodeValue; $avalue = $variate->getElementsByTagName('Value')->item(0)->nodeValue; $attribute .= $aname.":".$avalue." "; } }else{ $attribute = $Variation['Name'].":".$Variation['Value']; } $buy_with_attr=true; $Variation=null;unset($Variation); } } $tran_id = $transaction->getElementsByTagName('TransactionID')->item(0)->nodeValue; //该交易的物品信息 $odItem = $transaction->getElementsByTagName('Item')->item(0); if($buy_with_attr===true){ $odItemTitle = @$tran_varia->getElementsByTagName('VariationTitle')->item(0)->nodeValue; $odSKU = @$tran_varia->getElementsByTagName('SKU')->item(0)->nodeValue; }else{ $odItemTitle =str_rep($odItem->getElementsByTagName('Title')->item(0)->nodeValue); $odSKU =str_rep($odItem->getElementsByTagName('SKU')->item(0)->nodeValue); } */ //组装数据 $inserOrders[] = array('order' => $order, 'orderExtension' => $orderExtension, 'orderUserInfo' => $orderUserInfo, 'orderDetail' => $orderDetail); } return $inserOrders; }
function __handle_ebay_orderxml(&$SellerOrderArray, $ebay_account) { global $FLIP_GLOBAL_EBAY_ACCOUNT; if (!isset($FLIP_GLOBAL_EBAY_ACCOUNT)) { $omAvailableAct = new OmAvailableAct(); $GLOBAL_EBAY_ACCOUNT = $omAvailableAct->act_getTNameList2arrById('om_account', 'id', 'account', ' WHERE is_delete=0 '); $FLIP_GLOBAL_EBAY_ACCOUNT = array_flip($GLOBAL_EBAY_ACCOUNT); } global $mctime, $_allow_spide_itemid; $account_suffix = get_account_suffix($ebay_account); $message = ""; foreach ($SellerOrderArray as $SellerOrder) { //每个订单号 $oSellerOrderID = $SellerOrder->getElementsByTagName('OrderID')->item(0)->nodeValue; //oCreatingUserRole用于判断是否是 combined payments $oCreatingUserRole = @$SellerOrder->getElementsByTagName('CreatingUserRole')->item(0)->nodeValue; $oAmountPaid = $SellerOrder->getElementsByTagName('AmountPaid')->item(0)->nodeValue; $shippingDeatil = $SellerOrder->getElementsByTagName('ShippingDetails')->item(0); $oRecordNumber = $shippingDeatil->getElementsByTagName('SellingManagerSalesRecordNumber')->item(0)->nodeValue; $shippingDeatil = null; unset($shippingDeatil); //订单状态 $CheckoutStatus = $SellerOrder->getElementsByTagName('CheckoutStatus')->item(0); $LastTimeModified = strtotime($CheckoutStatus->getElementsByTagName('LastModifiedTime')->item(0)->nodeValue); $oeBayPaymentStatus = $CheckoutStatus->getElementsByTagName('eBayPaymentStatus')->item(0)->nodeValue; $oCompleteStatus = $CheckoutStatus->getElementsByTagName('Status')->item(0)->nodeValue; $oCheckStatus = $CheckoutStatus->getElementsByTagName('Status')->item(0)->nodeValue; $CheckoutStatus = null; unset($CheckoutStatus); //该订单交易信息 $osoTransArray = $SellerOrder->getElementsByTagName('Transaction'); //其他交易信息比如payapl整合到ebay $oTid = 0; //兼容表结构,其实此时还没有交易号的概念 $ExtTran = $SellerOrder->getElementsByTagName('ExternalTransaction')->item(0); $noptid_trans = false; if (!empty($ExtTran)) { $oPtid = $ExtTran->getElementsByTagName('ExternalTransactionID')->item(0)->nodeValue; $oFeeOrCreditAmount = $ExtTran->getElementsByTagName('FeeOrCreditAmount')->item(0)->nodeValue; } else { $oPtid = '0'; $oFeeOrCreditAmount = 0.0; echo " Notice : [{$oSellerOrderID}]Not ebay offical paypal trans\n"; $noptid_trans = true; } //以下信息强制以订单的transation数据中第一条交易为准而取 if (is_object($osoTransArray->item(0)->getElementsByTagName('Buyer')->item(0))) { $oEmail = str_rep($osoTransArray->item(0)->getElementsByTagName('Buyer')->item(0)->getElementsByTagName('Email')->item(0)->nodeValue); } else { echo "\n同步订单未获取邮箱\n"; $oEmail = ""; } $oSite = str_rep($osoTransArray->item(0)->getElementsByTagName('Item')->item(0)->getElementsByTagName('Site')->item(0)->nodeValue); if (empty($oSite)) { $oSite = str_rep($osoTransArray->item(0)->getElementsByTagName('TransactionSiteID')->item(0)->nodeValue); } //货币类型 $oCurrency = $osoTransArray->item(0)->getElementsByTagName('TransactionPrice')->item(0)->attributes->item(0)->nodeValue; //userid $oUserID = str_rep($SellerOrder->getElementsByTagName('BuyerUserID')->item(0)->nodeValue); $BuyerInfo = $SellerOrder->getElementsByTagName('ShippingAddress')->item(0); $oName = str_rep($BuyerInfo->getElementsByTagName('Name')->item(0)->nodeValue); $oName = mysql_real_escape_string($oName); $oStreet1 = str_rep($BuyerInfo->getElementsByTagName('Street1')->item(0)->nodeValue); $oStreet2 = str_rep($BuyerInfo->getElementsByTagName('Street2')->item(0)->nodeValue); $oCityName = str_rep($BuyerInfo->getElementsByTagName('CityName')->item(0)->nodeValue); $oStateOrProvince = str_rep($BuyerInfo->getElementsByTagName('StateOrProvince')->item(0)->nodeValue); $oCountry = str_rep($BuyerInfo->getElementsByTagName('Country')->item(0)->nodeValue); $oCountryName = str_rep($BuyerInfo->getElementsByTagName('CountryName')->item(0)->nodeValue); $oPostalCode = str_rep($BuyerInfo->getElementsByTagName('PostalCode')->item(0)->nodeValue); $oPhone = $BuyerInfo->getElementsByTagName('Phone')->item(0)->nodeValue; $BuyerInfo = null; unset($BuyerInfo); //顾客留言 $oBuyerCheckoutMessage = @str_rep($SellerOrder->getElementsByTagName('BuyerCheckoutMessage')->item(0)->nodeValue); //顾客购买留言 $oBuyerCheckoutMessage = str_replace('<![CDATA[', '', $oBuyerCheckoutMessage); $oBuyerCheckoutMessage = str_replace(']]>', '', $oBuyerCheckoutMessage); //付款时间 $oPaidTime = strtotime($SellerOrder->getElementsByTagName('PaidTime')->item(0)->nodeValue); $oCreateTime = strtotime($SellerOrder->getElementsByTagName('CreatedTime')->item(0)->nodeValue); $oShippedTime = @strtotime($SellerOrder->getElementsByTagName('ShippedTime')->item(0)->nodeValue); $SSS = $SellerOrder->getElementsByTagName('ShippingServiceSelected')->item(0); $oShipingService = $SSS->getElementsByTagName('ShippingService')->item(0)->nodeValue; $oShipingFee = $SSS->getElementsByTagName('ShippingServiceCost')->item(0)->nodeValue; $SSS = null; unset($SSS); //店铺收款paypal account //$oPayPalEmailAddress = @$SellerOrder->getElementsByTagName('PayPalEmailAddress')->item(0)->nodeValue; $_itemid = $osoTransArray->item(0)->getElementsByTagName('ItemID')->item(0)->nodeValue; $oPayPalEmailAddress = $this->getPayPalEmailAddress($_itemid); //var_dump($Item_Elements); //$oPayPalEmailAddress = $Item_Elements->getElementsByTagName('PayPalEmailAddress')->nodeValue; //echo $oCompleteStatus."======".$oeBayPaymentStatus."======".$oPaidTime; echo "\n"; if ($oCompleteStatus == "Complete" && $oeBayPaymentStatus == "NoPaymentFailure" && $oPaidTime > 0) { $oOrderStatus = 1; } if ($noptid_trans === true) { //不是通过ebay官方交易的paypal交易 if ($oCompleteStatus == "Complete" && $oeBayPaymentStatus == "NoPaymentFailure" && $oPaidTime > 0) { $oOrderStatus = 687; } } $is_allow_spide_itemid = false; if ($oPaidTime <= 0 || $oPaidTime == '' || empty($oPaidTime) && count($osoTransArray) == 1) { $_QuantityPurchased = $osoTransArray->item(0)->getElementsByTagName('QuantityPurchased')->item(0)->nodeValue; if (in_array($_itemid, $_allow_spide_itemid) && $_QuantityPurchased > 0) { echo "未付款促销订单抓取--------"; $oOrderStatus = $_QuantityPurchased == 1 ? 687 : 688; $oAmountPaid = 9999; $oPaidTime = $oCreateTime; $is_allow_spide_itemid = true; $buyAddress = $this->getSellerTransactions($oSellerOrderID); $oName = str_rep($buyAddress->getElementsByTagName('Name')->item(0)->nodeValue); $oName = mysql_real_escape_string($oName); $oStreet1 = str_rep($buyAddress->getElementsByTagName('Street1')->item(0)->nodeValue); $oCityName = str_rep($buyAddress->getElementsByTagName('CityName')->item(0)->nodeValue); $oStateOrProvince = str_rep($buyAddress->getElementsByTagName('StateOrProvince')->item(0)->nodeValue); $oCountry = str_rep($buyAddress->getElementsByTagName('Country')->item(0)->nodeValue); $oCountryName = str_rep($buyAddress->getElementsByTagName('CountryName')->item(0)->nodeValue); $oPostalCode = str_rep($buyAddress->getElementsByTagName('PostalCode')->item(0)->nodeValue); $oPhone = $buyAddress->getElementsByTagName('Phone')->item(0)->nodeValue; } } if ($oShippedTime > 0) { $oOrderStatus = 2; } //已经发货 $oRefundAmount = 0; //表示未垦退款 if ($oOrderStatus == 1 && $oShippedTime <= 0 && $oPaidTime > 0 || $oOrderStatus == 4 && $oShippedTime <= 0 || in_array($oOrderStatus, array(687, 688)) && $oShippedTime <= 0 && $is_allow_spide_itemid == true) { echo "eBay订单号[{$oSellerOrderID}]有效 ,订单类型[{$oOrderStatus}] "; $check_ebayorderid = true; //检查汇总表该 eBay 订单号是否已经存在 //echo "===={$oSellerOrderID}==={$ebay_account}====";//检测重复抓单信息 $where = " where orderid='" . $oSellerOrderID . "' and accountId='" . $FLIP_GLOBAL_EBAY_ACCOUNT[$ebay_account] . "' "; $check_ebayorderid = OrderidsModel::judgeOrderidsList('orderid', $where); //取消 $check_ebayorderid == false; $new_ebay_id = true; if ($check_ebayorderid === false) { //添加订单汇总 /* 生成一个本地系统订单号 */ //$our_sys_ordersn=date('Y-m-d-His').mt_rand(100,999).$oRecordNumber; $oorder_no = ''; //已废弃 $isNote = 0; if (!empty($oBuyerCheckoutMessage)) { $isNote = 1; } $orderData = array(); $orderData = array('orderData' => array('recordNumber' => $oRecordNumber, 'platformId' => 1, 'accountId' => $FLIP_GLOBAL_EBAY_ACCOUNT[$ebay_account], 'ordersTime' => $oCreateTime, 'paymentTime' => $oPaidTime, 'onlineTotal' => $oAmountPaid, 'actualTotal' => $oAmountPaid, 'transportId' => '', 'actualShipping' => $oShipingFee, 'orderStatus' => C("STATEPENDING"), 'orderType' => C("STATEPENDING_CONV"), 'orderAttribute' => 1, 'channelId' => '', 'orderAddTime' => $mctime, 'isNote' => $isNote, 'storeId' => 1), 'orderExtenData' => array('declaredPrice' => 0.0, 'paymentStatus' => $oCompleteStatus, 'transId' => 1, 'PayPalPaymentId' => $oPtid, 'site' => $oSite, 'orderId' => $oSellerOrderID, 'platformUsername' => $oUserID, 'currency' => $oCurrency, 'feedback' => $oBuyerCheckoutMessage, 'PayPalEmailAddress' => $oPayPalEmailAddress, 'eBayPaymentStatus' => $oeBayPaymentStatus), 'orderUserInfoData' => array('username' => $oName, 'platformUsername' => $oUserID, 'email' => $oEmail, 'countryName' => $oCountryName, 'countrySn' => $oCountry, 'currency' => $oCurrency, 'state' => $oStateOrProvince, 'city' => $oCityName, 'street' => $oStreet1, 'address2' => $oStreet2, 'address3' => '', 'landline' => $oPhone, 'phone' => $ebay_state, 'zipCode' => $oPostalCode)); echo "\tUserID:{$oUserID}" . " AMT:{$oAmountPaid} recordNO:{$oRecordNumber} 付款状态:{$oCompleteStatus} 付款时间:" . date('Y-m-d H:i:s', $oPaidTime) . "\n"; //添加订单明细 $obj_order_detail_data = array(); foreach ($osoTransArray as $transaction) { //该交易的销售编号 $tran_recordnumber = $transaction->getElementsByTagName('ShippingDetails')->item(0)->getElementsByTagName('SellingManagerSalesRecordNumber')->item(0)->nodeValue; /* 多属性订单 */ $attribute = ''; $buy_with_attr = false; $tran_varia = $transaction->getElementsByTagName('Variation')->item(0); if (is_object($tran_varia)) { //未添加明细的属性 20130301 if ($tran_varia->hasChildNodes()) { $Variation = $tran_varia->getElementsByTagName('NameValueList')->item(0); if (!empty($Variation) && $Variation->hasChildNodes()) { foreach ($Variation as $variate) { $aname = $variate->getElementsByTagName('Name')->item(0)->nodeValue; $avalue = $variate->getElementsByTagName('Value')->item(0)->nodeValue; $attribute .= $aname . ":" . $avalue . " "; } } $buy_with_attr = true; $Variation = null; unset($Variation); } } $tran_id = $transaction->getElementsByTagName('TransactionID')->item(0)->nodeValue; //该交易的物品信息 $odItem = $transaction->getElementsByTagName('Item')->item(0); if ($buy_with_attr === true) { $odItemTitle = @$tran_varia->getElementsByTagName('VariationTitle')->item(0)->nodeValue; $odSKU = @$tran_varia->getElementsByTagName('SKU')->item(0)->nodeValue; } else { $odItemTitle = str_rep($odItem->getElementsByTagName('Title')->item(0)->nodeValue); $odSKU = str_rep($odItem->getElementsByTagName('SKU')->item(0)->nodeValue); } $is_suffix = 0; if (!empty($account_suffix)) { list($truesku, $skusuffix) = explode(':', $odSKU); if (!empty($skusuffix)) { $odSKU = $truesku; $is_suffix = 1; } } ###########悲剧 目前getorder api 无法取得下面2个值######### //ebay刊登物品的分类ID,备用字段 //$CategoryID = @$odItem->getElementsByTagName('PrimaryCategory')->item(0)->getElementsByTagName('CategoryID')->item(0)->nodeValue; //$ListingType = @$odItem->getElementsByTagName('ListingType')->item(0)->nodeValue; $CategoryID = 0; $ListingType = ''; //购买数量 $QuantityPurchased = $transaction->getElementsByTagName('QuantityPurchased')->item(0)->nodeValue; //交易创建时间 $CreatedDate = strtotime($transaction->getElementsByTagName('CreatedDate')->item(0)->nodeValue); $FinalValueFee = $transaction->getElementsByTagName('FinalValueFee')->item(0)->nodeValue; $tran_price = $transaction->getElementsByTagName('TransactionPrice')->item(0)->nodeValue; $goodsshippingcost = $transaction->getElementsByTagName('ActualShippingCost')->item(0)->nodeValue; $goodsshippingcost = empty($goodsshippingcost) ? '0.0' : $goodsshippingcost; $tran_itemid = $odItem->getElementsByTagName('ItemID')->item(0)->nodeValue; $tran_site = $odItem->getElementsByTagName('Site')->item(0)->nodeValue; //$obj_order_detail =new eBayOrderDetail(); $obj_order_detail_data[] = array('orderDetailData' => array('recordNumber' => $tran_recordnumber, 'itemPrice' => $tran_price, 'sku' => strtoupper($odSKU), 'amount' => $QuantityPurchased, 'shippingFee' => $goodsshippingcost, 'createdTime' => $mctime), 'orderDetailExtenData' => array('itemId' => $tran_itemid, 'transId' => $tran_id, 'itemTitle' => $odItemTitle, 'itemURL' => '', 'shippingType' => $oShipingService, 'FinalValueFee' => $FinalValueFee, 'FeeOrCreditAmount' => $oFeeOrCreditAmount, 'ListingType' => $ListingType, 'note' => $oBuyerCheckoutMessage)); } $orderData['orderDetail'] = $obj_order_detail_data; $rtn = OldsystemModel::orderErpInsertorder($orderData); //var_dump($rtn); $insertData = array(); if ($rtn['errcode'] == 200) { var_dump($rtn); $rtn_data = $rtn['data']; $orderId = $rtn_data['orderId']; echo "插入老系统成功,订单编号 [{$orderId}] \n"; $pmId = $rtn_data['pmId']; $totalweight = $rtn_data['totalweight']; $shipfee = $rtn_data['shipfee']; $carrier = $rtn_data['carrier']; $carrierId = $rtn_data['carrierId']; $status = $rtn_data['status']; $orderData['orderData']['id'] = $orderId; //赋予新系统订单编号@20140501 $calcInfo = CommonModel::calcAddOrderWeight($obj_order_detail_data); //计算重量和包材 //var_dump($calcInfo); $orderData['orderData']['ORcalcWeight'] = $calcInfo[0]; $orderData['orderData']['calcWeight'] = $calcInfo[0]; $orderData['orderData']['pmId'] = $calcInfo[1]; if ($orderData['orderData']['calcWeight'] != $totalweight) { $insertData['old_totalweight'] = $totalweight; $insertData['new_totalweight'] = $orderData['orderData']['calcWeight']; } if ($orderData['orderData']['pmId'] != $pmId) { $insertData['old_pmId'] = $pmId; $insertData['new_pmId'] = $orderData['orderData']['pmId']; } if (count($orderData['orderDetail']) > 1) { $orderData['orderData']['orderAttribute'] = 3; } else { if (isset($orderData['orderDetail'][0]['orderDetailData']['amount']) && $orderData['orderDetail'][0]['orderDetailData']['amount'] > 1) { $orderData['orderData']['orderAttribute'] = 2; } } $calcShippingInfo = TransAPIModel::trans_carriers_best_get($orderData['orderData']['calcWeight'], $orderData['orderUserInfoData']['countryName'], $ebay_account, $orderData['orderData']['actualTotal']); //计算运费 //var_dump($calcShippingInfo); $orderData['orderData']['calcShipping'] = $calcShippingInfo['fee']; $orderData['orderData']['transportId'] = $calcShippingInfo['carrierId']; $orderData['orderData']['ORtransportId'] = $calcShippingInfo['carrierId']; $orderData['orderData']['channelId'] = $calcShippingInfo['channelId']; $orderData['orderData']['ORchannelId'] = $calcShippingInfo['channelId']; if ($orderData['orderData']['calcShipping'] != $shipfee) { $insertData['old_shippfee'] = $shipfee; $insertData['new_shippfee'] = $orderData['orderData']['calcShipping']; } if ($orderData['orderData']['transportId'] != $carrierId) { $insertData['old_carrierId'] = $carrierId; $insertData['new_carrierId'] = $orderData['orderData']['transportId']; } if (!empty($insertData)) { $insertData['ebay_id'] = $orderId; $insertData['addtime'] = time(); var_dump($insertData); OldsystemModel::insertTempSyncRecords($insertData); // 插入临时对比记录表 } $orderData = AutoModel::auto_contrast_intercept($orderData); $statusArr = StatusMenuModel::getStatusMenuByOldStatus($status); if (empty($statusArr)) { echo "未获取老系统状态{$status}转换新码\n"; } else { $orderData['orderData']['ORorderStatus'] = $statusArr[0]; $orderData['orderData']['ORorderType'] = $statusArr[1]; $orderData['orderData']['orderStatus'] = $statusArr[0]; $orderData['orderData']['orderType'] = $statusArr[1]; } if (OrderAddModel::insertAllOrderRow($orderData)) { echo "本地 Record No. [{$oRecordNumber}] 入库成功\n"; $message .= "<font color='green'>本地订单号 [{$oRecordNumber}] 入库成功</font><br>"; } else { echo OrderAddModel::$errMsg; $message .= "<font color='red'>本地订单号 [{$oRecordNumber}] 入库失败</font><br>"; } } else { var_dump($rtn); } //exit; } else { echo "本地订单号 [{$oRecordNumber}] 入库失败\n"; $message .= "<font color='red'>本地订单号 [{$oRecordNumber}] 入库失败</font><br>"; } } else { echo "eBay订单号[{$oSellerOrderID}] 记录编号[{$oRecordNumber}] 无效 不入库...\t"; $message .= "<font color='red'>{$oSellerOrderID}无效 不入库...</font><br>"; if ($oShippedTime > 0 || $oOrderStatus == 2) { echo "已经发货\t"; $message .= "<font color='red'>{$oSellerOrderID}已经发货</font><br>"; } if ($oPaidTime <= 0 || $oPaidTime == '' || empty($oPaidTime)) { echo "未付款\t"; $message .= "<font color='red'>{$oSellerOrderID}未付款</font><br>"; } echo "\n"; //pop_ebay_orderid_queue($oSellerOrderID,$ebay_account); } } return $message; }
public function GetMemberMessages($start, $end, $account, $type, $idlimit = FALSE) { $api_messages = new GetMemberMessagesAPI($account); $patch = MSGBODYSAVEPATH; $pcount = 0; while ($pcount++ < 50) { //一次最多抓取八页内容 // echo $pcount, "\n";continue; /*----- 抓取message并解析数据 -----*/ $responseXml = $api_messages->request($start, $end, $pcount, $account); //发送抓取请求 if (stristr($responseXml, 'HTTP 404') || $responseXml == '') { self::$errCode = 5001; self::$errMsg = '抓取数据失败 in code line --' . __LINE__; return FALSE; } // echo $responseXml, "\n\n"; $responseDoc = new DomDocument(); $responseDoc->loadXML($responseXml); $data = XML_unserialize($responseXml); /*----- 抓取message并解析数据 -----*/ /*----- 根据返回结果记录log -----*/ $Ack = $data['GetMyMessagesResponse']['Ack']; if ($Ack == '' || $Ack != 'Success') { echo $responseXml; echo "\n" . '-- 获取数据失败 --' . $account . ' ' . $Ack . ' at line ' . __LINE__ . "\n"; // $pcount++; continue; } $mctime = time(); /* ----- 判断返回结果里面是否包含了message ----- */ if (!is_array($data['GetMyMessagesResponse']['Messages']) || empty($data['GetMyMessagesResponse']['Messages']['Message'])) { $Trans = array(); } else { $Trans = $data['GetMyMessagesResponse']['Messages']['Message']; $Sender = $data['GetMyMessagesResponse']['Messages']['Message']['Sender']; if ($Sender != '') { $Trans = array(); $Trans[0] = $data['GetMyMessagesResponse']['Messages']['Message']; } } /* ----- 判断返回结果里面是否包含了message ----- */ foreach ($Trans as $Transaction) { //循环抓取message内容 $Read = $Transaction['Read'] ? 1 : 0; $HighPriority = $Transaction['HighPriority']; $Sender = $Transaction['Sender']; $MessageID = $Transaction['MessageID']; $RecipientUserID = $Transaction['RecipientUserID']; $Subject = str_rep($Transaction['Subject']); $MessageType = $Transaction['MessageType']; $Replied = $Transaction['Replied']; $ItemID = $Transaction['ItemID']; $ExternalMessageID = $Transaction['ExternalMessageID']; // 之前的id $ReceiveDate = $Transaction['ReceiveDate']; $ItemTitle = str_rep($Transaction['ItemTitle']); $createtime1 = strtotime($ReceiveDate); $date = date('Y-m-d', strtotime("{$ReceiveDate} + 8 hours")); if ($idlimit !== FALSE) { if ($idlimit >= $MessageID) { echo 'in limit -- ' . $MessageID . "\n"; continue; } } $check_sql = "select id from msg_message where message_id='{$MessageID}' "; $res = $this->dbconn->query($check_sql); $checkresult = $this->dbconn->fetch_array_all($res); //获取结果集 if (count($checkresult) == 0) { //判断该message之前是否已经被抓取过了 if ($Replied == 'false') { $responseXml = $api_messages->requestMessagesID($MessageID); // echo $responseXml, "\n"; $www = $responseXml; if (stristr($responseXml, 'HTTP 404') || $responseXml == '') { self::$errCode = 5000; self::$errMsg = '获取message信息失败 in code line ---' . __LINE__; continue; } $responseDoc = new DomDocument(); $responseDoc->loadXML($responseXml); $data = XML_unserialize($responseXml); //print_r($data);exit; $Content = $data['GetMyMessagesResponse']['Messages']['Message']['Text']; $status = 0; $forms = 0; $classid = '0'; $case_sendid = ''; $disputeid = ''; $official = array('eBay', '*****@*****.**'); if (in_array($Sender, $official)) { //系统邮件 不用理会 $classid = 415; $forms = 2; } else { $first = substr($Sender, 0, 1); $ss = "select id from msg_messagecategory where rules like '%{$first}%' and ebay_account ='{$account}'"; $rear = $this->dbconn->fetch_array_all($this->dbconn->query($ss)); if (count($rear) > 0) { $classid = $rear[0]['id']; } else { $classid = -1; } } // echo $classid, "\n"; if ($HighPriority == 'true') { $forms = 3; } $filepath = $patch . $account . '/' . $date . '/' . $MessageID . '.html'; //文件存储路径 $sql = "INSERT INTO `msg_message` (`message_id` , `message_type` , `recipientid` "; $sql .= ", `sendid` , `subject` , `itemid` , "; $sql .= "`title` , `createtime` , `add_time` , `ebay_account`,`classid`,`createtimestamp`,`status`,`forms`,`Read`,`ExternalMessageID`,`case_sendid`,`disputeid`, `filepath`)VALUES ('{$MessageID}', '{$MessageType}' ,"; $sql .= " '{$RecipientUserID}' , '{$Sender}' , '{$Subject}' , '{$ItemID}' , "; $sql .= " '{$ItemTitle}' , '{$ReceiveDate}' , '{$mctime}', '{$account}','{$classid}','{$createtime1}','{$status}','{$forms}','{$Read}','{$ExternalMessageID}','{$case_sendid}','{$disputeid}', '{$filepath}') "; if ($this->dbconn->query($sql)) { echo "{$MessageID} Add Success" . "\n"; if (write_a_file(MSGREALPREFIX . $filepath, $Content) === false) { } } else { echo "{$MessageID} Add Failure" . "\n"; } } } else { echo $MessageID . ' -- has exists' . "\n"; } } if (count($Trans) < 199) { break; } } }
/** * 敦煌订单导入 */ public function act_insertDhgateOrder() { if (isset($_FILES['DHFile']['tmp_name'])) { $filePath = $_FILES['DHFile']['tmp_name']; $PHPExcel = E('PHPExcel'); $PHPReader = new PHPExcel_Reader_Excel2007(); if (!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); if (!$PHPReader->canRead($filePath)) { self::$errMsg[] = get_promptmsg(10058); return false; } } $PHPExcel = $PHPReader->load($filePath); $currentSheet = $PHPExcel->getSheet(0); $orderid = array(); $orderData = array(); $account = $_POST['dhgateAccount']; //accountId if (intval($account) <= 0) { self::$errMsg[] = get_promptmsg(10054); return false; } $c = 2; while (true) { $aa = 'A' . $c; $bb = 'B' . $c; $cc = 'C' . $c; $dd = 'D' . $c; $ee = 'E' . $c; $ff = 'F' . $c; $gg = 'G' . $c; $hh = 'H' . $c; $ii = 'I' . $c; $jj = 'J' . $c; $kk = 'K' . $c; $ll = 'L' . $c; $mm = 'M' . $c; $nn = 'N' . $c; $oo = 'O' . $c; $pp = 'P' . $c; $qq = 'Q' . $c; $rr = 'R' . $c; $ss = 'S' . $c; $tt = 'T' . $c; $uu = 'U' . $c; $vv = 'V' . $c; $ww = 'W' . $c; $xx = 'X' . $c; $yy = 'Y' . $c; $zz = 'Z' . $c; $c++; $recordNumber = trim($currentSheet->getCell($aa)->getValue()); if (empty($recordNumber)) { break; } if (M('OrderAdd')->checkIsExists(array('recordNumber' => $recordNumber, 'accountId' => $account))) { self::$errMsg[] = get_promptmsg(10043, $recordNumber); //"该recordNumber已经存在<br/>"; continue; } $transId = ''; $userId = str_rep(trim($currentSheet->getCell($cc)->getValue())); //买家名称 $ordersTime = strtotime(trim($currentSheet->getCell($dd)->getValue())); // 下单时间 $paymentTime = strtotime(trim($currentSheet->getCell($ee)->getValue())); // 付款时间 $shippingFee = str_rep(trim(trim($currentSheet->getCell($gg)->getValue()), '$')); //物流费用 $actualTotal = str_rep(trim(trim($currentSheet->getCell($jj)->getValue()), '$')); //订单总金额 $username = str_rep(trim($currentSheet->getCell($nn)->getValue())); //收货人名称 $platformUsername = $username; $countryName = str_rep(trim($currentSheet->getCell($oo)->getValue())); //收货国家 $countryName = mysql_real_escape_string($countryName); $state = str_rep(trim($currentSheet->getCell($pp)->getValue())); //州/省 $city = str_rep(trim($currentSheet->getCell($qq)->getValue())); //城市 $street = str_rep(trim($currentSheet->getCell($rr)->getValue())); //地址 $zipCode = str_rep(trim($currentSheet->getCell($ss)->getValue())); //邮编 $phone = str_rep(trim($currentSheet->getCell($tt)->getValue())); //联系电话(座机) $ebay_carrier = str_rep(trim($currentSheet->getCell($uu)->getValue())); //买家选择物流 $develiverytime = strtotime(str_rep(trim($currentSheet->getCell($vv)->getValue()))); //发货期限 $productsinformation = str_rep(trim($currentSheet->getCell($kk)->getValue())); //订单信息 $productsinformation = explode('【', $productsinformation); $goods_list = array(); for ($j = 0; $j < count($productsinformation); $j++) { $labelstr = $productsinformation[$j]; if ($labelstr != '') { $title = $qty = $sku = $_ebay_carrier = ''; $data = explode('<br />', nl2br($labelstr)); $title = substr($data[0], 4); foreach ($data as $value) { if (strpos($value, '商品编号/工厂编号') != false) { list($t, $sku) = explode(':', $value); $sku = trim(trim($sku, ')'), ')'); } else { if (strpos($value, '数量') != false) { list($t, $qty) = explode(':', $value); $qty = intval(trim($qty)); } } if (strpos($value, '产品单价') != false) { list($t, $itemPrice) = explode(':', $value); $currency = substr($itemPrice, 0, 1); $itemPrice = substr($itemPrice, 1, strlen($itemPrice) - 1); } } $sku = trim($sku); $amount = trim($qty); $itemTitle = trim($title); if (empty($itemPrice)) { $itemPrice = 0; } $goods_list[] = $sku; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['sku'] = $sku; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['amount'] = $amount; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['itemPrice'] = $itemPrice; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['shippingFee'] = $shippingFee; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['recordNumber'] = $recordNumber; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['createdTime'] = time(); $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailExtension']['itemTitle'] = $itemTitle; } } if (in_array($recordNumber, $orderid)) { $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['sku'] = $sku; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['amount'] = $amount; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['itemPrice'] = $itemPrice; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['shippingFee'] = $shippingFee; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['recordNumber'] = $recordNumber; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['createdTime'] = time(); $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailExtension']['itemTitle'] = $itemTitle; } else { $orderid[] = $recordNumber; //order信息 $platformList = M('Account')->getPlatformid($account); $orderData[$recordNumber]['order']['recordNumber'] = $recordNumber; $orderData[$recordNumber]['order']['platformId'] = $platformList[0]['platformId']; //这里要根据accountId得到对应的platformId $orderData[$recordNumber]['order']['accountId'] = $account; $orderData[$recordNumber]['order']['orderStatus'] = 0; $orderData[$recordNumber]['order']['ordersTime'] = $ordersTime; $orderData[$recordNumber]['order']['paymentTime'] = $paymentTime; $orderData[$recordNumber]['order']['onlineTotal'] = $actualTotal; $orderData[$recordNumber]['order']['actualTotal'] = $actualTotal; $orderData[$recordNumber]['order']['actualShipping'] = $shippingFee; $orderData[$recordNumber]['order']['currency'] = 'USD'; //取默认,待以后确认处理 $orderData[$recordNumber]['order']['transportId'] = 0; //走拦截流程,取消默认 $orderData[$recordNumber]['order']['pmId'] = 0; //包材ID,默认0 $orderData[$recordNumber]['order']['channelId'] = 0; //渠道ID,默认0 $orderData[$recordNumber]['order']['orderAddTime'] = time(); $orderData[$recordNumber]['order']['calcShipping'] = $shippingFee; $orderData[$recordNumber]['order']['orderType'] = 0; $orderData[$recordNumber]['order']['completeTime'] = 0; //完结时间,默认0 $orderData[$recordNumber]['order']['is_offline'] = 1; //标识为线下订单 $orderData[$recordNumber]['order']['ORtransport'] = $ebay_carrier; //order扩展信息 $orderData[$recordNumber]['orderExtension']['payPalPaymentId'] = $transId; //user信息 $orderData[$recordNumber]['orderUserInfo']['platformUsername'] = $platformUsername; $orderData[$recordNumber]['orderUserInfo']['username'] = $username; $orderData[$recordNumber]['orderUserInfo']['email'] = ' '; $orderData[$recordNumber]['orderUserInfo']['countryName'] = $countryName; $orderData[$recordNumber]['orderUserInfo']['currency'] = $currency; //$currency; $orderData[$recordNumber]['orderUserInfo']['state'] = $state; $orderData[$recordNumber]['orderUserInfo']['city'] = $city; $orderData[$recordNumber]['orderUserInfo']['county'] = ' '; //区县默认空 $orderData[$recordNumber]['orderUserInfo']['address1'] = $street; $orderData[$recordNumber]['orderUserInfo']['phone'] = $phone; $orderData[$recordNumber]['orderUserInfo']['zipCode'] = $zipCode; //detail信息 $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['sku'] = $sku; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['amount'] = $amount; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['itemPrice'] = $itemPrice; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['shippingFee'] = $shippingFee; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['recordNumber'] = $recordNumber; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetail']['createdTime'] = time(); $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailExtension']['itemTitle'] = $itemTitle; } } return $this->act_insertOrder($orderData); } else { self::$errMsg[] = get_promptmsg(10053); 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++; } }
public function view_dhgate() { include_once WEB_PATH . "lib/PHPExcel.php"; //phpexcel //require_once WEB_PATH."conf/scripts/script.ebay.config.php"; $toptitle = '敦煌订单导入'; //头部title $this->smarty->assign('toptitle', $toptitle); $this->smarty->assign('toplevel', 2); $this->smarty->assign('secondlevel', 26); $OmAccountAct = new OmAccountAct(); $dhgateAccountList = $OmAccountAct->act_getDhgateAccountList(); $this->smarty->assign("dhgateAccountList", $dhgateAccountList); //var_dump($dhgateAccountList);//exit; if (isset($_FILES['orderUpfile']['tmp_name'])) { $filePath = $_FILES['orderUpfile']['tmp_name']; $PHPExcel = new PHPExcel(); $PHPReader = new PHPExcel_Reader_Excel2007(); if (!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); if (!$PHPReader->canRead($filePath)) { echo 'no Excel'; return; } } $PHPExcel = $PHPReader->load($filePath); $currentSheet = $PHPExcel->getSheet(0); //$excellists = excel2array($PHPExcel, $filePath, 0, 0); //print_r($excellists);print_r($_SESSION); $orderid = array(); $orderData = array(); //$orderarr = OrderindexModel::showSearchOrderList("om_unshipped_order","where da.id=14448"); //echo "<pre>";print_r($orderarr); $account = $_POST['dhgateAccount']; if (intval($account) <= 0) { echo '请选择账号!'; exit; } $transportation = CommonModel::getCarrierList(); //所有的 //var_dump($transportation);exit; $c = 2; while (true) { $aa = 'A' . $c; $bb = 'B' . $c; $cc = 'C' . $c; $dd = 'D' . $c; $ee = 'E' . $c; $ff = 'F' . $c; $gg = 'G' . $c; $hh = 'H' . $c; $ii = 'I' . $c; $jj = 'J' . $c; $kk = 'K' . $c; $ll = 'L' . $c; $mm = 'M' . $c; $nn = 'N' . $c; $oo = 'O' . $c; $pp = 'P' . $c; $qq = 'Q' . $c; $rr = 'R' . $c; $ss = 'S' . $c; $tt = 'T' . $c; $uu = 'U' . $c; $vv = 'V' . $c; $ww = 'W' . $c; $xx = 'X' . $c; $yy = 'Y' . $c; $zz = 'Z' . $c; $c++; $recordNumber = trim($currentSheet->getCell($aa)->getValue()); $transId = ''; $userId = str_rep(trim($currentSheet->getCell($cc)->getValue())); //买家名称 $ordersTime = strtotime(trim($currentSheet->getCell($dd)->getValue())); // 下单时间 $paymentTime = strtotime(trim($currentSheet->getCell($ee)->getValue())); // 付款时间 $shippingFee = str_rep(trim(trim($currentSheet->getCell($gg)->getValue()), '$')); //物流费用 $actualTotal = str_rep(trim(trim($currentSheet->getCell($jj)->getValue()), '$')); //订单总金额 $productsinformation = str_rep(trim($currentSheet->getCell($kk)->getValue())); //订单信息 //var_dump($productsinformation);exit; $productsinformation = explode('【', $productsinformation); $dataarray = ''; $_jj = 0; $goods_list = array(); for ($j = 0; $j < count($productsinformation); $j++) { $labelstr = $productsinformation[$j]; if ($labelstr != '') { $title = $qty = $sku = $_ebay_carrier = ''; $data = explode('<br />', nl2br($labelstr)); $title = substr($data[0], 4); foreach ($data as $value) { if (strpos($value, '商品编号/工厂编号') != false) { list($t, $sku) = explode(':', $value); $sku = trim(trim($sku, ')'), ')'); } else { if (strpos($value, '数量') != false) { list($t, $qty) = explode(':', $value); $qty = intval(trim($qty)); } } if (strpos($value, '产品单价') != false) { list($t, $itemPrice) = explode(':', $value); $currency = substr($itemPrice, 0, 1); $itemPrice = substr($itemPrice, 1, strlen($itemPrice) - 1); } } $dataarray[$_jj]['sku'] = trim($sku); $dataarray[$_jj]['qty'] = trim($qty); $dataarray[$_jj]['title'] = trim($title); $sku = trim($sku); $amount = trim($qty); $itemTitle = trim($title); $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['sku'] = $sku; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['amount'] = $amount; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['itemPrice'] = $itemPrice; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['shippingFee'] = $shippingFee; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailExtenData']['itemTitle'] = $itemTitle; //$orderData['orderDetail']['orderDetailExtenData']['note'] = $value[10]; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailExtenData']['transId'] = $transId; } } $username = str_rep(trim($currentSheet->getCell($nn)->getValue())); //收货人名称 $platformUsername = $username; $countryName = str_rep(trim($currentSheet->getCell($oo)->getValue())); //收货国家 $countryName = mysql_real_escape_string($countryName); $state = str_rep(trim($currentSheet->getCell($pp)->getValue())); //州/省 $city = str_rep(trim($currentSheet->getCell($qq)->getValue())); //城市 $street = str_rep(trim($currentSheet->getCell($rr)->getValue())); //地址 $zipCode = str_rep(trim($currentSheet->getCell($ss)->getValue())); //邮编 $phone = str_rep(trim($currentSheet->getCell($tt)->getValue())); //联系电话(座机) $ebay_carrier = str_rep(trim($currentSheet->getCell($uu)->getValue())); //买家选择物流 $develiverytime = strtotime(str_rep(trim($currentSheet->getCell($vv)->getValue()))); //发货期限 if ($ebay_carrier == 'FEDEX') { $ebay_carrier = 'FedEx'; } if (in_array($ebay_carrier, array('CHINAPOSTAIR'))) { $ebay_carrier = '中国邮政挂号'; } if (in_array($ebay_carrier, array('HONGKONGPOST'))) { $ebay_carrier = '香港小包挂号'; } if (in_array($ebay_carrier, array('UPS'))) { $ebay_carrier = 'UPS'; } if ($ebay_carrier == 'DHL') { $ebay_carrier = 'DHL'; } if ($ebay_carrier == 'EMS') { $ebay_carrier = 'EMS'; } $carrierNameCn = $ebay_carrier; if (empty($recordNumber)) { break; } //order信息 $orderData[$recordNumber]['orderData']['recordNumber'] = $recordNumber; $orderData[$recordNumber]['orderData']['ordersTime'] = $ordersTime; $orderData[$recordNumber]['orderData']['paymentTime'] = $paymentTime; $orderData[$recordNumber]['orderData']['actualTotal'] = $actualTotal; $orderData[$recordNumber]['orderData']['orderAddTime'] = time(); $orderData[$recordNumber]['orderData']['orderStatus'] = 100; $orderData[$recordNumber]['orderData']['orderType'] = 101; $SYS_ACCOUNTS = OmAvailableModel::getTNameList("om_account", "*", " where id='{$account}'"); $orderData[$recordNumber]['orderData']['accountId'] = $account; $orderData[$recordNumber]['orderData']['platformId'] = $SYS_ACCOUNTS[0]['platformId']; $SYS_ACCOUNTS = OmAvailableModel::getPlatformAccount(); foreach ($SYS_ACCOUNTS as $platform => $accounts) { foreach ($accounts as $accountId => $accountname) { if ($account == $accountId) { if ($platform == 'ebay') { //为ebay平台 $orderData[$recordNumber]['orderData']['isFixed'] = 2; } else { $orderData[$recordNumber]['orderData']['isFixed'] = 1; } } } } foreach ($transportation as $tranValue) { if ($tranValue['carrierNameCn'] == $carrierNameCn) { $orderData[$recordNumber]['orderData']['transportId'] = $tranValue['id']; break; } } //order扩展信息 $currency = 'USD'; //都是美元的 $orderData[$recordNumber]['orderExtenData']['currency'] = $currency; $orderData[$recordNumber]['orderExtenData']['paymentStatus'] = "PAY_SUCCESS"; $orderData[$recordNumber]['orderExtenData']['transId'] = $transId; // 交易id;; //$orderData[$recordNumber]['orderExtenData']['PayPalPaymentId'] = $PayPalPaymentId; $orderData[$recordNumber]['orderExtenData']['platformUsername'] = $platformUsername; $orderData[$recordNumber]['orderExtenData']['feedback'] = $note; //买家备注 //user信息 $orderData[$recordNumber]['orderUserInfoData']['platformUsername'] = $platformUsername; $orderData[$recordNumber]['orderUserInfoData']['username'] = $username; $orderData[$recordNumber]['orderUserInfoData']['email'] = $email; $orderData[$recordNumber]['orderUserInfoData']['street'] = $street; $orderData[$recordNumber]['orderUserInfoData']['currency'] = $currency; $orderData[$recordNumber]['orderUserInfoData']['address2'] = $address2; $orderData[$recordNumber]['orderUserInfoData']['city'] = $city; $orderData[$recordNumber]['orderUserInfoData']['state'] = $state; $orderData[$recordNumber]['orderUserInfoData']['zipCode'] = $zipCode; $orderData[$recordNumber]['orderUserInfoData']['countryName'] = $countryName; $orderData[$recordNumber]['orderUserInfoData']['landline'] = $phone; //detail信息 $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['sku'] = $sku; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['amount'] = $amount; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['itemPrice'] = $itemPrice; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['shippingFee'] = $shippingFee; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['recordNumber'] = $recordNumber; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailData']['createdTime'] = time(); $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailExtenData']['itemTitle'] = $itemTitle; //$orderData['orderDetail']['orderDetailExtenData']['note'] = $value[10]; $orderData[$recordNumber]['orderDetail'][$sku]['orderDetailExtenData']['transId'] = $transId; } //echo "<pre>"; //print_r($orderData); $message = ""; foreach ($orderData as $id => $order) { $msg = commonModel::checkOrder($id); if ($msg) { $message .= "<font color='red'>订单{$id}已存在!</font><br>"; continue; } //计算订单属性 if (count($order['orderDetail']) == 1) { $detail = current($order['orderDetail']); if ($detail['orderDetailData']['amount'] == 1) { $orderData[$id]['orderData']['orderAttribute'] = 1; } else { $orderData[$id]['orderData']['orderAttribute'] = 2; } } else { $orderData[$id]['orderData']['orderAttribute'] = 3; } //计算订单重量及包材 $obj_order_detail_data = array(); foreach ($order['orderDetail'] as $sku => $detail) { $obj_order_detail_data[] = $detail['orderDetailData']; } $weightfee = commonModel::calcOrderWeight($obj_order_detail_data); $orderData[$id]['orderData']['calcWeight'] = $weightfee[0]; $orderData[$id]['orderData']['pmId'] = $weightfee[1]; //echo "<pre>";print_r($weightfee);exit; //计算运费 $calcShippingInfo = CommonModel::calcAddOrderShippingFee($orderData[$id], $orderData[$id]['orderData']['isFixed']); //计算运费 //echo "<pre>";print_r($calcShippingInfo); $orderData[$id]['orderData']['channelId'] = $calcShippingInfo['channelId']; $orderData[$id]['orderData']['calcShipping'] = $calcShippingInfo['fee']; //echo "<pre>";print_r($orderData);exit; //调用旧系统接口,先插入数据到旧系统 $rtn = OldsystemModel::orderErpInsertorder($orderData[$id]); //echo "<pre>";print_r($rtn);exit; $insertData = array(); if (empty($rtn)) { $message .= "<font color='red'>订单{$id}同步ERP发生异常,跳过!</font><br>"; continue; } if ($rtn['errcode'] == 200) { $rtn_data = $rtn['data']; $orderId = $rtn_data['orderId']; //echo "插入老系统成功,订单编号 [$orderId] \n"; $pmId = $rtn_data['pmId']; $totalweight = $rtn_data['totalweight']; $shipfee = $rtn_data['shipfee']; $carrier = $rtn_data['carrier']; $carrierId = $rtn_data['carrierId']; $status = $rtn_data['status']; $orderData[$id]['orderData']['id'] = $orderId; //赋予新系统订单编号,一切数据已老系统返回的为准 if ($orderData[$id]['orderData']['calcWeight'] != $totalweight) { $insertData['old_totalweight'] = $totalweight; $insertData['new_totalweight'] = $orderData[$id]['orderData']['calcWeight']; $orderData[$id]['orderData']['calcWeight'] = $totalweight; } if ($orderData[$id]['orderData']['pmId'] != $pmId) { $insertData['old_pmId'] = $pmId; $insertData['new_pmId'] = $orderData[$id]['orderData']['pmId']; $orderData[$id]['orderData']['pmId'] = $pmId; } if ($orderData[$id]['orderData']['calcShipping'] != $shipfee) { $insertData['old_shippfee'] = $shipfee; $insertData['new_shippfee'] = $orderData[$id]['orderData']['calcShipping']; $orderData[$id]['orderData']['calcShipping'] = $shipfee; } if ($orderData[$id]['orderData']['transportId'] != $carrierId) { $insertData['old_carrierId'] = $carrierId; $insertData['new_carrierId'] = $orderData[$id]['orderData']['transportId']; $orderData[$id]['orderData']['transportId'] = $carrierId; } if (!empty($insertData)) { $insertData['ebay_id'] = $orderId; $insertData['addtime'] = time(); OldsystemModel::insertTempSyncRecords($insertData); // 插入临时对比记录表 } //缺货拦截 $orderData[$id] = AutoModel::auto_contrast_intercept($orderData[$id]); //插入订单 $info = OrderAddModel::insertAllOrderRowNoEvent($orderData[$id]); if ($info) { $message .= "<font color='green'>订单{$id}上传成功!</font><br>"; } else { $message .= "<font color='red'>订单{$id}上传失败!</font><br>"; } } else { $message .= "<font color='green'>添加失败,原因为:{$rtn['msg']}!</font><br>"; } } $this->smarty->assign("showerrorinfo", $message); } $this->smarty->display('dhgateImport.htm'); }
function GetFeedback_change($account) { global $dbcon, $api_feedback, $user; $verb = 'GetFeedback'; $cc = date("Y-m-d H:i:s"); $start = date('Y-m-d H:i:s', strtotime("{$cc} - 61 days")); $start = strtotime($start); $end = strtotime($cc); $file = EBAY_RAW_DATA_PATH . 'feedback_lost_sql/lost_sql.txt'; $file2 = EBAY_RAW_DATA_PATH . 'feedback_lost_sql/success_sql.txt'; $get = "select FeedbackID,CommentText,CommentingUser,ItemID,TransactionID,CommentType from ebay_feedback where account='{$account}' and (CommentType='Neutral' or CommentType='Negative') and feedbacktime between {$start} and {$end}"; $get = $dbcon->execute($get); $get = $dbcon->getResultArray($get); for ($ii = 0; $ii < count($get); $ii++) { $status = ""; $feedbackID = $get[$ii]['FeedbackID']; $commentingUser = $get[$ii]['CommentingUser']; $itemID = $get[$ii]['ItemID']; $transactionID = $get[$ii]['TransactionID']; $commentType = $get[$ii]['CommentType']; $commentText = $get[$ii]['CommentText']; $responseXml = $api_feedback->request_change($itemID, $transactionID, $commentingUser); if (stristr($responseXml, 'HTTP 404') || $responseXml == '') { return 'id not found'; } $data = XML_unserialize($responseXml); $ack = $data['GetFeedbackResponse']['Ack']; $feedbackRevised = $data['GetFeedbackResponse']['FeedbackDetailArray']['FeedbackDetail']; $feedbackRevised = $feedbackRevised[0]['FeedbackRevised']; if ($ack != "Success") { echo '同步失败' . "\n"; } else { if ($feedbackRevised == "true") { $feedback = $data['GetFeedbackResponse']['FeedbackDetailArray']['FeedbackDetail']; $feedbackType = $feedback[0]['CommentType']; $feedbackUser = $feedback[0]['CommentingUser']; if ($commentingUser == $feedbackUser) { $feedbackText = addslashes(str_rep($feedback[0]['CommentText'])); } else { $feedbackText = addslashes(str_rep($commentText)); } if ($commentType != $feedbackType) { if ($commentType == "Neutral") { if ($feedbackType == "Positive") { $status = "21"; //中评改好评 } else { if ($feedbackType == "Negative") { $status = "23"; //中评改差评 } else { $status = "22"; //中评改中评 } } } else { if ($commentType == "Negative") { if ($feedbackType == "Positive") { $status = "31"; //差评改好评 } else { if ($feedbackType == "Neutral") { $status = "32"; //差评改中评 } else { $status = "33"; //差评改差评 } } } else { } } //过滤好评 if ($status != "") { $update_type = "update ebay_feedback set status='{$status}',CommentType='{$feedbackType}',CommentText='{$feedbackText}' where FeedbackID={$feedbackID}"; $sql = $update_type; echo $sql . "\n"; if ($dbcon->execute($update_type)) { echo 'Success ' . "\n"; write_a_file($file2, $sql); } else { echo 'Failure ' . "\n"; echo mysql_errno() . ": " . mysql_error() . "\n"; write_a_file($file, $sql); } echo 'userID :' . $commentingUser . ":" . $commentType . "------------>" . $feedbackType . "\n"; } } } } } #########加载feedback_lost_sql######## $relost_feedback_ids = ''; $push_feedback_ids = ''; $lost_feedback_path = $file; $feedback_content = read_and_empty_lost_sql($lost_feedback_path); $feedback_lists = sql_str2array($feedback_content); if (!empty($feedback_lists)) { foreach ($feedback_lists as $feedback_sql) { if (!$dbcon->execute($feedback_sql)) { $relost_feedback_ids .= $feedback_sql . "\n"; //获取失败语句 } else { $push_feedback_ids .= $feedback_sql . "\n"; //获取成功语句 } } if (!empty($relost_feedback_ids)) { write_a_file($lost_feedback_path, $relost_feedback_ids); //执行失败再次写入 } if (!empty($push_feedback_ids)) { write_a_file(str_replace('lost_sql.txt', 'push_success_sql.txt', $lost_feedback_path), $push_feedback_ids); } } }