info('RUN Command BusinessStore on Day: '. $executeDay); $presentDay = (int) date('d'); $this->info('RUN Command BusinessStore present Day: '. $presentDay); if($executeDay !== $presentDay){ $this->info('NOT RUN Command BusinessStore is not present Day: '. $presentDay); return 0; } $this->timeStart = microtime(true); //$this->info('RUN Command BusinessStore'); $this->month = $this->argument('month'); $this->year = $this->argument('year'); if(!$this->month || !$this->year){ $this->month = (int) date("m", strtotime("-1 month", time())); $this->year = (int) date("Y", strtotime("-1 month", time())); } $this->info('RUN Command BusinessStore on month: '.$this->month.' | year: '.$this->year); //erstellt die Business Struktur und die Details $this->storeBusinessStructureUsersDetailMonth(); //Struktur und die Details für mehrere Montate for / to month //$this->storeBusinessStructureUsersDetailPeriod(1, 6); //erstellt die Gutschriften //$this->userBusinessCommissionsToCredit(); //erstellt aus den Gutschriften die PDFs //$this->userCreatePaymentCreditsPDF(); //update user Level //$this->userLevelUpdate(); return 0; //\Log::info('Cron is running'); //return 0; } private function storeBusinessStructureUsersDetailMonth(){ $this->info('storeBusinessStructureUsersDetailMonth month: '.$this->month.' year:'.$this->year); $businessUsersStore = new BusinessUsersStore($this->month, $this->year); $businessUsersStore->storeUserBusinessStructure(); $businessUsersStore->storeBusinessUsersDetail(); $bool = $businessUsersStore->storeBusinessCompleted(); $diff = microtime(true) - $this->timeStart; $sec = intval($diff); $micro = $diff - $sec; $this->info('END Command storeBusinessStructureUsersDetailMonth: '.$bool. ' | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms"); } private function userBusinessCommissionsToCredit(){ $this->info('userBusinessCommissionsToCredit month: '.$this->month.' year:'.$this->year); $userPaymentCredits = new UserPaymentCredits($this->month, $this->year); $userBusinesses = $userPaymentCredits->getUserBusinessByMonthYear(); foreach($userBusinesses as $userBusiness){ $ret = $userPaymentCredits->addUserCreditItem($userBusiness); $this->info('userBusinessCredit: '.$ret->user_id.' : Team: '.$ret->commission_team_total.' | Shop: '.$ret->commission_shop_sales); } $diff = microtime(true) - $this->timeStart; $sec = intval($diff); $micro = $diff - $sec; $this->info('END Command userBusinessCommissionsToCredit: | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms"); } private function userCreatePaymentCreditsPDF(){ $this->info('userCreatePaymentCreditsPDF month: '.$this->month.' year:'.$this->year); $userPaymentCredits = new UserPaymentCredits($this->month, $this->year); $creditItemUsers = $userPaymentCredits->getUserCreditItemUsersByMonthYear(); foreach($creditItemUsers as $creditItemUser){ $bool = $userPaymentCredits->makeCreditPaymentPDF($creditItemUser->user_id, $this->sendCreditMail); $this->info('creditsPDF: '.$bool.' user_id: '.$creditItemUser->user_id); } $diff = microtime(true) - $this->timeStart; $sec = intval($diff); $micro = $diff - $sec; $this->info('END Command userCreatePaymentCreditsPDF: | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms"); } private function userLevelUpdate(){ $this->info('userLevelUpdate month: '.$this->month.' year:'.$this->year); $userLevelUpdate = new UserLevelUpdate($this->month, $this->year); $levelUpdateUsers = $userLevelUpdate->getUserBusinessByMonthYear(); foreach($levelUpdateUsers as $userBusiness){ $ret = $userLevelUpdate->makeUserLevelUpdate($userBusiness, $this->sendUpdateMail); if($ret){ $this->info('updateLevel: '.$userBusiness->user->id.' | '.$userBusiness->user->email.' | '. 'from: '.$userBusiness->m_level_id.' '.$userBusiness->user_level_name.' | '. 'to: '.$ret); } } $diff = microtime(true) - $this->timeStart; $sec = intval($diff); $micro = $diff - $sec; $this->info('END Command userLevelUpdate: | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms"); } private function storeBusinessStructureUsersDetailPeriod($for, $to){ for($i = $for; $i<=$to; $i++){ $month = $i; $this->info('Store Business Structure Users Detail month: '.$month.' year:'.$this->year); $businessUsersStore = new BusinessUsersStore($month, $this->year); $businessUsersStore->storeUserBusinessStructure(); $businessUsersStore->storeBusinessUsersDetail(); $bool = $businessUsersStore->storeBusinessCompleted(); $diff = microtime(true) - $this->timeStart; $sec = intval($diff); $micro = $diff - $sec; $this->info('Period BusinessStore: '.$bool. ' | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms"); } } }