Пример #1
0
 /**
  * load文件并给与权限判断
  */
 protected static function loadList($p_where = null, $p_order = null, $p_pageIndex = null, $p_pageSize = null, &$p_countThis = null, $isDetail = false)
 {
     $tmpResult = parent::loadList($p_where, $p_order, $p_pageIndex, $p_pageSize, $p_countThis, $isDetail);
     if (is_array($tmpResult) && array_key_exists('errorCode', $tmpResult)) {
         return $tmpResult;
     }
     switch ($auth = static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), $isDetail ? 'detail' : 'list', $tmpResult)) {
         case 'admin':
             //有管理权限
         //有管理权限
         case 'self':
             //作者
             break;
             //仅管理员和自己可见
         //仅管理员和自己可见
         case 'normal':
             //正常用户
         //正常用户
         case 'draft':
             //未激活
         //未激活
         case 'pending':
             //待审禁言
         //待审禁言
         case 'disabled':
             //封号
         //封号
         case 'visitor':
             //游客
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作');
             //其他用户不可见
             break;
         case 'empty':
             //空
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_DATA_EMPTY, '不存在对应数据');
             break;
         default:
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作');
             break;
     }
     PayLogModel::$authViewDisabled = static::$authViewDisabledList[$auth];
     return $tmpResult;
 }
Пример #2
0
 /**
  * 操作用于金额,并记录
  * @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, '用户不存在');
     }
 }