Ejemplo n.º 1
0
 /**
  * @param $userId
  * @param $saleId
  * @param $amount
  * @return bool
  */
 public function trackSale($userId, $saleId, $amount)
 {
     if (!$userId || !$saleId || !$amount) {
         return false;
     }
     // get user affiliate
     $affUser = $this->affiliateUserDao->findByUserId($userId);
     if (!$affUser) {
         return false;
     }
     $affiliate = $this->affiliateDao->findById($affUser->affiliateId);
     if (!$affiliate || !$this->isAffiliateActive($affiliate->id)) {
         return false;
     }
     $commission = $this->getSaleCommission($amount);
     $sale = new OCSAFFILIATES_BOL_Sale();
     $sale->affiliateId = $affiliate->id;
     $sale->saleId = $saleId;
     $sale->saleAmount = $amount;
     $sale->bonusAmount = $commission;
     $sale->saleDate = time();
     $this->saleDao->save($sale);
     return true;
 }