/** * Displays a single UcenterMember model. * @param integer $id * @return mixed */ public function actionView($id) { $sinabank = SinaBank::find()->andWhere(['uid' => $id])->andWhere(['status' => SinaBank::STATUS_BINGING])->asArray()->one(); $sina = new sina(); if ($sinabank['identity_id']) { $sinabank['sinamoney'] = $sina->query_balance($sinabank['identity_id'])['available_balance']; } return $this->render('view', ['model' => $this->findModel($id), 'sinabank' => $sinabank]); }
/** * Displays a single SinaMember model. * @param integer $id * @return mixed */ public function actionView($id) { $model = $this->findModel($id); $sina = new sina(); $smember = SinaMember::find()->andWhere(['uid' => $model->uid])->andWhere(['status' => SinaMember::STATUS_BINGING])->one(); if ($smember) { //$sina = new sina(); $model->sinamoney = $sina->query_balance($smember->identity_id); } else { \Yii::$app->getSession()->setFlash('warning', '该用户没用绑定新浪账户'); } return $this->render('view', ['model' => $model]); }
/** * 用户退款 * @return string * @throws NotFoundHttpException */ public function actionRefund() { if (\App::$app->request->post()) { $uid = \App::$app->request->post()['Code']['uid']; $orig_outer_trade_no = \App::$app->request->post()['Code']['out_trade_no']; $refund_amount = \App::$app->request->post()['Code']['money']; $summary = \App::$app->request->post()['Code']['msg']; //获取新浪的账户余额 $sina_balance = sinapay::querySinaBalance($uid); if ($sina_balance['errorNum'] == '0') { $available_balance = $sina_balance['data']['available_balance']; } //获取网站的账户信息 $balance = Info::findOne(['member_id' => $uid]); $site_balabce = $balance['balance']; //调用新浪退款接口 $sina = new sina(); $out_trade_no = date('Ymd') . substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8) . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT); $refund = $sina->create_hosting_refund($out_trade_no, $orig_outer_trade_no, $refund_amount, $summary); if (!$refund) { throw new NotFoundHttpException('新浪接口错误'); } if ($refund['response_code'] == "APPLY_SUCCESS") { //提交信息成功 if ($refund['refund_status'] == 'SUCCESS' || $refund['refund_status'] == 'PAY_FINISHED') { //更新账户信息 $sina_balance = sinapay::querySinaBalance($uid); if ($sina_balance['errorNum'] == '0') { $available_balance_now = $sina_balance['data']['available_balance']; } //获取网站的账户信息 $balance = Info::findOne(['member_id' => $uid]); $site_balabce_now = $balance['balance']; //返回数据 $data = array('available_balance' => $available_balance, 'site_balabce' => $site_balabce, 'available_balance_now' => $available_balance_now, 'site_balabce_now' => $site_balabce_now); return $this->render('import', compact("data")); } else { throw new NotFoundHttpException($refund['response_message']); } } else { throw new NotFoundHttpException($refund['response_message']); } } else { $data = array('available_balance' => '-1', 'site_balabce' => '-2', 'available_balance_now' => '-3', 'site_balabce_now' => '-4'); return $this->render('import', compact("data")); } }
/** * 批量付到银行卡测试 * @param $uid * @param $money * @return array|mixed */ public static function test($uid, $money) { $flag = self::getIdentity($uid); if (!$flag) { $return = array('errorNum' => '1', 'errorMsg' => '用户不存在', 'data' => null); return $return; } //获取提现用户的绑定银行卡的信息 $SinaBank = SinaBank::find()->where(['uid' => $uid, 'identity_id' => $flag, 'status' => SinaBank::STATUS_BINGING])->one(); //批量付款到银行操作 $batch_no = self::build_order_no(); //组成出款条目 获取提现人信息 $member = SinaMember::find()->where(['uid' => $uid, 'status' => SinaMember::STATUS_BINGING])->one(); //获取配置中--加密密钥 $config = self::getConfig(); $public_key = $config->sinapay_rsa_public__key; $weibopay = new Weibopay(); //付款到银行卡 $list_no = self::build_order_no(); //用户名 $list_name = $weibopay->Rsa_encrypt($member->name, $public_key); //身份证 $list_idcard = $weibopay->Rsa_encrypt($member->idcard, $public_key); //银行卡号 $list_bank_account_no = $weibopay->Rsa_encrypt($SinaBank->bank_account_no, $public_key); $bank_name = $SinaBank->bank_name; $bank_code = $SinaBank->bank_code; $province = $SinaBank->province; $city = $SinaBank->city; $bank_name_zh = $province . $city . $bank_name; $bank_money = $money; $card_attribute = $SinaBank->card_attribute; $card_type = $SinaBank->card_type; //组合 $sina = new sina(); $detail_list = $list_no . '^' . $list_name . '^' . $list_idcard . '^' . $list_bank_account_no . '^' . $bank_name . '^' . $bank_code . '^' . $province . '^' . $city . '^' . $bank_name_zh . '^' . $bank_money . '^' . $card_attribute . '^' . $card_type; $pay2bank = $sina->create_batch_pay2bank($batch_no, $detail_list); return $pay2bank; }
public function actionUnlock($id) { $model = $this->findModel($id); $sina = new sina(); $smember = SinaMember::find()->andWhere(['uid' => $model->member_id])->one(); if ($smember && $smember->status == 1) { //$sina = new sina(); $model->sinamoney = $sina->query_balance($smember->identity_id); } else { \Yii::$app->getSession()->setFlash('warning', '该用户没用绑定新浪账户'); } if (\App::$app->request->post()) { if (\App::$app->request->post()['Info']['freeze'] > $model->freeze) { return $this->render('unlock', ['model' => $model]); } else { $model->freeze -= \App::$app->request->post()['Info']['freeze']; $model->balance += \App::$app->request->post()['Info']['freeze']; $model->save(); return $this->redirect(['view', 'id' => $model->member_id]); } } else { return $this->render('unlock', ['model' => $model]); } }