Userbank.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use app\common\service\UserService;
  6. /**
  7. *
  8. */
  9. class Userbank extends Api
  10. {
  11. protected $noNeedLogin = [];
  12. protected $noNeedRight = ['*'];
  13. /**
  14. * 验证身份证号
  15. */
  16. public function validateCard() {
  17. $idcard = $this->request->request('idcard');// 身份证号
  18. if(!$idcard) $this->error("参数缺失!");
  19. // 获取用户信息
  20. $idcardInfo = \app\common\model\UserAuth::where(["user_id"=>$this->auth->id])->value("idcard");
  21. if($idcardInfo === $idcard) {
  22. $this->success("验证成功!");
  23. } else {
  24. $this->error("验证失败!");
  25. }
  26. }
  27. /**
  28. * 绑定银行卡
  29. */
  30. public function bindBank() {
  31. $bank_no = $this->request->request('bank_no');// 银行账号
  32. $open_bank = $this->request->request('open_bank');// 开户行
  33. $userId = $this->auth->id;
  34. if(!$bank_no || !$open_bank ) {
  35. $this->error("请将信息填写完整");
  36. }
  37. $userAuthWhere['user_id'] = $userId;
  38. $userAuth = Db::name('user_auth')->where($userAuthWhere)->find();
  39. if (empty($userAuth)) {
  40. $this->error('请先实名认证');
  41. }
  42. if ($userAuth['status'] != 1) {
  43. $this->error('请先实名认证通过');
  44. }
  45. $realname = $userAuth['realname'];
  46. $idCard = $userAuth['idcard'];
  47. $userService = new UserService();
  48. $aliParams = [
  49. 'bank_no' => $bank_no,
  50. 'id_card' => $idCard,
  51. 'real_name' => $realname,
  52. ];
  53. $aliBankCheckRes = $userService->bankCheck($aliParams);
  54. if (!$aliBankCheckRes['status']) {
  55. $this->error($aliBankCheckRes['msg']);
  56. }
  57. // 查询是否有过绑定
  58. $bankInfo = \app\common\model\UserBank::where(["user_id"=>$userId])->find();
  59. $data = [];
  60. $data["realname"] = $realname;
  61. $data["bank_no"] = $bank_no;
  62. $data["open_bank"] = $open_bank;
  63. $data["id_card"] = $idCard;
  64. if($bankInfo) {
  65. $res = Db::name('user_bank')->where(["user_id"=>$userId])->update($data);
  66. } else {
  67. $data["user_id"] = $userId;
  68. $res = Db::name('user_bank')->insertGetId($data);
  69. }
  70. if(!$res) {
  71. $this->error("网络异常,请稍后重试!");
  72. }
  73. $this->success("银行卡绑定成功!");
  74. }
  75. /**
  76. * 获取绑定银行卡信息
  77. */
  78. public function getBankInfo() {
  79. // 查询是否有过绑定
  80. $bankInfo = Db::name('user_bank')->where(["user_id"=>$this->auth->id])->find();
  81. $this->success("获取成功!",$bankInfo);
  82. }
  83. /**
  84. * 绑定支付宝
  85. */
  86. public function bindAlipay() {
  87. $payNo = $this->request->request('pay_no');//支付宝账号
  88. $userId = $this->auth->id;
  89. //姓名和身份证号 取实名认证
  90. $userAuthWhere['user_id'] = $userId;
  91. $userAuth = Db::name('user_auth')->where($userAuthWhere)->find();
  92. if (empty($userAuth)) {
  93. $this->error('请先实名认证');
  94. }
  95. if ($userAuth['status'] != 1) {
  96. $this->error('请先实名认证通过');
  97. }
  98. $realname = $userAuth['realname'];
  99. $cardNo = $userAuth['idcard'];
  100. if(!$realname || !$payNo || !$cardNo) {
  101. $this->error("请将信息填写完整");
  102. }
  103. // 查询是否有过绑定
  104. $bankInfo = Db::name('user_alipay')->where(["user_id"=>$userId])->find();
  105. $data = [];
  106. $data["realname"] = $realname;
  107. $data["pay_no"] = $payNo;
  108. $data["card_no"] = $cardNo;
  109. if($bankInfo) {
  110. $data["updatetime"] = time();
  111. $res = Db::name('user_alipay')->where(["user_id"=>$userId])->update($data);
  112. } else {
  113. $data["user_id"] = $userId;
  114. $data["createtime"] = time();
  115. $res = Db::name('user_alipay')->insertGetId($data);
  116. }
  117. if($res) {
  118. $this->success("支付宝绑定成功!");
  119. } else {
  120. $this->error("网络异常,请稍后重试!");
  121. }
  122. }
  123. /**
  124. * 获取绑定银行卡信息
  125. */
  126. public function getAlipayInfo() {
  127. // 查询是否有过绑定
  128. $alipayInfo = Db::name('user_alipay')->where(["user_id"=>$this->auth->id])->find();
  129. $this->success("获取成功!",$alipayInfo);
  130. }
  131. }