public function incTotalInventory($fid, $event) { $sumID = (string) $fid; $check = $this->where(array('sum_id' => $sumID))->first(); if (empty($check)) { $this->sum_id = $sumID; $this->flight_id = $fid; $this->inventory = (int) TrackingSummaryBaseModel::where(array('flight_id' => $sumID))->sum($event) + 1; $this->save(); } else { $check->increment('inventory'); } }
public function createMonthlyPaymentRequest() { $startDate = Carbon::now()->firstOfMonth()->subMonth(); $endDate = Carbon::now()->firstOfMonth()->subMonth()->lastOfMonth(); $date = $startDate->format('Y-m'); $check = PaymentRequestBaseModel::where(array('publisher_id' => $this->id, 'date' => $date))->first(); $websiteLists = $this->publisherSite->lists('id'); if (empty($check)) { $tracking = new TrackingSummaryBaseModel(); $data = $tracking->sumEarnPerCampaign($websiteLists, $startDate, $endDate); $campaigns = $data['campaign']; $total = $data['total']; $pr = new PaymentRequestBaseModel(); $pr->publisher_id = $this->id; $pr->date = $date; $pr->amount = $total; $pr->save(); if (!empty($campaigns)) { foreach ($campaigns as $campaignID => $campaign) { $prd = new PaymentRequestDetailBaseModel(); $prd->publisher_id = $this->id; $prd->campaign_id = $campaignID; $prd->amount = $campaign['cost']; $prd->impression = $campaign['impression']; $prd->click = $campaign['click']; if ($campaign['click'] != 0 && $campaign['impression'] != 0) { $prd->ctr = $campaign['click'] / $campaign['impression']; } else { $prd->ctr = 0; } $prd->date = $date; $prd->payment_request_id = $pr->id; $prd->save(); } } } }
static function getDataPerWebsite($start, $end, $site, $campaign, $ad, $flight) { $data = null; if (!empty($campaign) && !empty($ad) && !empty($flight) && !empty($site)) { $data = TrackingSummaryBaseModel::select('*', \DB::raw('SUM(ads_request) as total_ads_request'), \DB::raw('SUM(failed_request) as total_failed_request'), \DB::raw('SUM(impression) as total_impression'), \DB::raw('SUM(unique_impression) as total_unique_impression'), \DB::raw('SUM(click) as total_click'), \DB::raw('SUM(unique_click) as total_unique_click'), \DB::raw('SUM(firstquartile) as total_firstquartile'), \DB::raw('SUM(midpoint) as total_midpoint'), \DB::raw('SUM(thirdquartile) as total_thirdquartile'), \DB::raw('SUM(complete) as total_complete'), \DB::raw('SUM(pause) as total_pause'), \DB::raw('SUM(mute) as total_mute'), \DB::raw('SUM(fullscreen) as total_fullscreen'), \DB::raw('SUM(unmute) as total_unmute'))->where('flight_id', '=', $flight)->where('campaign_id', '=', $campaign)->where('ad_id', '=', $ad)->where('website_id', '=', $site); if (!empty($start) && !empty($end)) { $data = $data->where('date', '>=', $start)->where('date', '<=', $end); } $data = $data->groupBy('date'); $data = $data->orderby("date")->with("campaign", 'flight', 'ad_format')->get(); if ($data) { foreach ($data as $k => $v) { if ($v->ovr) { $data[$k] = $v; $data[$k]->total_ads_request_over = $v->total_ads_request; $data[$k]->total_failed_request_over = $v->total_failed_request; $data[$k]->total_impression_over = $v->total_impression; $data[$k]->total_unique_impression_over = $v->total_unique_impression; $data[$k]->total_click_over = $v->total_click; $data[$k]->total_unique_click_over = $v->total_unique_click; } else { $data[$k] = $v; $data[$k]->total_ads_request_over = 0; $data[$k]->total_failed_request_over = 0; $data[$k]->total_impression_over = 0; $data[$k]->total_unique_impression_over = 0; $data[$k]->total_click_over = 0; $data[$k]->total_unique_click_over = 0; } } } } return $data; }