['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('解绑成功'); } }