Пример #1
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, '用户不存在');
     }
 }