| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Modes\Area;
- use App\Modes\User;
- use App\Modes\UserBank;
- use App\Rules\BankNum;
- use App\Rules\IdCard;
- use App\Rules\Phone;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- class UserBankController extends Controller
- {
- /**
- * 银行卡列表
- * @author lyh
- * @date 2019/3/22
- * @description
- */
- public function index()
- {
- return showJsonSucc('获取银行卡列表成功', UserBank::getList([['=' => ['uid' => \Auth::id()]]]));
- }
- /**
- * 添加银行卡
- * @author lyh
- * @date 2019/3/21
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- */
- public function edit(Request $request)
- {
- $validator = \Validator::make($param = $request->post(), [
- 'id' => 'exists:user_bank,id',
- 'username' => 'required_without_all:id|string',
- 'phone' => ['required_without_all:id', new Phone],
- 'bank_name' => 'required_without_all:id|string',
- 'sms' => 'required|string|min:4',
- //'bank_number' => [new BankNum]
- ]);
- if ($validator->fails()) {
- return showJson(102, $validator->errors()->first());
- }
-
- $userBankParam = array_filter($param, function ($v, $k) {
- return !empty($v) && in_array($k, [
- 'username',
- 'phone',
- 'bank_number',
- 'bank_name',
- 'province',
- 'city',
- 'district'
- ]);
- }, ARRAY_FILTER_USE_BOTH);
-
-
- // 如果是新增银行卡号则判断是否存在银行卡号
- // if (empty($param['id'])) {
- // if (UserBank::where('bank_number', $param['bank_number'])->exists()) {
- // return showJsonErr('银行卡号已存在');
- // }
- // }
- //
- // if (isset($param['province'])) {
- // if (Area::isRealation($param['province'], $param['city'], $param['district']) == false) {
- // return showJsonErr('地区关系错误');
- // }
- // }
- $userBankParam['status'] = 2;
- $userBankParam['uid'] = \Auth::id();
-
- // 验证短信
- $userBankParam['phone'] = $param['phone'] ?? UserBank::find($param['id'])->phone;
- $smsProvider = \App::make('sms');
- $sms = $smsProvider->verifySms($userBankParam['phone'], $param['sms']);
- if ($sms == false) {
- return showJson(102, '短信验证码错误');
- }
- if (isset($param['id'])) {
- /*if (UserBank::whereId($param['id'])->whereIn('status', [1, 2])->exists()) {
- return showJsonErr('银行卡未审核或已审核');
- }*/
- UserBank::whereId($param['id'])->update($userBankParam);
- } else {
- if (!($param['id'] = UserBank::insertGetId($userBankParam))) {
- return showJsonErr('添加银行卡信息失败');
- }
- }
- return showJsonSucc('编辑银行卡数据成功', UserBank::find($param['id']));
- }
- /**
- * 解绑银行卡
- * @author lyh
- * @date 2019/4/11
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @throws \Exception
- * @description
- */
- public function unbundle(Request $request)
- {
- $validator = \Validator::make($param = $request->post(), [
- 'id' => 'required|exists:user_bank,id',
- 'sms' => 'required|string|min:4',
- ]);
- if ($validator->fails()) {
- return showJson(102, $validator->errors()->first());
- }
- $bank = UserBank::find($param['id']);
- if ($bank->status != 2) {
- return showJson(102, '抱歉,银行卡审核未通过');
- }
- // 验证短信
- $smsProvider = \App::make('sms');
- $sms = $smsProvider->verifySms($bank->phone, $param['sms']);
- if ($sms == false) {
- return showJson(102, '短信验证码错误');
- }
- if (empty(UserBank::whereId($param['id'])->delete())) {
- return showJsonErr('解绑失败');
- }
- return showJsonSucc('解绑成功');
- }
-
- }
|