/**
  * 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"));
     }
 }
Example #4
0
 /**
  * 批量付到银行卡测试
  * @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;
 }
Example #5
0
 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]);
     }
 }