public function run($id) { $this->controller->_seoTitle = '交易详情 - ' . $this->controller->_setting['site_name']; $this->controller->loadModel(); $model = new UserTrade(); //查询条件 $data = $model->findByAttributes(['id' => $id, 'user_id' => Yii::app()->user->id]); if ($data) { switch ($data->type) { case UserTrade::TYPE_RECHARGE: $info_model = new UserRecharge(); break; case UserTrade::TYPE_WITHDRAW: $info_model = new UserWithdraw(); break; case UserTrade::TYPE_INCOME: $info_model = new UserIncome(); break; default: throw new CHttpException(500, '交易数据异常'); } } $data_info = $info_model->findByAttributes(array('trade_id' => $id)); //加载css js Yii::app()->clientScript->registerScriptFile($this->controller->_static_public . "/js/jquery/jquery.js"); Yii::app()->clientScript->registerScriptFile($this->controller->_static_public . "/js/My97DatePicker/WdatePicker.js", CClientScript::POS_END); $this->controller->render('trade_view', array('data' => $data, 'data_info' => $data_info)); }
public function run() { $this->controller->_seoTitle = '交易记录 - ' . $this->controller->_setting['site_name']; $this->controller->loadModel(); $model = new UserTrade(); $criteria = new CDbCriteria(); //查询条件 $create_time_start = Yii::app()->request->getParam('create_time_start'); $create_time_end = Yii::app()->request->getParam('create_time_end'); $trade_type = Yii::app()->request->getParam('trade_type'); $trade_status = Yii::app()->request->getParam('trade_status'); $create_time_start && $criteria->addBetweenCondition('time_create', strtotime($create_time_start), strtotime($create_time_end)); if ($trade_type && $trade_type != 'all') { $criteria->addColumnCondition(['type' => $trade_type]); } if ($trade_status && $trade_status != 'all') { $criteria->addColumnCondition(['status' => $trade_status]); } $criteria->addColumnCondition(array('user_id' => Yii::app()->user->id)); $count = $model->count($criteria); $pages = new CPagination($count); $pages->pageSize = 10; $pages->applyLimit($criteria); $lists = $model->findAll($criteria); //加载css js Yii::app()->clientScript->registerScriptFile($this->controller->_static_public . "/js/jquery/jquery.js"); Yii::app()->clientScript->registerScriptFile($this->controller->_static_public . "/js/My97DatePicker/WdatePicker.js", CClientScript::POS_END); $this->controller->render('list_trade', array('lists' => $lists, 'pages' => $pages, 'create_time_start' => $create_time_start, 'create_time_end' => $create_time_end, 'trade_type' => $trade_type, 'trade_status' => $trade_status)); }
public function actionIncome() { $model = new UserTrade(); $criteria = new CDbCriteria(); //搜索 $username = trim(Yii::app()->request->getParam('username')); if ($username) { $criteria->addColumnCondition(['user.username' => $username]); } $criteria->addColumnCondition(['t.type' => UserTrade::TYPE_INCOME]); $criteria->with = ['withdraw', 'user']; $criteria->order = 't.id DESC'; $count = $model->count($criteria); $pages = new CPagination($count); $pages->pageSize = 13; $criteria->limit = $pages->pageSize; $criteria->offset = $pages->currentPage * $pages->pageSize; $result = $model->findAll($criteria); $this->render('income', array('datalist' => $result, 'pagebar' => $pages)); }
/** * 开始提现 * * @return bool */ public function save() { if ($this->validate()) { $transaction = Yii::app()->db->beginTransaction(); try { $now = time(); $trade = new UserTrade(); $trade->trade_no = UserTrade::createTradeNo($now); $trade->amount = $this->amount; $trade->type = UserTrade::TYPE_WITHDRAW; $trade->user_id = Yii::app()->user->id; $trade->status = UserTrade::STATUS_NEW; $trade->time_create = $now; $trade->time_update = $now; $trade->save(); //保存提现数据 $res_1 = $this->saveWithdrawData($trade->id, $now); //更新账户余额 $res_2 = User::model()->updateCounters(['balance' => -$this->amount], 'id = ' . Yii::app()->user->id); $transaction->commit(); if ($res_1 && $res_2) { return true; } else { $transaction->rollback(); return false; } } catch (CHttpException $e) { $transaction->rollback(); throw new CHttpException(500, '提现失败,请稍后重试'); } } return false; }