function getOrderMessage($starttime, $endtime) { global $ali_user; // echo $ali_user;exit; $currentpage = 1; //当前页码 默认为一 $aliorder_obj = new AliOderMessageModel(); //message数据库处理类 $roundtimes = 1; $pageindex = 1; while ($roundtimes++ <= 100) { //一次最多抓50次 echo "\ncurrent page number : {$pageindex}\n"; $data = array('access_token' => $this->access_token, 'currentPage' => $pageindex, 'pageSize' => ALI_PAGESIZE, 'startTime' => $starttime, 'endTime' => $endtime); //print_r($data); $url = "{$this->server}/{$this->rootpath}/{$this->protocol}/{$this->version}/{$this->ns}/api.queryOrderMsgList/{$this->appKey}"; $result = $this->Curl($url, $data); $List = json_decode($result, true); // print_r($List);exit(); if ($List === FALSE) { //返回数据个格式错误 则跳出重来 <防止网络故障> writeLog(ALIREPLYERR, '返回数据格式错误 --- ' . $result . "\n" . var_export($data)); continue; } if (isset($List['error_code'])) { //返回报错信息 writeLog(ALI_LOGPATH, '返回数据格式错误 --- ' . $result . "\n" . var_export($data, TRUE)); continue; } $data = array(); $msg_list = $List['msgList']; if (empty($msg_list)) { //抓取的消息为空 则说明该时间段的数据已经抓取完成了 则跳出 break; } foreach ($msg_list as $msgval) { $data['message_id'] = $msgval['id']; $exists = $aliorder_obj->checkIfExistsByMsgId($data['message_id']); if ($exists) { // 改消息已经抓取过了 <防止重复抓取> echo "message has exists! --- ID : {$data['message_id']}\n"; continue; } $data['senderid'] = $msgval['senderLoginId']; // 发送人id $data['orderid'] = $msgval['orderId']; // 订单号 $data['receiverid'] = $msgval['receiverLoginId']; // 接收人id $data['recievername'] = $msgval['receiverName']; // 接收人名字 $data['sendername'] = $msgval['senderName']; // 发送人名称 // echo "sender => ", $data['senderid'],"\n"; if ($this->isWorker($data['senderid'])) { $data['role'] = 0; //0表示工作人员回复的 } else { $data['role'] = 1; //1表示客户回复的 } // print_r($data);continue; $data['orderurl'] = $msgval['orderUrl']; // 订单地址 $data['content'] = $msgval['content']; // 留言内容 $data['piclink'] = $msgval['fileUrl']; // 图片文件内容 $data['createtimestr'] = $msgval['gmtCreate']; // 留言生成时间 $data['createtimestamp'] = aliTranslateTime($msgval['gmtCreate']); //转换时间戳 $data['addtime'] = time(); // 抓单时间 $data['havefile'] = $msgval['haveFile']; // 是否有附件 $data['isread'] = $msgval['read']; // 是否已经 // echo 'role => ',$data['role'], "+\n"; if ($data['role'] == 1) { //客户留言则分配文件夹 工作人员回复不分配文件夹 $data['fieldid'] = $this->getFiledId($data['senderid'], $data['receiverid']); //获得分类id信息 } else { $data['fieldid'] = 0; } // echo $data['fieldid'], "\n\n";continue; $orderDetail = $this->fetchOrderdetail($data['orderid']); // print_r($orderDetail);exit; if (isset($orderDetail['frozenStatus']) && $orderDetail['frozenStatus'] == 'IN_FROZEN') { //冻结中订单 $data['orderstatus'] = strtoupper($orderDetail['frozenStatus']); } elseif (isset($orderDetail['issueStatus']) && $orderDetail['issueStatus'] == 'IN_ISSUE') { $data['orderstatus'] = strtoupper($orderDetail['issueStatus']); } elseif (isset($orderDetail['orderStatus'])) { $data['orderstatus'] = strtoupper($orderDetail['orderStatus']); } else { $data['orderstatus'] = ''; } $insert_result = $aliorder_obj->insertNewRecords($data); // 存入数据库 if ($insert_result == FALSE) { // 插入失败 写日志 writeLog(ALIREPLYERR, AliOderMessageModel::$errMsg); continue; } else { echo 'add success ! ', $data['message_id'], "\n"; } } $pageindex++; //$roundtimes++; } unset($List); return TRUE; }