예제 #1
0
파일: Finance.php 프로젝트: pancke/yyaf
 /**
  * 更新用户余额
  * 
  * @param unknown $aUser            
  * @param unknown $aParam            
  */
 public static function updMoney($aUser, $aParam, $iPayID = 0)
 {
     if (Db_Orm::getCommitCnt() == 0) {
         throw new Exception('处理钱一定要用事务处理!');
         return false;
     }
     if ($aParam['iMoney'] == 0) {
         return 1;
     }
     if (is_array($aUser)) {
         $iUserID = $aUser['iUserID'];
     } else {
         $iUserID = (int) $aUser;
     }
     $aUser = Model_User::getDetail($iUserID);
     // 增加之前余额判断
     $iRet = Model_User::query('UPDATE t_user SET iMoney=iMoney+' . $aParam['iMoney'] . ' WHERE iUserID=' . $iUserID . ' AND iMoney=' . $aUser['iMoney']);
     if ($iRet != 1) {
         Model_Base::rollback();
         throw new Exception('处理钱一定要用事务处理!');
         return false;
     }
     if ($iPayID == 0) {
         $aRow = array('iUserID' => $iUserID, 'iPayment' => $aParam['iPayment'], 'iSource' => $aParam['iSource'], 'sReaName' => isset($aParam['sReaName']) ? $aParam['sReaName'] : '', 'iPayType' => isset($aParam['iPayType']) ? $aParam['iPayType'] : 0, 'iPayMoney' => $aParam['iMoney'], 'iUserMoney' => $aUser['iMoney'] + $aParam['iMoney'], 'sOpenName' => isset($aParam['sOpenName']) ? $aParam['sOpenName'] : '', 'sBankName' => isset($aParam['sBankName']) ? $aParam['sBankName'] : '', 'sPayAccount' => isset($aParam['sPayAccount']) ? $aParam['sPayAccount'] : '', 'iPayStatus' => isset($aParam['iPayStatus']) ? $aParam['iPayStatus'] : 1, 'sPayOrder' => isset($aParam['sPayOrder']) ? $aParam['sPayOrder'] : '', 'sMyOrder' => isset($aParam['sMyOrder']) ? $aParam['sMyOrder'] : '', 'sRemark' => isset($aParam['sRemark']) ? $aParam['sRemark'] : '');
         $iPayID = self::addData($aRow);
     } else {
         $aRow = array('iAutoID' => $iPayID, 'iUserMoney' => $aUser['iMoney'] + $aParam['iMoney'], 'iPayStatus' => isset($aParam['iPayStatus']) ? $aParam['iPayStatus'] : 1, 'sPayOrder' => isset($aParam['sPayOrder']) ? $aParam['sPayOrder'] : '', 'sMyOrder' => isset($aParam['sMyOrder']) ? $aParam['sMyOrder'] : '', 'sRemark' => isset($aParam['sRemark']) ? $aParam['sRemark'] : '');
         self::updData($aRow);
     }
     return $iPayID;
 }
예제 #2
0
파일: ActionLog.php 프로젝트: pancke/yyaf
 public function dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
 {
     $aADUSQL = Db_Orm::getADUSQL();
     if (!empty($aADUSQL)) {
         $aLog = array('sIP' => $request->getClientIP(), 'sParam' => json_encode($request->getParams()), 'sSQL' => join("\n", $aADUSQL), 'sUserName' => Model_ActionLog::getUser(), 'iType' => Model_ActionLog::getType(), 'sUrl' => Util_Uri::getCurrUrl());
         Model_ActionLog::addData($aLog);
     }
 }
예제 #3
0
파일: Common.php 프로젝트: nicevoice/yhtx
 public static function getDebugData()
 {
     if (self::isDebug()) {
         $aDebug[] = '共次总耗时:' . Yaf_G::getRunTime() . '毫秒';
         if (isset(self::$_aInstance['orm'])) {
             $aDebug[] = Db_Orm::getDebugStat();
         }
         if (isset(self::$_aInstance['cache'])) {
             $aDebug[] = Util_Memcache::getDebugStat();
         }
         if (isset(self::$_aInstance['redis'])) {
             $aDebug[] = Util_Redis::getDebugStat();
         }
         if (class_exists('Sdk_Base')) {
             $sInfo = Sdk_Base::getDebugStat();
             if (!empty($sInfo)) {
                 $aDebug[] = $sInfo;
             }
         }
         $sDebug = join(' ', $aDebug);
         $aDebug = self::getDebug()->getAll();
         array_unshift($aDebug, $sDebug);
         return $aDebug;
     }
     return null;
 }
예제 #4
0
파일: Orm.php 프로젝트: pancke/yyaf
 /**
  * 事务回滚
  */
 public function rollback()
 {
     self::$_iCommitCnt = 0;
     return $this->_getMasterDB()->query('ROLLBACK');
 }