/**
     * @service quick_stats read
     * @param $fields
     */
    public function load(Gpf_Rpc_Params $params) {
        $data = new Gpf_Rpc_Data($params);

        $this->statsParams = $this->getStatsParams();
        $this->statsParams->initFrom($data->getFilters());

        $this->fillData($data, $params);
        return $data;
    }
    /**
     *
     * @service affiliate_stats read
     * @param $data
     */
    public function load(Gpf_Rpc_Params $params) {
        $data = new Gpf_Rpc_Data($params);
        $filters = $data->getFilters();
		$statsParams = new Pap_Stats_Params();
		$statsParams->initFrom($filters);				
		$transactions = new Pap_Stats_Transactions($statsParams);                

        $select = new Gpf_SqlBuilder_SelectBuilder();
        $select->from->add(Pap_Db_Table_Users::getName(), "pu");
        $select->from->addInnerJoin(Gpf_Db_Table_Users::getName(), "gu", "gu.accountuserid = pu.accountuserid");
        $select->select->add("SUM(IF(pu.rtype = '". Pap_Application::ROLETYPE_AFFILIATE ."', 1, 0))", "countAffiliates");
        $select->select->add("SUM(IF(gu.rstatus = 'A', 1, 0))", "approvedAffiliates");
        $select->select->add("SUM(IF(gu.rstatus = 'P', 1, 0))", "pendingAffiliates");
        $filters->addTo($select->where);
        $select->where->add("pu.".Pap_Db_Table_Users::TYPE, "=", Pap_Application::ROLETYPE_AFFILIATE);        
        $row = $select->getOneRow();

        $data->setValue("countAffiliates", $this->checkNullValue($row->get("countAffiliates")));
        $data->setValue("approvedAffiliates", $this->checkNullValue($row->get("approvedAffiliates")));
        $data->setValue("pendingAffiliates", $this->checkNullValue($row->get("pendingAffiliates")));
        $data->setValue("totalSales", $transactions->getTotalCost()->getAll());
        $data->setValue("approvedCommissions", $transactions->getCommission()->getApproved());
        $data->setValue("pendingCommissions", $transactions->getCommission()->getPending());

        return $data;
    }
 private function initStatParams(Gpf_Rpc_FilterCollection $filterCollection) {
     $this->statsParameters = new Pap_Stats_Params();
     $this->statsParameters->initFrom($filterCollection);
     
     if (!$this->statsParameters->isDateFromDefined() || !$this->statsParameters->isDateToDefined()) {
         throw new Gpf_Exception("Date filter must be set in StatisticsBase class");
     }
     
     if (!$this->statsParameters->isStatusDefined()) {
         $this->statsParameters->setStatus(Pap_Common_Constants::STATUS_APPROVED);
     }
 }
	/**
	 *
	 * @service pay_affiliate_stats read
	 * @param $data
	 */
	public function load(Gpf_Rpc_Params $params) {
		$data = new Gpf_Rpc_Data($params);
		$statsParams = new Pap_Stats_Params();
		$statsParams->initFrom($data->getFilters());
		$transactions = new Pap_Stats_Transactions($statsParams);

		$data->setValue("paid", $this->getPaidData($data->getFilters()));
		$data->setValue("unpaidApprovedComm", $transactions->getCommission()->getApproved());
		$data->setValue("unpaidPendingComm", $transactions->getCommission()->getPending());
		$data->setValue("unpaidDeclinedComm", $transactions->getCommission()->getDeclined());

		return $data;
	}
	/**
	 *
	 * @service campaign_stats read
	 * @param $data
	 */
	public function load(Gpf_Rpc_Params $params) {
		$data = new Gpf_Rpc_Data($params);
		$statsParams = new Pap_Stats_Params();
		$statsParams->initFrom($data->getFilters());						
		$transactions = new Pap_Stats_Transactions($statsParams);
		
		$data->setValue("totalCommisions", $transactions->getCommission()->getAll());
		$data->setValue("totalSales", $transactions->getTotalCost()->getAll());
		$data->setValue("totalPendingCommisions", $transactions->getCommission()->getPending());
		$data->setValue("totalUnpaidApprovedCommisions", $transactions->getCommission()->getApproved());
		
		return $data;
	}
	/**
	 * @return Pap_Stats_Params
	 */
	protected function createStatParams(Gpf_Rpc_FilterCollection $filters) {
		$statParams = new Pap_Stats_Params();
		$statParams->initFrom($filters);
		if (!$statParams->isStatusDefined()) {
			$statParams->setStatus(Pap_Common_Constants::STATUS_APPROVED);
		}
		$statParams->setDateFrom(new Gpf_DateTime(0));
		$statParams->setDateTo(new Gpf_DateTime());
		$dateFilter = $filters->getFilter("datetime");
		if (sizeof($dateFilter) > 0) {
			$this->setDateFilter($statParams, $dateFilter);
		}
		return $statParams;
	}
	/**
	 *
	 * @service banner_stats read
	 * @param $data
	 */
	public function loadFilteredStatistics(Gpf_Rpc_Params $params) {
		$data = new Gpf_Rpc_Data($params);
		$statsParams = new Pap_Stats_Params();		
		$statsParams->initFrom($data->getFilters());				
		$impressions = new Pap_Stats_Impressions($statsParams);
		$clicks = new Pap_Stats_Clicks($statsParams);
		$sales = new Pap_Stats_Sales($statsParams);

		$data->setValue("impressions", $impressions->getCount()->getAll());
		$data->setValue("rawClicks", $clicks->getCount()->getRaw());
		$data->setValue("uniqueClicks", $clicks->getCount()->getUnique());
		$data->setValue("sales", $sales->getCount()->getApproved());
		$data->setValue("ctr", 0);
		if ($impressions->getCount()->getAll() !== 0) {
			$data->setValue("ctr", $clicks->getCount()->getAll() / ($impressions->getCount()->getAll() / 100));
		}

		return $data;
	}
    /**
     * @service traffic_stats read
     * @param $data
     */
    public function getTransactionsData(Gpf_Rpc_Params $params) {
        $data = new Gpf_Rpc_Data($params);
        $filters = $this->checkFilters($data);
        $statsParameters = new Pap_Stats_Params();
        $statsParameters->initFrom($filters);

        $transactions = new Pap_Stats_Transactions($statsParameters);

        $data->setValue("transactionsCount", $transactions->getCount()->getAll());
        $data->setValue("transactionsCountApproved", $transactions->getCount()->getApproved());
        $data->setValue("transactionsCountDeclined", $transactions->getCount()->getDeclined());
        $data->setValue("transactionsCountPaid", $transactions->getCount()->getPaid());
        $data->setValue("transactionsCountPending", $transactions->getCount()->getPending());

        $data->setValue("transactionsTotalCost", $transactions->getTotalCost()->getAll());
        $data->setValue("transactionsTotalCostApproved", $transactions->getTotalCost()->getApproved());
        $data->setValue("transactionsTotalCostDeclined", $transactions->getTotalCost()->getDeclined());
        $data->setValue("transactionsTotalCostPaid", $transactions->getTotalCost()->getPaid());
        $data->setValue("transactionTotalCostPending", $transactions->getTotalCost()->getPending());

        $data->setValue("transactionsCommission", $transactions->getCommission()->getAll());
        $data->setValue("transactionsCommissionApproved", $transactions->getCommission()->getApproved());
        $data->setValue("transactionsCommissionDeclined", $transactions->getCommission()->getDeclined());
        $data->setValue("transactionsCommissionPaid", $transactions->getCommission()->getPaid());
        $data->setValue("transactionsCommissionPending", $transactions->getCommission()->getPending());

        return $data;
    }
	protected function initAllSubAffStats() {
		$statParams = new Pap_Stats_Params();
		$statParams->initFrom($this->filters);
		$statParams->setType(Pap_Common_Constants::TYPE_SALE . ',' . Pap_Common_Constants::TYPE_CLICK);
		
		$transactionStats = new Pap_Stats_Computer_TransactionsStatsBuilder($statParams, Pap_Db_Table_Transactions::USER_ID, Pap_Db_Table_Transactions::USERID, false);				      
		$transactionStats->getTransactionsWhereClause()->add(Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, '!=', null);
		$transactionStats->getTransactionsWhereClause()->add(Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, '<>', '');				
		$allSubStats = $transactionStats->getStatsSelect();
		
		try {
			$allSubStatsRow = $allSubStats->getOneRow();
			$this->subAffCommissions = $allSubStatsRow->get(Pap_Db_Table_Transactions::COMMISSION);
			$this->subAffSaleCount = $allSubStatsRow->get('count');
		} catch (Gpf_DbEngine_NoRowException $e) {			
			$this->subAffCommissions = 0;
			$this->subAffSaleCount = 0;
		}
	}
Пример #10
0
 /**
  * @return Pap_Stats_Params
  */
 protected function getStatsParameters() {
     $params = new Pap_Stats_Params();
     $params->initFrom($this->filters);
     if (!$params->isStatusDefined()) {
         $params->setStatus(Pap_Common_Constants::STATUS_APPROVED);
     }
     return $params;
 }