<?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 = input('bank_no');// 银行账号
        if(!$bank_no) {
            $this->error("请将信息填写完整");
        }

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

        //检测实名认证

        $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'];


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

        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 unbind(){
        $type = input('type',0);
        if(!in_array($type,[1,2])){
            $this->error();
        }

        if($type == 1){
            $table_name = 'user_alipay';
        }else{
            $table_name = 'user_bank';
        }

        Db::name($table_name)->where('user_id',$this->auth->id)->delete();

        $this->success("解绑成功");
    }

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

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

        //检测实名认证

        $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);
    }


}