コード例 #1
0
ファイル: PartnerLoadPeer.php プロジェクト: DBezemer/server
 public static function updatePartnerLoadTable()
 {
     $actualPartnerLoads = PartnerLoadPeer::getPartnerLoads();
     $c = new Criteria();
     $c->add(PartnerLoadPeer::DC, kDataCenterMgr::getCurrentDcId());
     $currentPartnerLoads = PartnerLoadPeer::doSelect($c);
     // This loop updates the partner load table contents according to the
     // accurate information gathered from the batch job table
     foreach ($currentPartnerLoads as $partnerLoad) {
         $maxQuota = self::getMaxQuotaForPartner($partnerLoad);
         $key = $partnerLoad->getPartnerId() . "#" . $partnerLoad->getJobType() . "#" . $partnerLoad->getJobSubType();
         if (array_key_exists($key, $actualPartnerLoads)) {
             $actualLoad = $actualPartnerLoads[$key];
             // Update
             $partnerLoad->setPartnerLoad($actualLoad->getPartnerLoad());
             $partnerLoad->setWeightedPartnerLoad($actualLoad->getWeightedPartnerLoad());
             $partnerLoad->setQuota($maxQuota - $actualLoad->getPartnerLoad());
             $partnerLoad->save();
             unset($actualPartnerLoads[$key]);
         } else {
             // Delete
             $partnerLoad->delete();
         }
     }
     foreach ($actualPartnerLoads as $actualPartnerLoad) {
         $maxQuota = self::getMaxQuotaForPartner($actualPartnerLoad);
         $actualPartnerLoad->setQuota($maxQuota - $actualPartnerLoad->getPartnerLoad());
         $actualPartnerLoad->save();
     }
 }
コード例 #2
0
 /**
  * Retrieve object using using composite pkey values.
  * @param      int $job_type
  * @param      int $job_sub_type
  * @param      int $partner_id
  * @param      int $dc
  * @param      PropelPDO $con
  * @return     PartnerLoad
  */
 public static function retrieveByPK($job_type, $job_sub_type, $partner_id, $dc, PropelPDO $con = null)
 {
     $key = serialize(array((string) $job_type, (string) $job_sub_type, (string) $partner_id, (string) $dc));
     if (null !== ($obj = PartnerLoadPeer::getInstanceFromPool($key))) {
         return $obj;
     }
     $criteria = new Criteria(PartnerLoadPeer::DATABASE_NAME);
     $criteria->add(PartnerLoadPeer::JOB_TYPE, $job_type);
     $criteria->add(PartnerLoadPeer::JOB_SUB_TYPE, $job_sub_type);
     $criteria->add(PartnerLoadPeer::PARTNER_ID, $partner_id);
     $criteria->add(PartnerLoadPeer::DC, $dc);
     $v = PartnerLoadPeer::doSelect($criteria, $con);
     return !empty($v) ? $v[0] : null;
 }