/** * 更新用户余额 * * @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; }