/** * 更新用户余额 * * @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; }
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); } }
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; }
/** * 事务回滚 */ public function rollback() { self::$_iCommitCnt = 0; return $this->_getMasterDB()->query('ROLLBACK'); }