From 0dca8ffadd3beccba025e643d21b60c6eb903ab2 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Mon, 17 Jul 2023 18:03:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/JunziqianController.php | 149 +++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 app/api/controller/JunziqianController.php diff --git a/app/api/controller/JunziqianController.php b/app/api/controller/JunziqianController.php new file mode 100644 index 000000000..cd5abd5a7 --- /dev/null +++ b/app/api/controller/JunziqianController.php @@ -0,0 +1,149 @@ +SigningLink()); + } + /** + * 填充签名数据 + * @param $req array + */ + public function fillSign($req) + { + /**默认加密方式:不输入使用sha256,其它可选择项md5,sha1,sha3-256*/ + $ts = time(); + if ($this->tsType == 1) { + $ts = $ts * 1000; + } + $sign = null; + $nonce = md5($ts . ""); + $signSrc = "nonce" . $nonce . "ts" . $ts . "app_key" . $this->appkey . "app_secret" . $this->appSecret; + if ($this->encryMethod == null || $this->encryMethod == "sha256") { + $sign = ShaUtils::getSha256($signSrc); + } else if ($this->encryMethod == "sha1") { + $sign = ShaUtils::getSha1($signSrc); + } else if ($this->encryMethod == "md5") { + $sign = md5($signSrc); + } else { + throw new ResultInfoException($this->encryMethod . ",必须为md5,sha1,sha256之一", "PARAM_ERROR"); + } + $req['ts'] = $ts; + $req['app_key'] = $this->appkey; + $req['sign'] = $sign; + $req['nonce'] = $nonce; //这只是为了生成一个随机值 + if ($this->encryMethod != null) { + $req['encry_method'] = $this->encryMethod; //为''也不能传 + } + return $req; + } + + //企业实名认证上传 + + public function EnterpriseCertification() + { + $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); + //CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。 + //初始化合同参数 + $request = new OrganizationCreateReq(); + $request->name = "泸州市海之农科技有限公司"; + $request->identificationType = 1; + $request->organizationType = 0; + $request->organizationRegNo = "91510502MAC6KM5Q8M"; + $request->organizationRegImg = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/561f8202305171526091317.png'; //new CURLFile('D:/tmp/test.png',null,"test.png"); + $request->legalName = "宋其学"; //法人 + $request->legalIdentityCard = "5002401XXXXXXXXX"; //法人证件号 + $request->legalMobile = "18982406440"; + //发起创建企业请求 + $response = $requestUtils->doPost("/v2/user/organizationCreate", $request); + return $this->success('', (array)$response); + } + + //企业实名认证状态查询 + public function StatusQuery() + { + $param = Request()->param(); + $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); + //初始化合同参数 + $request = array( + "emailOrMobile" => $param['email'], //TODO * + ); + //发起请求 + $response = $requestUtils->doPost("/v2/user/organizationAuditStatus", $request); + return $this->success('', (array)$response); + } + + //企业自定义公章 + public function Custom_seal() + { + $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); + //初始化合同参数 + $request = array( + "signName" => "500XXXXXXXXXXXX", //TODO * + "email" => "500XXXXXXXXXXXX", //TODO 不传则保存在商户下,传入注册的邮箱则上传到指定邮箱企业名下 + "signImgFile" => new CURLFile('D:/tmp/test.png', null, "test.png"), + ); + $response = $requestUtils->doPost("/v2/user/uploadEntSign", $request); + return $this->success('', (array)$response); + } + //签约 + public function Signing() + { + $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); + //CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。 + //初始化合同参数 + $request = new ApplySignReq(); + $request->contractName = "合同名称"; + $request->signatories = json_encode([ + ['fullName' => '小米', 'identityType' => 1, 'identityCard' => '5002401XXXXXXXXX', 'mobile' => 18982406440,'noNeedVerify'=>1,'signLevel'=>1] + ]); + $request->serverCa = 1; //自动签 + $request->fileType = 1; + $request->url = "https://dev.lihaink.cn/storage/202307/acbba88e77392348d3a8a4a1fdf210f1.pdf"; + //发起PING请求 + $response = $requestUtils->doPost("/v2/sign/applySign", $request); + return $this->success('', (array)$response); + } + + public function SigningLink() + { + //构建请求工具 + $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); + + //初始化合同参数 + $request = array( + "applyNo" => "APL1680880011001217024", //TODO * + "fullName" => "小米", //TODO * + "identityCard" => "5002401XXXXXXXXX", //TODO * + "identityType" => 1, //TODO * + ); + $response = $requestUtils->doPost("/v2/sign/link", $request); + return $this->success('', (array)$response); + } +}