/** * @return Gpf_Rpc_Params */ private function getParams($limit) { $params = new Gpf_Rpc_Params(); $params->add('sort_col', 'dateinserted'); $params->add('sort_asc', false); $params->add('offset', 0); $params->add('limit', $limit); $params->add('columns', array(array("id"),array("id"),array("id"),array("commission"),array("totalcost"),array("orderid"),array("productid"),array("dateinserted"),array("name"),array("rtype"),array("tier"),array("commissionTypeName"),array("rstatus"),array("payoutstatus"),array("userid"),array("username"),array("firstname"),array("lastname"),array("channel"))); $filters = array(); if ($this->statsparams->isDateFromDefined()) { $filters[] = array('dateinserted', 'D>=', Gpf_Common_DateUtils::getDateTime($this->statsparams->getDateFrom()->toTimeStamp() + $this->timeOffset)); } if ($this->statsparams->isDateToDefined()) { $filters[] = array('dateinserted', 'D<=', Gpf_Common_DateUtils::getDateTime($this->statsparams->getDateTo()->toTimeStamp() + $this->timeOffset)); } if ($this->statsparams->isTypeDefined()) { $filters[] = array('rtype', 'IN', $this->statsparams->getType()); } if ($this->statsparams->isAffiliateIdDefined()) { $filters[] = array('userid', 'E', $this->statsparams->getAffiliateId()); } if ($this->statsparams->isAccountIdDefined()) { $filters[] = array('accountid', 'E', $this->statsparams->getAccountId()); } if (count($filters) > 0) { $params->add('filters', $filters); } return $params; }
/** * * Pap alert application handle, do not modify this source! * * @param String $dateFrom * @param String $dateTo * @param String $userId * @return Gpf_Data_RecordSet */ public static function getTransactions(Pap_Stats_Params $statsParams) { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add('tr.'.Pap_Db_Table_Transactions::USER_ID, 'userid'); $select->select->add('au.'.Gpf_Db_Table_AuthUsers::FIRSTNAME, 'name'); $select->select->add('au.'.Gpf_Db_Table_AuthUsers::LASTNAME, 'surname'); $select->select->add('au.'.Gpf_Db_Table_AuthUsers::USERNAME, 'username'); $select->select->add('pu.data1', 'weburl'); $select->select->add('tr.'.Pap_Db_Table_Transactions::TRANSACTION_ID, 'transid'); $select->select->add('tr.'.Pap_Db_Table_Transactions::TOTAL_COST, 'totalcost'); $select->select->add('tr.'.Pap_Db_Table_Transactions::FIXED_COST, 'fixedcost'); $select->select->add('tr.'.Pap_Db_Table_Transactions::ORDER_ID, 'orderid'); $select->select->add('tr.'.Pap_Db_Table_Transactions::PRODUCT_ID, 'productid'); $select->select->add('tr.'.Pap_Db_Table_Transactions::DATE_INSERTED, 'dateinserted'); $select->select->add('tr.'.Pap_Db_Table_Transactions::R_STATUS, 'rstatus'); $select->select->add('tr.'.Pap_Db_Table_Transactions::R_TYPE, 'transtype'); $select->select->add('tr.'.Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, 'transkind'); $select->select->add('tr.'.Pap_Db_Table_Transactions::PAYOUT_STATUS, 'payoutstatus'); $select->select->add('tr.'.Pap_Db_Table_Transactions::DATE_APPROVED, 'dateapproved'); $select->select->add('tr.'.Pap_Db_Table_Transactions::COMMISSION, 'commission'); $select->select->add('tr.'.Pap_Db_Table_Transactions::REFERER_URL, 'refererurl'); $select->select->add('c.'.Pap_Db_Table_Campaigns::ID, 'campcategoryid'); $select->select->add('c.'.Pap_Db_Table_Campaigns::NAME, 'campaign'); $select->select->add('tr.data1', 'data1'); $select->select->add('tr.data2', 'data2'); $select->select->add('tr.data3', 'data3'); $select->select->add('tr.'.Pap_Db_Table_Transactions::COUNTRY_CODE, 'countrycode'); $select->from->add(Pap_Db_Table_Transactions::getName(), 'tr'); $select->from->addInnerJoin(Pap_Db_Table_Campaigns::getName(), 'c', 'tr.'.Pap_Db_Table_Transactions::CAMPAIGN_ID.'=c.'.Pap_Db_Table_Campaigns::ID); $select->from->addInnerJoin(Pap_Db_Table_Users::getName(), 'pu', 'tr.'.Pap_Db_Table_Transactions::USER_ID.'=pu.'.Pap_Db_Table_Users::ID); $select->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 'gu', 'gu.'.Gpf_Db_Table_Users::ID.'=pu.'.Pap_Db_Table_Users::ACCOUNTUSERID); $select->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), 'au', 'gu.'.Gpf_Db_Table_Users::AUTHID.'=au.'.Gpf_Db_Table_AuthUsers::ID); if ($statsParams->isDateFromDefined()) { $select->where->add('tr.'.Pap_Db_Table_Transactions::DATE_INSERTED, '>=', $statsParams->getDateFrom()->toDateTime()); } if ($statsParams->isDateToDefined()) { $select->where->add('tr.'.Pap_Db_Table_Transactions::DATE_INSERTED, '<=', $statsParams->getDateTo()->toDateTime()); } if ($statsParams->getAffiliateId() != '') { $select->where->add('tr.'.Pap_Db_Table_Transactions::USER_ID, '=', $statsParams->getAffiliateId()); } return $select->getAllRows(); }
private function getStats(Pap_Stats_Params $statsParams) { $stats = array(); if($this->clientDate != '') { $stats['fordate'] = substr($this->clientDate, 0, 10); // get only date part of the date } else { $stats['fordate'] = $statsParams->getDateFrom()->toDate(); // get only date part of the date } if ($statsParams->getAffiliateId() != '') { $stats['usertype'] = 'affiliate'; } else { $stats['usertype'] = 'merchant'; } $clicks = new Pap_Stats_Clicks($statsParams); $imps = new Pap_Stats_Impressions($statsParams); $sales = new Pap_Stats_Sales($statsParams); $stats['today_clicks'] = $clicks->getCount()->getAll(); $stats['today_impressions'] = $imps->getCount()->getAll(); $stats['today_unique_impressions'] = $imps->getCount()->getUnique(); $stats['today_sales_approved'] = $sales->getCount()->getApproved(); $stats['today_sales_pending'] = $sales->getCount()->getPending(); $stats['today_sales_declined'] = $sales->getCount()->getDeclined(); if ($statsParams->getAffiliateId() != '') { $transactions = new Pap_Stats_Transactions($statsParams); $stats['approved'] = $transactions->getCommission()->getApproved(); $stats['pending'] = $transactions->getCommission()->getPending(); $stats['declined'] = $transactions->getCommission()->getDeclined(); } else { $affiliateStats = $this->getAffiliateStats(new Pap_Stats_Params()); $affiliateStats->rewind(); while ($affiliateStats->valid()) { $stats[$affiliateStats->key()] = $this->correctNullValue($affiliateStats->current()); $affiliateStats->next(); } } $stats['today_leads_approved'] = 0; $stats['today_leads_pending'] = 0; $stats['today_leads_declined'] = 0; $stats['currency'] = 'U'; return $stats; }