'TRADE_ACTIVE', 'dead' => 'TRADE_CLOSED', 'finish' => 'TRADE_FINISHED', ); //订单暂停状态 var $pause_status = array( 'true' => 'TRADE_PENDING',//暂停 'false' => 'TRADE_ACTIVE',//恢复 ); //订单状态名称 var $status_name = array( 'active' => '活动', 'dead' => '取消', 'finish' => '完成', 'pause:true' => '暂停', 'pause:false' => '恢复', ); //订单支付状态 var $pay_status = array( '0' => 'PAY_NO', '1' => 'PAY_FINISH', '2' => 'PAY_TO_MEDIUM', '3' => 'PAY_PART', '4' => 'REFUND_PART', '5' => 'REFUND_ALL', ); //订单发货状态 var $ship_status = array( '0' => 'SHIP_NO', '1' => 'SHIP_FINISH', '2' => 'SHIP_PART', '3' => 'RETRUN_PART', '4' => 'RETRUN_ALL', ); //订单旗标(b0:灰色 b1:红色 b2:橙色 b3:黄色 b4:蓝色 b5:紫色) var $mark_type = array( 'b0' => '0', 'b1' => '1', 'b2' => '2', 'b3' => '3', 'b4' => '4', 'b5' => '5', ); //订单类型。可选值:goods(商品),gift(赠品)。默认为goods var $obj_type = array( 'goods' => 'goods', 'gift' => 'gift', ); //货品状态:默认为false(正常),true:取消 var $product_status = array( 'false' => 'normal', 'true' => 'cancel', ); /** * 订单编辑 iframe * @access public * @param String $order_id 订单ID * @param Bool $is_request 是否发起请求 * @param Array $ext 扩展参数 * @return Array */ public function update_iframe($order_id,$is_request=true,$ext=array()){ if (empty($order_id)) return NULL; $orderObj = app::get('ome')->model('orders'); $shopObj = app::get('ome')->model('shop'); $orders = $orderObj->getRow($order_id, 'shop_id,order_bn,source'); $shop_detail = $shopObj->getRow(array('shop_id'=>$orders['shop_id']),'node_id'); $sdf['order_bn'] = $orders['order_bn']; $sdf['order_id'] = $order_id; $sdf['is_request'] = $is_request; $sdf['ext'] = $ext; #店铺解除绑定后或者本地订单,调用本地编辑 if (empty($shop_detail['node_id']) || $orders['source'] == 'local'){ $data = array('edit_type'=>'local'); return array('rsp'=>'success','msg'=>'本地订单编辑','data'=>$data); } $rs = kernel::single('ome_rpc_mapper')->request_router($shop_detail['node_id'],'order','update_iframe',$sdf); return $rs; } /** * 订单编辑 * @access public * @param int $order_id 订单主键ID * @return boolean */ public function update_order($order_id=''){ if (empty($order_id)) return NULL; $orderObj = app::get('ome')->model('orders'); $shopObj = app::get('ome')->model('shop'); $orders = $orderObj->getRow($order_id, 'shop_id,order_bn'); $shop_detail = $shopObj->getRow(array('shop_id'=>$orders['shop_id']),'node_id'); $sdf['order_id'] = $order_id; $rs = kernel::single('ome_rpc_mapper')->request_router($shop_detail['node_id'],'order','update_order',$sdf); return $rs; } function update_order_callback($result){ return $this->callback($result); } /** * 更新订单状态 * @access public * @param int $order_id 订单主键ID * @param string $status 状态 * @param string $memo 备注 * @param string $mode 请求类型:sync同步 async异步 * @return boolean */ public function order_status_update($order_id,$status='',$memo='',$mode='sync'){ $rs = array('rsp'=>'fail','msg'=>''); if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id,status,shop_type'); $shop_id = $order['shop_id']; $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $shop_list = ome_shop_type::shop_list(); $order_status = $status ? $status : $order['status']; $api_name = 'store.trade.status.update'; $params['tid'] = $order['order_bn']; $params['status'] = $this->status[$order_status]; $params['type'] = 'status'; $params['modify'] = date('Y-m-d H:i:s', time()); $params['is_update_trade_status'] = 'true'; if ($order_status == 'dead'){ //订单取消理由 $params['reason'] = $memo; } if(in_array($order['shop_type'], $shop_list) && ($order_status == 'dead')){ $api_name = 'store.trade.close'; $params = array('tid'=>$order['order_bn'],'close_reason'=>$memo); } if($shop_id){ $title = '店铺('.$shop_info['name'].')更新[订单状态]:'.$this->status_name[$order_status].'(订单号:'.$order['order_bn'].')'; }else{ $rs['msg'] = '订单无法关联店铺'; return $rs; } $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'order_status_update_callback', ); if($mode == 'sync'){ $rsp = $this->call($api_name,$params,$shop_id); $oApi_log = app::get('ome')->model('api_log'); $log_id = $oApi_log->gen_id(); $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'order_status_update', '2' => array( 'log_id' => $log_id, 'shop_id' => $shop_id, ), ); $oApi_log->write_log($log_id,$title,'ome_rpc_request','rpc_request',array($api_name, $params, $callback),'','request','running','','','api.store.trade',$order['order_bn']); if($rsp->rsp == 'succ'){ $api_status = 'success'; $msg = '订单状态更新成功
'; $oApi_log->update(array('msg_id'=>$rsp->msg_id,'msg'=>$msg,'status'=>$api_status),array('log_id'=>$log_id)); }else{ $api_status = 'fail'; $err_msg = $rsp->err_msg ? $rsp->err_msg : $rsp->res; $msg = '订单状态更新失败('.$err_msg.')
'; $oApi_log->update(array('msg_id'=>$rsp->msg_id,'msg'=>$msg,'status'=>$api_status),array('log_id'=>$log_id)); } $result['rsp'] = $rsp->rsp; $result['err_msg'] = $rsp->err_msg; $result['msg_id'] = $rsp->msg_id; $result['res'] = $rsp->res; $result['data'] = json_decode($rsp->data,1); }else{ $result = $this->request($api_name,$params,$callback,$title,$shop_id); } if(isset($result['msg']) && $result['msg']){ $rs['msg'] = $result['msg']; }elseif(isset($result['err_msg']) && $result['err_msg']){ $rs['msg'] = $result['err_msg']; }elseif(isset($result['res']) && $result['res']){ $rs['msg'] = $result['res']; } $rs['rsp'] = $result['rsp']; $rs['data'] = $result['data']; return $rs; }else{ return false; } } function order_status_update_callback($result){ return $this->callback($result); } /** * 订单暂停与恢复 * @access public * @param int $order_id 订单主键ID * @param string $status 状态true:暂停 false:恢复 * @return boolean */ public function order_pause_status_update($order_id,$status=''){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id,pause'); $params['tid'] = $order['order_bn']; $shop_id = $order['shop_id']; $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name,node_type'); $node_type = $shop_info['node_type']; $b2b_shop= ome_shop_type::b2b_shop_list(); if (in_array($node_type, $b2b_shop)){ if ($status == ''){ $params['status'] = $this->pause_status[$order['pause']]; }else{ $params['status'] = $this->pause_status[$status]; $order['pause'] = $status; } $params['type'] = 'status'; $params['modify'] = date('Y-m-d H:i:s', time()); if($shop_id){ $title = '店铺('.$shop_info['name'].')更新[订单状态]:'.$this->status_name['pause:'.$order['pause']].'(订单号:'.$order['order_bn'].')'; }else{ return false; } $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'order_pause_status_update_callback', ); $api_name = 'store.trade.status.update'; $this->request($api_name,$params,$callback,$title,$shop_id); }else{ return false; } }else{ return false; } } function order_pause_status_update_callback($result){ return $this->callback($result); } /** * 更新订单发票信息 * @access public * @param int $order_id 订单主键ID * @return boolean */ public function order_tax_update($order_id){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id,tax_no'); $params['tid'] = $order['order_bn']; $shop_id = $order['shop_id']; $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $params['tax_no'] = $order['tax_no']; if($shop_id){ $title = '店铺('.$shop_info['name'].')更新[订单发票号]:'.$order['tax_no'].'(订单号:'.$order['order_bn'].')'; }else{ return false; } $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'order_tax_update_callback', ); $api_name = 'store.trade.tax.update'; $this->request($api_name,$params,$callback,$title,$shop_id); }else{ return false; } } function order_tax_update_callback($result){ return $this->callback($result); } /** * 更新订单发货状态 * @access public * @param int $order_id 订单主键ID * @param boolean $queue 是否走队列 */ public function ship_status_update($order_id,$queue=false){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id,ship_status'); $params['tid'] = $order['order_bn']; $shop_id = $order['shop_id']; $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $params['ship_status'] = $this->ship_status[$order['ship_status']]; if($shop_id){ $title = '店铺('.$shop_info['name'].')更新[订单发货状态]:'.$params['ship_status'].'(订单号:'.$order['order_bn'].')'; }else{ return false; } $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'ship_status_update_callback', ); $api_name = 'store.trade.ship_status.update'; $this->request($api_name,$params,$callback,$title,$shop_id,'',$queue); }else{ return false; } } function ship_status_update_callback($result){ return $this->callback($result); } /** * 更新订单支付状态 * @access public * @param int $order_id 订单主键ID * @return boolean */ public function pay_status_update($order_id){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id,pay_status'); $params['tid'] = $order['order_bn']; $shop_id = $order['shop_id']; $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $params['pay_status'] = $this->ship_status[$order['pay_status']]; if($shop_id){ $title = '店铺('.$shop_info['name'].')更新[订单支付状态]:'.$params['pay_status'].'(订单号:'.$order['order_bn'].')'; }else{ return false; } $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'pay_status_update_callback', ); $api_name = 'store.trade.pay_status.update'; $this->request($api_name,$params,$callback,$title,$shop_id); }else{ return false; } } function pay_status_update_callback($result){ return $this->callback($result); } /** * 更新订单交易备注 * @access public * @param int $order_id 订单主键ID * @param array $memo 备注内容 * @return boolean */ public function memo_update($order_id,$memo){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id,mark_type'); $params['tid'] = $order['order_bn']; $params['memo'] = $memo['op_content']; $params['flag'] = $this->mark_type[$order['mark_type']]?$this->mark_type[$order['mark_type']]:''; $params['sender'] = $memo['op_name']; $params['add_time'] = $memo['op_time']; $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'memo_update_callback', ); $shop_id = $order['shop_id']; if($shop_id){ $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $title = '店铺('.$shop_info['name'].')更新订单备注(订单号:'.$order['order_bn'].')'; }else{ return false; } $this->request('store.trade.memo.update',$params,$callback,$title,$shop_id); }else{ return false; } } function memo_update_callback($result){ return $this->callback($result); } /** * 添加订单交易备注 * @access public * @param int $order_id 订单主键ID * @param array $memo 备注内容 * @return boolean */ public function memo_add($order_id,$memo){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id,mark_type'); $params['tid'] = $order['order_bn']; $params['memo'] = $memo['op_content']; $params['flag'] = $this->mark_type[$order['mark_type']]?$this->mark_type[$order['mark_type']]:''; $params['sender'] = $memo['op_name']; $params['add_time'] = $memo['op_time']; $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'memo_add_callback', ); $shop_id = $order['shop_id']; if($shop_id){ $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $title = '店铺('.$shop_info['name'].')添加订单备注(订单号:'.$order['order_bn'].')'; }else{ return false; } $this->request('store.trade.memo.add',$params,$callback,$title,$shop_id); }else{ return false; } } function memo_add_callback($result){ return $this->callback($result); } /** * 添加买家留言 * @access public * @param int $order_id 订单主键ID * @param array $memo 备注内容 * @return boolean */ public function custom_mark_add($order_id,$memo){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id'); $params['tid'] = $order['order_bn']; $params['message'] = $memo['op_content']; $params['sender'] = $memo['op_name']; $params['add_time'] = $memo['op_time']; $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'custom_mark_add_callback', ); $shop_id = $order['shop_id']; if($shop_id){ $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $title = '店铺('.$shop_info['name'].')添加订单附言(订单号:'.$order['order_bn'].')'; }else{ return false; } $this->request('store.trade.buyer_message.add',$params,$callback,$title,$shop_id); }else{ return false; } } function custom_mark_add_callback($result){ return $this->callback($result); } /** * 更新交易收货人信息 * @access public * @param int $order_id 订单主键ID * @return boolean */ public function shippinginfo_update($order_id){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, '*'); $consignee_area = $order['consignee']['area']; if(strpos($consignee_area,":")){ $t_area = explode(":",$consignee_area); $t_area_1 = explode("/",$t_area[1]); $receiver_state = $t_area_1[0]; $receiver_city = $t_area_1[1]; $receiver_district = $t_area_1[2]; } $params['tid'] = $order['order_bn']; $params['receiver_name'] = $order['consignee']['name']?$order['consignee']['name']:''; $params['receiver_state'] = $receiver_state?$receiver_state:''; $params['receiver_city'] = $receiver_city?$receiver_city:''; $params['receiver_district'] = $receiver_district?$receiver_district:''; $params['receiver_address'] = $order['consignee']['addr']?$order['consignee']['addr']:''; $params['receiver_zip'] = $order['consignee']['zip']?$order['consignee']['zip']:''; $params['receiver_email'] = $order['consignee']['email']?$order['consignee']['email']:''; $params['receiver_mobile'] = $order['consignee']['mobile']?$order['consignee']['mobile']:''; $params['receiver_phone'] = $order['consignee']['telephone']?$order['consignee']['telephone']:''; $params['receiver_time'] = $order['consignee']['r_time']?$order['consignee']['r_time']:''; $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'shippinginfo_update_callback', ); $shop_id = $order['shop_id']; if($shop_id){ $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $title = '店铺('.$shop_info['name'].')更新[交易收货人信息]:'.$params['receiver_name'].'(订单号:'.$order['order_bn'].')'; }else{ return false; } $this->request('store.trade.shippingaddress.update',$params,$callback,$title,$shop_id); }else{ return false; } } function shippinginfo_update_callback($result){ return $this->callback($result); } /** * 更新交易发货人信息 * @access public * @param int $order_id 订单主键ID * @return boolean */ public function consigner_info_update($order_id){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, '*'); $consigner_area = $order['consigner']['area']; kernel::single('eccommon_regions')->split_area($consigner_area); $params['tid'] = $order['order_bn']; $params['shipper_name'] = $order['consigner']['name']; $params['shipper_state'] = $consigner_area[0]; $params['shipper_city'] = $consigner_area[1]; $params['shipper_district'] = $consigner_area[2]; $params['shipper_address'] = $order['consigner']['addr']; $params['shipper_zip'] = $order['consigner']['zip']; $params['shipper_email'] = $order['consigner']['email']; $params['shipper_mobile'] = $order['consigner']['mobile']; $params['shipper_phone'] = $order['consigner']['tel']; $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'consigner_info_update_callback', ); $shop_id = $order['shop_id']; if($shop_id){ $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $title = '店铺('.$shop_info['name'].')更新[交易发货人信息]:'.$params['consigner_name'].'(订单号:'.$order['order_bn'].')'; }else{ return false; } $this->request('store.trade.shipper.update',$params,$callback,$title,$shop_id); }else{ return false; } } function consigner_info_update_callback($result){ return $this->callback($result); } /** * 更新代销人信息 * @access public * @param int $order_id 订单主键ID * @return boolean */ public function sellagent_info_update($order_id){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $sellagentObj = app::get('ome')->model('order_selling_agent'); $order = $orderObj->dump($order_id, 'order_bn'); $sellagent_detail = $sellagentObj->dump($order_id, '*'); $sellagent_area = $order['member_info']['area']; kernel::single('eccommon_regions')->split_area($sellagent_area); $params = array( 'tid' => $order['order_bn'], '_uname' => $sellagent_detail['member_info']['uname'], '_name' => $sellagent_detail['member_info']['name'], '_birthday' => $sellagent_detail['member_info']['birthday'], '_sex' => $sellagent_detail['member_info']['sex'], '_state' => $sellagent_area[0], '_city' => $sellagent_area[1], '_district' => $sellagent_area[2], '_address' => $sellagent_detail['member_info']['addr'], '_zip' => $sellagent_detail['member_info']['zip'], '_email' => $sellagent_detail['member_info']['email'], '_mobile' => $sellagent_detail['member_info']['mobile'], '_phone' => $sellagent_detail['member_info']['tel'], '_website_name' => $sellagent_detail['website']['name'], '_website_domain' => $sellagent_detail['website']['domain'], ); $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'sellagent_info_update_callback', ); $shop_id = $order['shop_id']; if($shop_id){ $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $title = '店铺('.$shop_info['name'].')更新[交易代销人信息]:(订单号:'.$order['order_bn'].')'; }else{ return false; } $this->request('store.trade.selling_agent.update',$params,$callback,$title,$shop_id); }else{ return false; } } function sellagent_info_update_callback($result){ return $this->callback($result); } /** * 更新订单失效时间 * @access public * @param int $order_id 订单主键ID * @param string $order_limit_time 订单失效时间 * @return true or false */ public function update_order_limit_time($order_id,$order_limit_time=''){ if(!empty($order_id)){ $orderObj = app::get('ome')->model('orders'); $order = $orderObj->dump($order_id, 'order_bn,shop_id'); $params['tid'] = $order['order_bn']; $params['order_limit_time'] = $order_limit_time; $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'update_order_limit_time_callback', ); $shop_id = $order['shop_id']; if($shop_id){ $shop_info = app::get('ome')->model('shop')->dump($shop_id,'name'); $title = '更新店铺('.$shop_info['name'].')订单失效时间(订单号:'.$order['order_bn'].')'; }else{ return false; } $this->request('store.trade.order_limit_time.update',$params,$callback,$title,$shop_id); }else{ return false; } } function update_order_limit_time_callback($result){ return $this->callback($result); } /* *获取店铺订单详情 *@param order_id 订单号 shop_id 店铺ID order_type 订单类型 *@return array 2012-06-19 by yangminsheng */ function get_order_detial($order_id='',$shop_id='',$order_type='') { if(empty($order_id) || empty($shop_id)) return array('rsp'=>'fail','msg'=>'数据有误!'); $Apilog = app::get('ome')->model('api_log'); $Oshop = app::get('ome')->model('shop'); $shop_info = $Oshop->getRow($shop_id,'name'); $result = array(); if($order_type == 'direct'){ $api_name = 'store.trade.fullinfo.get'; }else{ $api_name = 'store.fenxiao.trade.fullinfo.get'; } $params['tid'] = $order_id; $addon['bn'] = $order_id; $title = "店铺(".$shop_info['name'].")获取前端店铺".$order_id."的订单详情"; $rsp = $this->call($api_name,$params,$shop_id); $result['rsp'] = $rsp->rsp; $result['err_msg'] = $rsp->err_msg; $result['msg_id'] = $rsp->msg_id; $result['res'] = $rsp->res; $result['data'] = json_decode($rsp->data,1); $result['order_type'] = $order_type; $log_id = $Apilog->gen_id(); $callback = array( 'class' => 'ome_rpc_request_order', 'method' => 'get_order_detial', '2' => array( 'log_id' => $log_id, 'shop_id' => $shop_id, ), ); $Apilog->write_log($log_id,$title,'ome_rpc_request','rpc_request',array($api_name, $params, $callback),'','request','running','','','api.store.trade',$order_id); if($rsp){ if($rsp->rsp == 'succ'){ //api日志记录 $api_status = 'success'; $msg = '获取订单详情成功
'; $filter_data = array('msg_id'=>$rsp->msg_id,'msg'=>$msg,'status'=>$api_status); $Apilog->update($filter_data,array('log_id'=>$log_id)); }else{ //api日志记录 $api_status = 'fail'; $filter_data = array('msg_id'=>$rsp->msg_id,'msg'=>$msg,'status'=>$api_status); $msg = '获取订单详情('.$rsp->res.')
'; $Apilog->update($filter_data,array('log_id'=>$log_id)); } } return $result; } /* *获取店铺指定时间范围内的订单列表 *@param start_time 开始时间 end_time 结束时间 shop_id 店铺ID *@return array 2012-06-19 by yangminsheng */ function get_order_list($start_time='',$end_time='',$shop_id='') { $rs = array('rsp'=>'fail','msg'=>'','data'=>$data,'is_update_time'=>'false'); if(empty($start_time) || empty($end_time) || empty($shop_id)) return $rs; $orders = app::get("ome")->model("orders"); $params['start_time'] = date("Y-m-d H:m:s",$start_time); $params['end_time'] = date("Y-m-d H:m:s",$end_time); $api_name = 'store.trades.sold.get'; $params['page_size'] = 100; $params['fields'] = 'tid,status,pay_status,ship_status,modified'; $result = $this->call($api_name,$params,$shop_id); $return_data['rsp'] = $result->rsp; $return_data['err_msg'] = $result->err_msg; $return_data['msg_id'] = $result->msg_id; $return_data['res'] = $result->res; $return_data['data'] = json_decode($result->data,1); if($return_data['rsp'] == 'succ') { if(intval($return_data['data']['total_results'])<1){ $rs['msg'] = '该时间段内没有订单.'; $rs['is_update_time'] = 'true'; $rs['msg_id'] = $return_data['msg_id']; $rs['rsp'] = 'success'; $rs['data'] = array(); return $rs; } $page_total = ceil($return_data['data']['total_results']/$params['page_size']); $tids = array(); $aTmp = array(); for($i=1;$i<=$page_total;$i++) { $matrix_tids = array(); $order_data = array(); $return_data_page['data'] = array(); $params['page_no'] = $i; $resp = $this->call($api_name,$params,$shop_id); $return_data_page['rsp'] = $resp->rsp; $return_data_page['err_msg'] = $resp->err_msg; $return_data_page['msg_id'] = $resp->msg_id; $return_data_page['res'] = $resp->res; $return_data_page['data'] = json_decode($resp->data,1); if($return_data_page['rsp'] == 'succ') { foreach($return_data_page['data']['trades'] as $k=>$v){ $matrix_tids[$v['tid']]['status'] = $v['status']; $matrix_tids[$v['tid']]['tid'] = $v['tid']; $matrix_tids[$v['tid']]['modified'] = $v['modified']; $matrix_tids[$v['tid']]['ship_status'] = $v['ship_status']; $matrix_tids[$v['tid']]['pay_status'] = $v['pay_status']; }//获取到矩阵返回的数据后,对数据进行重组 $matrix_tid_keys = array_keys($matrix_tids); $row = $orders->db->select("select outer_lastmodify,order_bn from sdb_ome_orders where order_bn in ('".implode("','",$matrix_tid_keys)."')"); if(empty($row)){ $aTmp = array_merge($matrix_tids,$aTmp); }else{ $local_exist_tids = array(); foreach($row as $return_k=>$return_v) { if($row && strtotime($matrix_tids[$order_bn]['modified'])<$return_v['outer_lastmodify']){ $local_exist_tids[] = $return_v['order_bn'];//将本地不需要的订单放入数组 } } foreach ($local_exist_tids as $value) { unset($matrix_tids[$value]); }//将不需要修改的订单从总list中删除. $aTmp = array_merge($matrix_tids,$aTmp); } } else{ $rs['msg'] = $return_data_page['err_msg']; $rs['msg_id'] = $return_data_page['msg_id']; return $rs; }; } if(count($aTmp)==0){ $rs['msg'] = '经过比对,该时间段内没有发现漏单情况'; $rs['is_update_time'] = 'true'; } }else{ $rs['msg'] = $return_data['err_msg']; $rs['msg_id'] = $return_data['msg_id']; return $rs; } $rs['data'] = $aTmp; $rs['rsp'] = 'success'; $rs['msg_id'] = $return_data_page['msg_id']; return $rs; } }