Example #1
0
 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));
 }
Example #2
0
 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));
 }
Example #3
0
 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));
 }
Example #4
0
 /**
  * 开始提现
  * 
  * @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;
 }