控制器
public function actionOnline() { if (Yii::app()->request->isAjaxRequest) { $account = Yii::app()->user->id; $money = $amount = Yii::app()->request->getParam("amount"); $usersModel = Users::model()->findByAttributes(array("account" => $account)); $money = $amount; //intval($amount); $orderId = PublicFunHelper::buildOrderNo(); $transaction = Yii::app()->db->beginTransaction(); try { //支付订单条数加一条 $userPaymentsModel = new UserPayments(); $userPaymentsModel->attributes = array( 'acount' => $account, 'platform_id' => 9, 'order_id' => $orderId, 'total_amount' => $money, 'create_at' => date("Y-m-d H:i:s"), "note" => "在线充值订单号:" . $orderId, 'used' => 1, //充值 'status' => 0, //支付中 ); if (!$userPaymentsModel->save()) { throw new Exception(print_r($userPaymentsModel->getErrors(), true)); } $transaction->commit(); //提交事务会真正的执行数据库操作 //跳转到支付页面 $this->_end(200, "/payments/index/order_id/" . $orderId); } catch (Exception $ex) { Yii::log($ex->getMessage()); $transaction->rollback(); //如果操作失败, 数据回滚 $this->_end(0, "提交失败,请正确填写数据再次提交", $ex->getMessage()); } } $this->render("online"); }
html代码
<div class="recharge active_static"> <p>选择充值金额</p> <ul> <li class="re1"> <div class="table"> <div> <span class="item1"><em>50</em>元</span> </div> </div> </li> <li class="re2"> <div class="table"> <div> <span class="item1"><em>100</em>元</span> </div> </div> </li> <li class="re3"> <div class="table"> <div> <span class="item1"><em>200</em>元</span> </div> </div> </li> <li class="re4"> <div class="table"> <div> <span class="item1"><em>500</em>元</span> </div> </div> </li> <li class="re5"> <div class="table"> <div> <span class="item1"><em>1000</em>元</span> </div> </div> </li> <li class="re6"> <div class="table"> <div> <span class="item1"><em>3000</em>元</span> </div> </div> </li> </ul> <button class="btn btn-height44 btn-recharge" οnclick="pay()" disabled>确认充值</button> </div> <input type="hidden" id="isReFund" value="0" /> <script> function tabPrice() { $('.recharge ul li').each(function() { $(this).on('click', function() { $(this).addClass('active').siblings().removeClass('active'); if ($('.recharge ul li').hasClass('active')) { $('.recharge>button').attr('class', 'btn btn-height44 btn-green') $('.recharge>button').removeAttr('disabled'); } }) }) } tabPrice(); function pay() { var amount = $('li.active').find('em').text(); $.post("/recharge/online/",{amount:amount}, function(data) { if (data.status == 200) { document.location.href = data.msg; } else { alert(data.msg); } }, "json"); return false; } </script>
注:本人使用的是yii框架,前端使用了布局文件
