public function view_fetchAliOrderDetailByOrderId() { $orderid = isset($_GET['orid']) ? trim($_GET['orid']) : FALSE; $account = isset($_GET['account']) ? trim($_GET['account']) : FALSE; $receiverid = $account; if (empty($receiverid)) { $returndata['errCode'] = 3; $returndata['errMsg'] = '缺少卖家账号!'; echo json_encode($returndata); exit; } if (empty($orderid)) { //订单号不存在 $returndata['errCode'] = 3; $returndata['errMsg'] = '缺少订单号!'; echo json_encode($returndata); exit; } $tokenfilepath = WEB_PATH . "lib/ali_keys/config_{$receiverid}.php"; if (!file_exists($tokenfilepath)) { $returndata['errCode'] = 2; $returndata['errMsg'] = '没找到messsage信息!'; echo json_encode($returndata); exit; } include_once '' . $tokenfilepath; include_once WEB_PATH . 'lib/AliMessage.class.php'; $ali_obj = new AliMessage(); $ali_obj->setConfig($appKey, $appSecret, $refresh_token); $ali_obj->doInit(); //$orderid = '60637623549259'; $detail = $ali_obj->fetchOrderdetail($orderid); if ($detail == FALSE) { //获取消息失败 $returndata['errCode'] = 4; $returndata['errMsg'] = '获取订单详情失败!'; echo json_encode($returndata); exit; } //print_r($detail);exit; $alimsg_obj = new AliOderMessageModel(); $time = $detail['gmtCreate']; $year = substr($time, 0, 4); //年 $month = substr($time, 4, 2); //月 $day = substr($time, 6, 2); //日 $time = $month . '/' . $day . '/' . $year; $timeend = $month . '/' . (intval($day) + 1) . '/' . $year; $skustr = ''; foreach ($detail['childOrderList'] as $sku) { $skucode = substr($sku['skuCode'], 0, strlen($sku['skuCode']) - 1); $tmpstr = $skucode; $hstr = strrchr($tmpstr, '*'); //处理组合料号 $tmpstr = $hstr === FALSE ? $tmpstr : ltrim($hstr, '*'); $spu = explode('_', $tmpstr); $spu = $spu[0]; $attr = json_decode($sku[productAttributes], TRUE); $skuimgurl = getSkuImg($spu, $tmpstr, 'G'); $attrinfo = json_decode($sku['productAttributes'], TRUE); $attrstr = array(); if (isset($sku['productAttributes']) && !empty($attrinfo['sku'])) { foreach ($attrinfo['sku'] as $attrval) { $attrstr[] = $attrval['pName'] . ':' . $attrval['pValue']; } } $attrstr = implode('<br>', $attrstr); $skustr .= <<<EOF \t\t\t\t<tr> \t\t\t\t\t\t<td> \t\t\t\t\t\t\t<img src="{$skuimgurl}" width="50" height="50"> \t\t\t\t\t\t</td> \t\t\t\t\t\t<td align="left"> \t\t\t\t\t\t<a href="http://www.aliexpress.com/item/something/{$sku['productId']}.html" target="_blank">{$sku['productName']}</a> \t\t\t\t\t\t</td> \t\t\t\t\t\t<td> \t\t\t\t\t\t {$attrstr} \t\t\t\t\t\t</td> \t\t\t\t\t\t<td> \t\t\t\t\t\t {$skucode} \t\t\t\t\t\t</td> \t\t\t\t\t\t<td> \t\t\t\t\t\t {$sku['productCount']} \t\t\t\t\t\t</td> \t\t\t\t\t\t<td> \t\t\t\t\t {$sku[productPrice][currency][symbol]}{$sku[productPrice][amount]} \t\t\t\t\t\t</td> \t\t\t\t\t</tr> EOF; } $skulist = <<<EOF \t\t\t\t\t<tr class="title"> \t\t\t\t\t\t<td> \t\t\t\t\t\t\t图片 \t\t\t\t\t\t</td> \t\t\t\t\t\t<td> \t\t\t\t\t\t\t标题 \t\t\t\t\t\t</td> \t\t\t\t\t\t<td style="width:60px;"> \t\t\t\t\t\t\t属性 \t\t\t\t\t\t</td> \t\t\t\t\t\t<td> \t\t\t\t\t\t\tSKU \t\t\t\t\t\t</td> \t\t\t\t\t\t<td style="width:60px;"> \t\t\t\t\t\t\t数量 \t\t\t\t\t\t</td> \t\t\t\t\t\t<td> \t\t\t\t\t\t\t单价 \t\t\t\t\t\t</td> \t\t\t\t\t</tr> {$skustr} EOF; //计算倒计时 $timeStr = ''; if ($detail['orderStatus'] == 'RISK_CONTROL') { //计算风控倒计时 $paytimestamp = aliTranslateTime($detail['gmtPaySuccess']); //付款时间戳 $riskendtime = $paytimestamp + 86400; $timeStr = date('m/d/Y H:i:s', $riskendtime); //风控结束时间字符串表示 $timeStr = $riskendtime; } elseif ($detail['logisticsStatus'] == 'SELLER_SEND_GOODS' && $detail['orderStatus'] != 'FINISH') { $sendTimeStamp = aliTranslateTime($detail['logisticInfoList'][0]['gmtSend']); //发货时间戳 $days = $alimsg_obj->culculateCountdown($receiverid, $detail['logisticInfoList'][0]['logisticsTypeCode'], $detail['receiptAddress']['country']); if ($days === FALSE) { $timeStr = AliOderMessageModel::$errMsg; } else { $endtime = $sendTimeStamp + $days * 86400; $timeStr = $endtime; } } //物流信息 $shipstr = ''; if (isset($detail['logisticInfoList'][0])) { $shipstr .= '运输方式:' . $detail['logisticInfoList'][0]['logisticsTypeCode'] . '<br>'; $carrier = $detail['logisticInfoList'][0]['logisticsTypeCode']; $tracksn = $detail['logisticInfoList'][0]['logisticsNo']; $trackstr = <<<EOF <a href="javascript:queryExpressInfo('aliexpress', '{$carrier}', '{$tracksn}', 'zh')">{$tracksn}</a> EOF; $shipstr .= '跟踪号:' . $trackstr . '<br>'; } $returndata['errCode'] = 5; $returndata['errMsg'] = '成功!'; $returndata['data'] = array('buyer' => $detail['buyerInfo']['firstName'] . $detail['buyerInfo']['lastName'], 'seller' => $detail['sellerOperatorLoginId'], 'orderId' => $orderid, 'createtime' => formateAliTime($detail['gmtCreate']), 'paytime' => !empty($detail['gmtPaySuccess']) ? formateAliTime($detail['gmtPaySuccess']) : '未付款', 'initOderAmount' => $detail['initOderAmount']['currency']['symbol'] . $detail['initOderAmount']['amount'], 'OderAmount' => $detail['orderAmount']['currency']['symbol'] . $detail['orderAmount']['amount'], 'paytype' => '-----', 'fundStatus' => $this->status2str($detail['fundStatus']), 'loanStatus' => $this->status2str($detail['loanStatus']), 'issueStatus' => $this->status2str($detail['issueStatus']), 'issuscolor' => $detail['issueStatus'] == 'NO_ISSUE' ? 'green' : 'red', 'orderstatus' => $this->status2str($detail['orderStatus']), 'logisticsStatus' => $this->status2str($detail['logisticsStatus']), 'logisticsMoney' => $detail['logisticsAmount']['amount'], 'mobileNo' => $detail['receiptAddress']['mobileNo'], 'phoneNumber' => $detail['receiptAddress']['phoneArea'] . '-' . $detail['receiptAddress']['phoneNumber'], 'address' => $detail['receiptAddress']['detailAddress'] . ' ' . $detail['receiptAddress']['city'] . ' ' . $detail['receiptAddress']['province'] . ' ' . $detail['receiptAddress']['country'], 'skulist' => $skulist, 'refund' => isset($detail['refundInfo']) ? '退款状态' . $detail['refundInfo']['refundStatus'] . '<br>' . '退款类型' . $detail['refundInfo']['refundType'] : '', 'logisticInfo' => $shipstr, 'buyerSignerFullname' => isset($detail['buyerSignerFullname']) ? $detail['buyerSignerFullname'] : '', 'zip' => isset($detail['receiptAddress']['zip']) ? $detail['receiptAddress']['zip'] : '', 'email' => isset($detail['buyerInfo']['email']) ? $detail['buyerInfo']['email'] : '', 'timestr' => $timeStr, 'commission' => '$' . round($detail['orderAmount']['amount'] * 0.05, 2), 'profit' => '$' . round($detail['orderAmount']['amount'] * 0.95, 2)); if (isset($detail['logisticInfoList'][0]['gmtSend'])) { $timeinfo = extractAliTimeInfo($detail['logisticInfoList'][0]['gmtSend']); $returndata['data']['shippedtime'] = $timeinfo['year'] . '-' . $timeinfo['month'] . '-' . $timeinfo['day'] . ' ' . $timeinfo['hour'] . ':' . $timeinfo['minit'] . ':' . $timeinfo['second']; } else { $returndata['data']['shippedtime'] = ''; } $accountname = aliAccountf2Name($detail['sellerOperatorLoginId']); if ($accountname == FALSE) { //没找到对应关系 $accountname == ''; } $accountname = aliAccountf2Name($account); if ($accountname == FALSE) { //没找到对应关系 $accountname == ''; } $result_sys = getOpenSysApi('aliExpressOrderInfo', array('type' => 'orderinfo', 'recordnumber' => $orderid, 'selleraccount' => $accountname)); if (!empty($result_sys['data'])) { $returndata['data']['systemnum'] = $result_sys['data'][0]['ebay_id']; //系统编号 $returndata['data']['syscarrer'] = $result_sys['data'][0]['ebay_carrier']; //运输方式 $returndata['data']['systracknumber'] = $result_sys['data'][0]['ebay_tracknumber']; //跟踪号 // $returndata['data']['shippedtime'] = empty($result_sys['data'][0]['ShippedTime']) ? '' : date('Y-m-d H:i:s', $result_sys['data'][0]['ShippedTime']); //发货时间 $returndata['data']['status'] = $result_sys['data'][0]['catename']; //发货状态 $returndata['data']['ebay_note'] = $result_sys['data'][0]['note']; //订单留言 } else { $returndata['data']['systemnum'] = ''; //系统编号 $returndata['data']['syscarrer'] = ''; //运输方式 $returndata['data']['systracknumber'] = ''; //跟踪号 // $returndata['data']['shippedtime'] = ''; //发货时间 $returndata['data']['status'] = ''; //发货状态 $returndata['data']['ebay_note'] = ''; } // print_r($returndata);exit; echo json_encode($returndata); }
public function view_getAliSiteList() { $keywords = isset($_GET['keywords']) ? trim($_GET['keywords']) : ''; //关键字 $keywords = mysql_real_escape_string($keywords); $status = isset($_GET['status']) ? $_GET['status'] : FALSE; //回复状态 $category = isset($_GET['catid']) ? intval($_GET['catid']) : FALSE; //分类 $orderstatus = isset($_GET['orderstatus']) ? trim($_GET['orderstatus']) : false; //订单状态 $senderId = isset($_GET['senderid']) ? trim($_GET['senderid']) : FALSE; //发送人id $orderId = isset($_GET['orderid']) ? trim($_GET['orderid']) : FALSE; //订单号 $prodname = isset($_GET['prodname']) ? trim($_GET['prodname']) : FALSE; //产品名称 $sellerId = isset($_GET['sellerId']) ? trim($_GET['sellerId']) : FALSE; //卖家账号 $sortName = isset($_GET['sortname']) ? trim($_GET['sortname']) : FALSE; $sort = isset($_GET['sort']) ? trim($_GET['sort']) : FALSE; $isscroll = isset($_GET['isscroll']) ? intval($_GET['isscroll']) : 1; //设置是否收缩 1表示收缩 2表示不收缩 默认收缩 if ($status == 2 && ($isscroll = 1)) { //只有当查看未回复订单留言时才进行收缩 $isscroll = 1; } else { $isscroll = 2; } $cat_obj = new messagecategoryModel(); /*----- 获得用户所属文件夹 -----*/ $Lp_obj = new LocalPowerModel(); $fieldid = $Lp_obj->getAliPowerlist($_SESSION['userId']); //获得当前用户所属的id $fieldid = isset($fieldid['field']) ? $fieldid['field'] : array(-1); $category = in_array($category, $fieldid) ? $category : -1; /*----- 获得用户所属文件夹 -----*/ if (!empty($fieldid)) { $powerlist = $cat_obj->getFieldInfoByIds($fieldid, ' order by category_name'); } else { $powerlist = array(); } $wheresql = ''; if (!empty($keywords)) { //是否指定keywords $wheresql .= " and sendername='{$keywords}' "; } if ($status !== FALSE) { //指定状态 switch ($status) { case 1: //已读 $wheresql .= " and hasread=1"; break; case 2: //未读 $wheresql .= " and hasread=0 "; break; default: $wheresql .= ""; break; } } if ($category !== false) { if ($category == -1) { $class_sql = implode(', ', $fieldid); if (!empty($class_sql)) { $wheresql .= " and fieldId in ({$class_sql})"; } else { $wheresql .= 'and fieldId in (-1)'; } } else { $wheresql .= " and fieldId={$category}"; } } else { $class_sql = implode(', ', $fieldid); $wheresql .= " and fieldId in ({$class_sql})"; } if (FALSE !== $orderstatus && '0' != $orderstatus) { //设置的订单状态过滤条件 $orderstatus = strtoupper($orderstatus); $orderstatus = mysql_real_escape_string($orderstatus); $wheresql .= " and orderstatus='{$orderstatus}'"; } if (!empty($senderId)) { //搜索用户id $tempsender = mysql_real_escape_string($senderId); $wheresql .= " and senderid='{$tempsender}'"; } if (!empty($orderId)) { //搜索订单号 $temporderid = mysql_real_escape_string($orderId); $wheresql .= " and orderId='{$temporderid}' "; } if (!empty($prodname)) { $emppro = mysql_real_escape_string($prodname); $wheresql .= " and content like '%{$emppro}%'"; } if (!empty($sellerId)) { $temAcc = mysql_real_escape_string($sellerId); $wheresql .= " and receiverid = '{$temAcc}' "; } $urlquery = convertUrlQuery($_SERVER['QUERY_STRING']); unset($urlquery['sortname']); unset($urlquery['sort']); $orderbysql = ''; $sort = $sort == 'asc' ? 'asc' : 'desc'; $resort = $sort == 'asc' ? 'desc' : 'asc'; switch ($sortName) { case 'orderstatus': //按订单状态排序 $orderbysql = ' order by orderstatus ' . $sort; break; default: $orderbysql = ' order by createtimestamp ' . $sort; } $url = getUrlQuery($urlquery); $this->smarty->assign('url', $url); $this->smarty->assign('resort', $resort); // echo $wheresql;exit; $pagesize = 100; $msg_obj = new messageModel(); $groupBySql = ''; if (1 == $isscroll) { $groupBySql = ' group by relationId '; $mount = $msg_obj->getCountNumberByConditions_aliSite_groupby($wheresql . $groupBySql); } else { $mount = $msg_obj->getCountNumberByConditions_aliSite($wheresql); } $page_obj = new Page($mount, $pagesize); $usercache = new UserCacheModel(); $aliAcc_ojb = new AliAccountModel(); if (1 == $isscroll) { $msglist = $msg_obj->getMessageListByConditions_alisite_groupby($wheresql . $groupBySql . ' ' . $orderbysql . ' ' . $page_obj->limit); } else { $msglist = $msg_obj->getMessageListByConditions_alisite($wheresql . ' ' . $orderbysql . ' ' . $page_obj->limit); } /* --- 格式化数据 ---*/ foreach ($msglist as &$msgitem) { $catinfo = $cat_obj->getCategoryInfoById($msgitem['fieldId']); $msgitem['classname'] = $catinfo['category_name']; $userinfo = empty($msgitem['replyUser']) ? array('userName' => '') : $usercache->getUserInfoBySysId($msgitem['replyUser'], 0); $msgitem['username'] = $userinfo['userName']; // $msgitem['retime'] = $msgitem['replytime'] ? date("Y-m-d \n H:i:s", $msgitem['replytime']) : ''; $msgitem['content'] = mb_substr($msgitem['content'], 0, 80); $msgitem['content'] .= '...'; $msgitem['replytime'] = empty($msgitem['replytime']) ? '' : date("Y-m-d \n H:i:s", $msgitem['replytime']); $msgitem['gmtCreate'] = formateAliTime($msgitem['gmtCreate']); $msgitem['accname'] = $aliAcc_ojb->accountId2Name($msgitem['receiverid']); $msgitem['statusname'] = AliMessageModel::orderStatusToStr($msgitem['orderstatus']); } if ($mount > $pagesize) { //分页 $pagestr = $page_obj->fpage(array(0, 2, 3, 4, 5, 6, 7, 8, 9)); } else { $pagestr = $page_obj->fpage(array(0, 2, 3)); } // print_r($msglist);exit; /*----- 获得分类文件夹列表 -----*/ $categorylist = $cat_obj->getAllCategoryInfoList(' and is_delete=0', 2); // print_r($categorylist); $this->smarty->assign('catlist', $categorylist); $this->smarty->assign('orderstatus', $orderstatus); /*----- 获得分类列表 -----*/ $aliAccount_obj = new AliAccountModel(); $accountlist = $aliAccount_obj->getAllAliAccountList('name', 'asc'); $this->smarty->assign('accountlist', $accountlist); $this->smarty->assign('sellerId', $sellerId); $this->smarty->assign('senderId', $senderId); $this->smarty->assign('orderId', $orderId); $this->smarty->assign('prodname', $prodname); // print_r($msglist);exit; $this->smarty->assign('third_menue', 2); $this->smarty->assign('powerlist', $powerlist); $this->smarty->assign('from', $from); $this->smarty->assign('sec_menue', 4); $this->smarty->assign('toplevel', 0); $this->smarty->assign('keywords', $keywords); $this->smarty->assign('category', $category); $this->smarty->assign('status', $status); $this->smarty->assign('pagestr', $pagestr); $this->smarty->assign('msglist', $msglist); $this->smarty->assign('categorylist', $arrlist); $this->smarty->assign('toptitle', 'message列表'); $this->smarty->display('msglistalisite.htm'); }