Пример #1
0
 /**
  * 充值
  * 
  * @param unknown $sType            
  * @param unknown $sOrderID            
  * @param unknown $iMoney            
  * @param unknown $aArg            
  */
 public static function pay($sOrderID, $iPayMoney, $aArg)
 {
     Model_Finance::begin();
     $aArg['sMyOrder'] = $sOrderID;
     $sType = $sOrderID[0];
     $iOrderID = substr($sOrderID, 1);
     if ($sType == self::ORDER_AD) {
         // 广告
         $aAd = Model_Ad::getDetail($iOrderID);
         if ($aAd && $aAd['iPayStatus'] == 0) {
             $aUser = Model_User::getDetail($aAd['iUserID']);
             if (ENV_SCENE == 'dev') {
                 $iPayMoney = $aAd['iTotalMoney'] - $aUser['iMoney'];
             }
             $iPayID = self::payAd($aUser, $aAd, $iPayMoney, $aArg);
         } elseif ($aAd && $aAd['iPayStatus'] == 1) {
             $iPayID = $aAd['iPayID'];
         } else {
             $iPayID = 0;
         }
     } else {
         $aArg['iPayment'] = Model_Finance::PAYMENT_IN;
         $aArg['iSource'] = Model_Finance::SOURCE_SELF_CASH_IN;
         $aFinance = Model_Finance::getDetail($iOrderID);
         if ($aFinance && $aFinance['iPayStatus'] == 0) {
             $aUser = Model_User::getDetail($aFinance['iUserID']);
             if (ENV_SCENE == 'dev') {
                 $iPayMoney = $aFinance['iPayMoney'];
             }
             $aArg['iMoney'] = $iPayMoney;
             $iPayID = self::updMoney($aUser, $aArg, $iOrderID);
         } else {
             $iPayID = $iOrderID;
         }
     }
     Model_Finance::commit();
     return $iPayID;
 }