private function addUserInCommissionGroup($commissionGroupId, $userId, $status) { $userInCommissionGroup = new Pap_Db_UserInCommissionGroup(); $userInCommissionGroup->setCommissionGroupId($commissionGroupId); $userInCommissionGroup->setUserId($userId); $userInCommissionGroup->setStatus($status); $userInCommissionGroup->setDateAdded(Gpf_Common_DateUtils::getDateTime(time())); $userInCommissionGroup->save(); }
/** * * @return Pap_Db_UserInCommissionGroup */ public function getUserCommissionGroup($userId, $campaignId) { $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->addAll(Pap_Db_Table_UserInCommissionGroup::getInstance(), 'ucg'); $selectBuilder->from->add(Pap_Db_Table_UserInCommissionGroup::getName(), 'ucg'); $selectBuilder->from->addInnerJoin(Pap_Db_Table_CommissionGroups::getName(), 'cg', 'ucg.'.Pap_Db_Table_UserInCommissionGroup::COMMISSION_GROUP_ID .'='. 'cg.'.Pap_Db_Table_CommissionGroups::ID); $selectBuilder->where->add('ucg.'.Pap_Db_Table_UserInCommissionGroup::USER_ID, '=', $userId); $selectBuilder->where->add('cg.'.Pap_Db_Table_CommissionGroups::CAMPAIGN_ID, '=', $campaignId); $userInGroup = new Pap_Db_UserInCommissionGroup(); $userInGroup->setStatus(Pap_Features_PerformanceRewards_Condition::STATUS_APPROVED); try { $record = $selectBuilder->getOneRow(); $userInGroup->fillFromRecord($record); $userInGroup->setPersistent(true); } catch (Gpf_DbEngine_NoRowException $e) { $userInGroup->setUserId($userId); $userInGroup->setCommissionGroupId(Pap_Db_Table_Campaigns::getInstance()->getDefaultCommissionGroup($campaignId)->getId()); } return $userInGroup; }
/** * @param $userId * @param $commissionGroupId * @param $status * @return Pap_Db_UserInCommissionGroup */ private function createUserInCommGroup($userId, $commissionGroupId, $status) { $userInCommGroup = new Pap_Db_UserInCommissionGroup(); $userInCommGroup->setUserId($userId); $userInCommGroup->setCommissionGroupId($commissionGroupId); $userInCommGroup->setStatus($status); return $userInCommGroup; }
protected function migrateUsersInCampaigns() { Pap3Compatibility_Migration_OutputWriter::log(" Migrating users in campaigns....."); $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->add('*'); $selectBuilder->from->add('wd_pa_affiliatescampaigns'); $count = 0; foreach($selectBuilder->getAllRowsIterator() as $record) { if($record->get('affiliateid') == '' || $record->get('campcategoryid') == '') { continue; } $count++; try { $obj = new Pap_Db_UserInCommissionGroup(); $obj->setUserId($record->get('affiliateid')); $obj->setCommissionGroupId($record->get('campcategoryid')); $obj->setStatus(Pap3Compatibility_Migration_Pap3Constants::translateStatus($record->get('rstatus'))); $obj->setDateAdded(Gpf_Common_DateUtils::now()); $obj->save(); } catch(Gpf_Exception $e) { // non important error, don't display it } } Pap3Compatibility_Migration_OutputWriter::log(" ($count) ..... DONE<br/>"); }
/** * * @return Pap_Db_UserInCommissionGroup */ protected function getUserCommissionGroup() { if($this->userInGroup !== null) { return $this->userInGroup; } try { $userInGroup = Pap_Db_Table_UserInCommissionGroup::getInstance()->getUserCommissionGroup( $this->getCurrentUserId(), $this->transaction->getCampaignId()); } catch (Gpf_DbEngine_TooManyRowsException $e) { Gpf_Log::error(sprintf('Database not in consistent state. User %s has many commission groups', $userId)); Pap_Db_Table_UserInCommissionGroup::removeUserFromCampaignGroups($userId, $campaignId); $userInGroup = new Pap_Db_UserInCommissionGroup(); $userInGroup->setStatus(Pap_Features_PerformanceRewards_Condition::STATUS_APPROVED); $userInGroup->setUserId($userId); } return $this->userInGroup = $userInGroup; }