get(); $data = $this->model->where("agent_id",$request->user['shop_id'])->findOrEmpty(); if ($data->isEmpty()) { $data = null; } else { $data['logo'] = "https://apimg.alipay.com/combo.png?d=cashier&t={$data['bank']}"; $data['user_name_hide'] = hide_str($data['user_name'],1); $data['card_id_hide'] = hide_str($data['card_id'],3,10); } $city = json_decode(file_get_contents(public_path()."/city.json"),true); if (empty($param['shop'])) { $param['shop'] = $request->user['shop_id']; } $list = $this->service->getList($param); $list = pageFormat($list); return success("ok",compact("data",'city','list')); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } /** * 新增银行卡 * @param Request $request * @return Response */ #[Route(path: "save",methods: "post")] public function setUserCard(Request $request): Response { try { $param = $request->post(); $card = $this->model->where("agent_id",$request->user['shop_id'])->findOrEmpty(); if (!$card->isEmpty()) return error("请勿重复添加"); if ($param['type'] == 2) { $memberId = $this->model->where("member_id",$param['data_id'])->field("member_id,user_name,cert_id,tel_no,bank,card_id,valid_from,valid_until,card_prov_code,card_area_code,card_city_name")->findOrEmpty(); if ($memberId->isEmpty()) return errorTrans("empty.data"); $memberId['agent_id'] = $request->user['shop_id']; $state = $card->strict(false)->insertGetId($memberId->toArray()); } else { if (empty($param['card_city'])) return error("请选择开户地区"); $param['card_prov_code'] = $param['card_city'][0]; $param['card_area_code'] = $param['card_city'][1]; $param['card_city'] = json_encode($param['card_city']); $resp = $this->validate->scene("add")->check($param); if (!$resp) return error($this->validate->getError()); $bankAli = json_decode(file_get_contents("https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo={$param['card_id']}&cardBinCheck=true"),true); if (!$bankAli['validated']) return error("银行卡号有误"); if ($param['valid_from'] >= $param['valid_until']) return error("身份证有效期有误"); $param['bank'] = $bankAli['bank']; $param['agent_id'] = $request->user['shop_id']; $param['member_id'] = CodeExtend::random(18); $respJhf = (new Pay)->config([ "appid" => sConf("wechat.jhf_appid"), "mch_id" => sConf("wechat.jhf_mch_id"), "aeskey" => sConf("wechat.jhf_aeskey"), "pubkey" => sConf("wechat.jhf_pubkey"), "prikey" => sConf("wechat.jhf_prikey"), ])->createMember([ "app_id" => sConf("wechat.jhf_appid"), "member_id" => $param['member_id'], "member_type" => "01", "member_p" => [ "user_name" => $param['user_name'], "cert_id" => $param['cert_id'], "tel_no" => $param['tel_no'], "card_id" => $param['card_id'], "valid_from" => $param['valid_from'], "valid_until" => ($param['valid_until']=='20990101')?"99991231":$param['valid_until'], "card_prov_code" => $param['card_prov_code'], "card_area_code" => $param['card_area_code'] ] ]); if (isset($respJhf['code'])) return error($respJhf['error_msg']); // 推送绑定 $state = $card->strict(false)->insertGetId($param); } if (!$state) return errorTrans("error.data"); return successTrans("success.data"); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } }