/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Cash::find()->joinWith(['member' => function ($query) { $query->from(['member' => 'member']); }])->orderBy(['created_at' => SORT_DESC]); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!Yii::$app->user->identity->isAdmin()) { $this->member_id = Yii::$app->user->identity->id; } if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'member_id' => $this->member_id, 'amount' => $this->amount, 'fee' => $this->fee, 'real_amount' => $this->real_amount, 'cash.status' => $this->status]); if ($this->created_at) { $date = explode(' - ', $this->created_at); if (count($date) == 2) { $query->andFilterWhere(['>=', $this::tableName() . '.created_at', $date[0] . ' 00:00:00']); $query->andFilterWhere(['<=', $this::tableName() . '.created_at', $date[1] . ' 23:59:59']); } } $query->andFilterWhere(['like', $this::tableName() . '.bank', $this->bank])->andFilterWhere(['like', $this::tableName() . '.cardname', $this->cardname])->andFilterWhere(['like', $this::tableName() . '.backaddress', $this->backaddress])->andFilterWhere(['like', $this::tableName() . '.cardnumber', $this->cardnumber])->andFilterWhere(['like', 'member.username', $this->membername])->orderBy(['created_at' => SORT_DESC]); return $dataProvider; }
/** * 取消提现 */ public function actionCancelcash() { $user_id = \Yii::$app->user->getId(); #获得用户的可用资金 $p_param = \Yii::$app->request->get(); if (!isset($p_param['id'])) { echo 1; \Yii::$app->end(); } $order = Cash::find()->where("id=:id AND user_id=:user_id AND status=0 ", [':id' => $p_param['id'], ':user_id' => $user_id])->one(); if (!isset($order)) { echo '<p>数据已经处理过。</p><button type="button" class="btn btn-danger" data-dismiss="modal">关闭</button>'; \Yii::$app->end(); } if (isset($p_param['sure']) && $p_param['sure'] == 1) { #调有存储过程取消提现 try { $addip = \Yii::$app->request->userIP; $in_p_user_id = $order->user_id; $order_id = $order->id; $conn = \Yii::$app->db; $command = $conn->createCommand('call p_Cancel_Cash(:in_p_user_id,:order_id,:in_addip,@out_status,@out_remark)'); $command->bindParam(":in_p_user_id", $in_p_user_id, PDO::PARAM_INT); $command->bindParam(":order_id", $order_id, PDO::PARAM_INT); $command->bindParam(":in_addip", $addip, PDO::PARAM_STR, 50); $command->execute(); $fit = $conn->createCommand("select @out_status as status,@out_remark as remark")->queryOne(); } catch (Exception $e) { $fit = ['remark' => '系统繁忙,暂时无法处理', 'status' => 0]; } } else { $fit = []; } return $this->renderAjax('ajax_surecash', ['order' => $order, 'p_param' => $p_param, 'fit' => $fit]); }
/** * * @param int $data * @return \yii\data\ActiveDataProvider */ public static function findCashlog($data = array()) { if (!isset($data['limit'])) { $data['limit'] = 10; } $query = Cash::find()->Where('user_id=:user_id', [':user_id' => $data['user_id']])->orderBy(" addtime desc "); $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $data['limit']]); $models = $query->offset($pages->offset)->limit($pages->limit)->all(); return ['models' => $models, 'pages' => $pages]; }