param_data; $param['user_data'] = $request->user_data; Db::beginTransaction(); try { Validator::input($param, [ 'affiliated_bank' => Validator::notEmpty()->stringType()->setName('归属银行'), 'account_holder' => Validator::notEmpty()->stringType()->setName('开户人'), 'card_number' => Validator::notEmpty()->setName('银行卡号'), ]); BankCardBusiness::UpData($param); } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success(); } #[Apidoc\Title("领取银行卡")] #[Apidoc\Url("api/card/receive_card.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param("name", type: "string", require: true, desc: "姓名", mock: "")] #[Apidoc\Param("number", type: "string", require: true, desc: "身份证", mock: "")] #[Apidoc\Param("mobile", type: "string", require: true, desc: "手机号", mock: "")] #[Apidoc\Param("address", type: "string", require: true, desc: "地址", mock: "")] public function receiveCard(Request $request) { Db::beginTransaction(); try { $param = $request->param_data; $param['user_data'] = $request->user_data; Validator::input($param, [ ]); $datalist = Db::table('wa_user_social_cark') ->where('user_id', $param['user_data']['id']) ->where('type', 1) ->first(); if ($datalist) { throw new \Exception('已经领取,请不要重复操作!'); } $card_num = generateBankAccountNumber(); Db::table('wa_user_social_cark')->insert([ 'type' => 1, 'user_id' => $param['user_data']['id'], 'card_num' => $card_num, 'password' => $param['user_data']['password'], 'name' => Arr::get($param, 'name', $param['user_data']['name']), 'number' => Arr::get($param, 'number', ''), 'address' => Arr::get($param, 'address', ''), 'mobile' => Arr::get($param, 'address', $param['user_data']['mobile']), 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), 'addtime' => time(), ]); Db::table('wa_users')->where('id', $param['user_data']['id'])->update(['card_code' => $card_num]); } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success([ 'card_num' => $card_num, 'name' => Arr::get($param, 'name', $param['user_data']['name']), 'number' => Arr::get($param, 'number', ''), 'address' => Arr::get($param, 'address', ''), 'mobile' => Arr::get($param, 'mobile', $param['user_data']['mobile']), ], '领取成功'); } #[Apidoc\Title("银行卡详情")] #[Apidoc\Url("api/card/card_details.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param("type", type: "int", require: false, desc: "类型", mock: '默认:1')] #[Apidoc\Returned(name: "id", type: "string", require: true, desc: 'ID', default: '132')] #[Apidoc\Returned(name: "card_num", type: "string", require: true, desc: '卡号', default: '132')] #[Apidoc\Returned(name: "name", type: "string", require: true, desc: '名称', default: '132')] #[Apidoc\Returned(name: "status_name", type: "string", require: true, desc: '制卡进度', default: '132')] #[Apidoc\Returned(name: "money", type: "string", require: true, desc: '卡余额', default: '132')] public function cardDetails(Request $request) { Db::beginTransaction(); try { $param = $request->param_data; $param['user_data'] = $request->user_data; $datalist = Db::table('wa_user_social_cark') ->where('user_id', $param['user_data']['id']) ->where('type', 1) ->first(); $status_name = ''; if ($datalist) { //状态:1=审核,2=审核完成,3=正在制卡,4=制卡完成,5=等待邮 if ($datalist->status == 1) { $status_name = '正在制卡中,请耐心等待邮寄'; } elseif ($datalist->status == 2) { $status_name = '审核中/审核完成/待制卡'; } elseif ($datalist->status == 3) { $status_name = '审核中/审核完成/正在制卡'; } elseif ($datalist->status == 4) { $status_name = '审核中/审核完成/正在制卡/制卡完成'; } elseif ($datalist->status == 5) { $status_name = '审核中/审核完成/正在制卡/制卡完成/等待邮寄'; } elseif ($datalist->status == 6) { $status_name = '审核中/审核完成/正在制卡/制卡完成/等待邮寄/已发货'; } if($datalist->is_binding!=1){ $datalist->card_num = '8888888888888888888'; } $datalist->status_name = $status_name; $datalist->goods_img = imageToBase64($datalist->goods_img); $datalist->money = $param['user_data']['money_five']; } } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success($datalist, '获取成功'); } #[Apidoc\Title("银行卡地址编辑")] #[Apidoc\Url("api/card/card_address.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param("id", type: "int", require: true, desc: "ID", mock: "2")] public function cardAddress(Request $request) { $param = $request->param_data; $param['user_data'] = $request->user_data; Db::beginTransaction(); try { Validator::input($param, [ 'id' => Validator::notEmpty()->setName('id'), ]); $datalist = Db::table('wa_user_social_cark') ->where('user_id', $param['user_data']['id']) ->where('id', $param['id']) ->first(); if (!$datalist) { throw new \Exception('非法操作'); } Db::table('wa_user_social_cark')->where('id', $datalist->id)->update([ 'mobile' => Arr::get($param, 'mobile', $param['user_data']['mobile']), 'name' => Arr::get($param, 'name', $datalist->name), 'number' => Arr::get($param, 'number', $datalist->number), 'address' => Arr::get($param, 'address', $datalist->address), 'updated_at' => date('Y-m-d H:i:s'), ]); } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success([], '操作成功'); } #[Apidoc\Title("设置银行卡支付密码")] #[Apidoc\Url("api/card/card_pass.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param(name: "id", type: "int", require: true, desc: '卡ID', default: '1')] #[Apidoc\Param(name: "pass_one", type: "int", require: true, desc: '新密码', default: '1')] #[Apidoc\Param(name: "pass_two", type: "int", require: true, desc: '确定密码', default: '1')] public function cardPass(Request $request) { Db::beginTransaction(); try { $param = Arr::only($request->param_data, ['pass_one', 'pass_two', 'id']); $param['url'] = $request->header('origin'); $param['user_data'] = $request->user_data; Validator::input($param, [ 'id' => Validator::notEmpty()->setName('ID'), 'pass_one' => Validator::notEmpty()->setName('新密码'), 'pass_two' => Validator::notEmpty()->setName('确定密码'), ]); if ($param['pass_one'] != $param['pass_two']) { throw new \Exception('两次输入密码不一致!'); } Db::table('wa_user_social_cark') ->where('user_id', $param['user_data']['id']) ->where('id', $param['id']) ->update(['password' => md5($param['pass_one'])]); } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success([], '修改成功'); } #[Apidoc\Title("绑定卡号")] #[Apidoc\Url("api/card/card_binding.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param(name: "id", type: "int", require: true, desc: '卡ID', default: '1')] #[Apidoc\Param(name: "card_num", type: "int", require: true, desc: '卡号', default: '1')] public function cardBinding(Request $request) { Db::beginTransaction(); try { $param = $request->param_data; $param['url'] = $request->header('origin'); $param['user_data'] = $request->user_data; Validator::input($param, [ 'id' => Validator::notEmpty()->setName('ID'), 'card_num' => Validator::notEmpty()->setName('卡号'), ]); Db::table('wa_user_social_cark') ->where('user_id', $param['user_data']['id']) ->where('id', $param['id']) ->update(['card_num' =>$param['card_num'],'is_binding'=>1,'binding_time'=>date('Y-m-d H:i:s')]); } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success([], '修改成功'); } }