<?php

namespace app\api\controller;

use app\common\controller\Api;
use think\Db;
use app\common\service\UserService;


/**
 *
 */
class Userbank extends Api
{
    protected $noNeedLogin = [];
    protected $noNeedRight = ['*'];




    /**
     * 绑定银行卡
     */
    public function bindBank() {

        $bank_no = $this->request->request('bank_no');// 银行账号
        $open_bank = $this->request->request('open_bank');// 开户行
        if(!$bank_no || !$open_bank ) {
            $this->error("请将信息填写完整");
        }

        $userId = $this->auth->id;

        //检测实名认证
        if(config('site.user_auth_switch') == 1){
            $userAuthWhere['user_id'] = $userId;
            $userAuth = Db::name('user_idconfirm')->where($userAuthWhere)->find();
            if (empty($userAuth)) {
                $this->error('请先实名认证');
            }
            if ($userAuth['status'] != 1) {
                $this->error('请先实名认证通过');
            }
        }

        $truename = $userAuth['truename'];
        $idCard = $userAuth['idcard'];

        //验证
        /*$userService = new UserService();
        $aliParams = [
            'bank_no' => $bank_no,
            'id_card' => $idCard,
            'real_name' => $truename,
        ];
        $aliBankCheckRes = $userService->bankCheck($aliParams);
        if (!$aliBankCheckRes['status']) {
            $this->error($aliBankCheckRes['msg']);
        }*/

        // 查询是否有过绑定
        $bankInfo = Db::name('user_bank')->where(["user_id"=>$userId])->find();
        $data = [];
        $data["truename"] = $truename;
        $data["idcard"] = $idCard;
        $data["bank_no"] = $bank_no;
        $data["open_bank"] = $open_bank;

        if($bankInfo) {
            $res = Db::name('user_bank')->where(["user_id"=>$userId])->update($data);
        } else {
            $data["user_id"] = $userId;
            $res = Db::name('user_bank')->insertGetId($data);
        }


        $this->success("银行卡绑定成功!");

    }

    /**
     * 获取绑定银行卡信息
     */
    public function getBankInfo() {
        // 查询是否有过绑定
        $bankInfo = Db::name('user_bank')->where(["user_id"=>$this->auth->id])->find();

        $this->success("获取成功!",$bankInfo);
    }

    /**
     * 绑定支付宝
     */
    public function bindAlipay() {
        $payNo = $this->request->request('pay_no');//支付宝账号
        if(!$payNo) {
            $this->error("请将信息填写完整");
        }

        $userId = $this->auth->id;

        //检测实名认证
        if(config('site.user_auth_switch') == 1){
            $userAuthWhere['user_id'] = $userId;
            $userAuth = Db::name('user_idconfirm')->where($userAuthWhere)->find();
            if (empty($userAuth)) {
                $this->error('请先实名认证');
            }
            if ($userAuth['status'] != 1) {
                $this->error('请先实名认证通过');
            }
        }


        // 查询是否有过绑定
        $bankInfo = Db::name('user_alipay')->where(["user_id"=>$userId])->find();
        $data = [];
        $data["truename"] = $userAuth['truename'];
        $data["pay_no"] = $payNo;
        $data["idcard"] = $userAuth['idcard'];
        if($bankInfo) {
            $res = Db::name('user_alipay')->where(["user_id"=>$userId])->update($data);
        } else {
            $data["user_id"] = $userId;
            $res = Db::name('user_alipay')->insertGetId($data);
        }
        if($res) {
            $this->success("支付宝绑定成功!");
        } else {
            $this->error("网络异常,请稍后重试!");
        }
    }

    /**
     * 获取绑定银行卡信息
     */
    public function getAlipayInfo() {
        // 查询是否有过绑定
        $alipayInfo = Db::name('user_alipay')->where(["user_id"=>$this->auth->id])->find();
        $this->success("获取成功!",$alipayInfo);
    }


}