You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							55 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							55 lines
						
					
					
						
							1.6 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * 同步增量订单
							 | 
						|
								 */
							 | 
						|
								include_once dirname(dirname(__FILE__)).'/base/dealBase.php';
							 | 
						|
								
							 | 
						|
								class syncIncrementOrders extends dealBase {
							 | 
						|
								
							 | 
						|
								    public function setPara() {
							 | 
						|
								        $this->processnum = $GLOBALS['DAEMON_NUMLIMIT'][DAEMON_SYNC_INCREMENT_ORDERS];
							 | 
						|
								//         $this->is_while = false;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function deal() {
							 | 
						|
								        $obj = new mOrder();
							 | 
						|
								        $rdobj = $obj->initRedis();
							 | 
						|
								        $jsondata = $rdobj->rpop(_RQ_SYNC_INCREMENT_ORDERS);
							 | 
						|
								        if ($jsondata === false) exit();
							 | 
						|
								
							 | 
						|
								        $data = json_decode($jsondata, true);
							 | 
						|
								
							 | 
						|
								        if (time() < strtotime($data['end_date'])) {
							 | 
						|
								            sleep(10);
							 | 
						|
								            $rdobj->lpush(_RQ_SYNC_INCREMENT_ORDERS, $jsondata);
							 | 
						|
								            return true;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        $start_date = $data['start_date'];
							 | 
						|
								        $end_date = $data['end_date'];
							 | 
						|
								        $name = $data['name'];
							 | 
						|
								
							 | 
						|
								        $sobj = new mShop();
							 | 
						|
								        $shopinfo = $sobj->getShopByName($name);
							 | 
						|
								        if (empty($shopinfo)) return false;
							 | 
						|
								
							 | 
						|
								        $pobj = new mPdd();
							 | 
						|
								        for ($page=1;;$page++) {
							 | 
						|
								            $trades = $pobj->getPddIncrOrderList($name, $start_date, $end_date, ORDER_STATUS_FULL, REFUND_STATUS_FULL, $page, 100);
							 | 
						|
								            if (!$trades) break;
							 | 
						|
								            if (empty($trades['order_sn_list'])) break;
							 | 
						|
								
							 | 
						|
								            $obj->addOrders($trades['order_sn_list'], $shopinfo['id'], $shopinfo['uid']);
							 | 
						|
								
							 | 
						|
								            if ($trades['has_next'] != true) break;
							 | 
						|
								
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        $rdobj->lpush(_RQ_SYNC_INCREMENT_ORDERS, json_encode(array('name'=>$name, 'start_date'=>$end_date, 'end_date'=>date("Y-m-d H:i:s", strtotime($end_date." +30 minute")))));
							 | 
						|
								
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								new syncIncrementOrders();
							 |