public static function actionUpdate() { $p_id = W2HttpRequest::getRequestInt('id', null, false, false); $tmpModel = UserHandler::loadModelById($p_id); switch ($auther = static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'update', $tmpModel)) { case 'admin': //有管理权限 $tmpModel->setStatus(W2HttpRequest::getRequestInt('status')); $tmpModel->setLevel(W2HttpRequest::getRequestInt('level')); $tmpModel->setGold(W2HttpRequest::getRequestInt('gold')); $tmpModel->setGenre(W2HttpRequest::getRequestInt('genre')); $tmpModel->setNote(W2HttpRequest::getRequestString('note')); $tmpModel->setTelephone(W2HttpRequest::getRequestString('telephone')); $tmpModel->setPassword(W2HttpRequest::getRequestString('password')); case 'self': //作者 $tmpModel->setUsername(W2HttpRequest::getRequestString('username')); $tmpModel->setLanguage(W2HttpRequest::getRequestInt('language')); break; case 'normal': //正常用户 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作'); break; case 'draft': //未激活 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号未激活,不可使用该功能。'); break; case 'pending': //待审禁言 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号被禁言,不可使用该功能。'); break; case 'disabled': //封号 return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '该账号不可用,不可使用该功能。'); break; case 'visitor': return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您需要登录后才可以执行该操作'); break; case 'empty': return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NOT_MODEL, '不存在对应数据'); break; default: return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作'); break; } return static::save($tmpModel); }
public function getUserIDLocal() { return UserHandler::loadModelById($this->getUserID()); }
/** * 根据$userID获得对应个人实例 * @return PersonModel 个人实例 */ public static function loadModelByUserID($userID) { $tmpModel = null; if ($userID > 0) { $_d = static::loadModelList(array('userID' => $userID), null, 1, 1); if (isset($_d) && is_array($_d) && count($_d) > 0) { $tmpModel = $_d[0]; } else { $userModel = UserHandler::loadModelById($userID); if (is_object($userModel) && $userModel->getGenre() == USER_GENRE::PERSON) { $tmpModel = static::createModel(); $tmpModel->setUserID($userID); $tmpModel->setCreateTime(date('Y-m-d H:i:s')); $tmpModel->setModifyTime(date('Y-m-d H:i:s')); $tmpModel = static::saveModel($tmpModel); } } } return $tmpModel; }
/** * 操作用于金额,并记录 * @param int $p_userID 用户ID * @param string $p_payName 款项说明 * @param int $p_payType 操作类型 * @param double $p_money 涉及金额 * @param int $p_eventID 事件ID * @return PayLogModel 记录Model */ public static function payAction($p_userID, $p_payName, $p_payType, $p_money, $p_eventID) { $userModel = UserHandler::loadModelById($p_userID); if (is_object($userModel)) { if ($p_money < 0 && $userModel->getMoney() + $p_money < 0) { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_MONEY_OUT, '用户余额不足,无法扣款。'); } if ($p_money != 0 && $p_payType > 100) { UserHandler::update(array('money = money ' . ($p_money > 0 ? '+' : '') . $p_money), array('id' => $userModel->getId())); } $tmpModel = new PayLogModel(); $tmpModel->setCreateTime(date('Y-m-d H:i:s')); $tmpModel->setModifyTime(date('Y-m-d H:i:s')); $tmpModel->setUserID($p_userID); $tmpModel->setPayName($p_payName); $tmpModel->setPayType($p_payType); $tmpModel->setMoney($p_money); $tmpModel->setEventID($p_eventID); return static::saveModel($tmpModel); } else { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '用户不存在'); } }