fetch('apply-lastexectime',$lastExecTime); if($lastExecTime && ($lastExecTime+self::intervalTime)>self::$now) { $error_msg = '上次执行时间为'.date('Y-m-d H:i:s',$lastExecTime); return false; } $lastExecTime = $lastExecTime ? : (time()-7*86400); base_kvstore::instance('console/vop/bill')->store('apply-lastexectime', self::$now); //获取唯品会店铺 $shopObj = app::get('ome')->model('shop'); $shopList = $shopObj->getList('shop_id, shop_bn, name,config', array('node_type'=>'vop', 'node_id|noequal'=>'', 'tbbusiness_type'=>'jit')); if(empty($shopList)) { return false; } $download_vop_bill_flag = false; foreach ($shopList as $key => $shop_info) { $config = is_string($shop_info['config']) ? @unserialize($shop_info['config']) : $shop_info['config']; if (!is_array($config) || $config['download_vop_bill'] != 'yes') { continue; } kernel::single('vop_bill')->getBillNumber($lastExecTime, self::$now, $shop_info['shop_id']); $download_vop_bill_flag = true; } if($download_vop_bill_flag){ $this->getBillDetail(); $this->getBillDiscountDetail(); $this->getItemSourceDetail(); } } /** * 获取BillDetail * @return mixed 返回结果 */ public function getBillDetail() { do { $model = app::get('vop')->model('bill'); $filter = [ 'status' => '0', 'sync_status' => '0', 'create_time|than' => strtotime('-7 days') ]; $oldRow = $model->db_dump($filter); if(!$oldRow) { $filter = [ 'status' => '0', 'sync_status' => '1', 'last_modified|lthan' => (time() - 600), ]; $oldRow = $model->db_dump($filter); if($oldRow) { $model->update(['sync_status'=>'0'], ['id'=>$oldRow['id'], 'status'=>'0']); } else { break; } } if($oldRow) { kernel::single('vop_bill')->getBillDetail($oldRow); } if(time() > self::$now + self::loopTime) { break; } } while(true); } /** * 获取BillDiscountDetail * @return mixed 返回结果 */ public function getBillDiscountDetail() { do { $model = app::get('vop')->model('bill'); $filter = [ 'status' => '0', 'discount_sync_status' => '0', 'create_time|than' => strtotime('-7 days') ]; $oldRow = $model->db_dump($filter); if(!$oldRow) { $filter = [ 'status' => '0', 'discount_sync_status' => '1', 'last_modified|lthan' => (time() - 600) ]; $oldRow = $model->db_dump($filter); if($oldRow) { $model->update(['discount_sync_status'=>'0'], ['id'=>$oldRow['id'], 'status'=>'0']); } else { break; } } if($oldRow) { kernel::single('vop_bill')->getBillDiscountDetail($oldRow); } if(time() > self::$now + self::loopTime) { break; } } while(true); } /** * 获取ItemSourceDetail * @return mixed 返回结果 */ public function getItemSourceDetail() { do { $model = app::get('vop')->model('bill'); $filter = [ 'status' => '0', 'detail_sync_status' => '0', 'create_time|than' => strtotime('-7 days') ]; $oldRow = $model->db_dump($filter); if(!$oldRow) { $filter = [ 'status' => '0', 'detail_sync_status' => '1', 'last_modified|lthan' => (time() - 600) ]; $oldRow = $model->db_dump($filter); if($oldRow) { $model->update(['detail_sync_status'=>'0'], ['id'=>$oldRow['id'], 'status'=>'0']); } else { break; } } if($oldRow) { kernel::single('vop_bill')->getItemSourceDetail($oldRow); } if(time() > self::$now + self::loopTime) { break; } } while(true); } }