Browse Source

不保存base64数据的pdf,直接返回路径

master
wanghongjun 1 year ago
parent
commit
7f3cc021ab
  1. 81
      app/service/webService/ChinaTaxes1.php

81
app/service/webService/ChinaTaxes1.php

@ -17,7 +17,7 @@ class ChinaTaxes1
protected $apiUrl; protected $apiUrl;
protected $my = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuc3JzYmgiOiI2MjAxMDQ3NzQ0MTk4NVgiLCJpc3MiOiJTU1NIR1oiLCJkanhoIjoiMTAxMTQ0MDMwMDAwMjY0NzE2NzQiLCJzdGFydFRpbWUiOiIiLCJ1bmRUaW11IjoiMjAyMi0wNi0zMCAxODowNDo0MSIsImV4cCI6MTY1NjU4MzQ4MSwic3BqZyI6IjEifQ.Ho0H43DxSGDmydHamMABRampNaNTu3K5vJwTJzoLAMA'; protected $my = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuc3JzYmgiOiI2MjAxMDQ3NzQ0MTk4NVgiLCJpc3MiOiJTU1NIR1oiLCJkanhoIjoiMTAxMTQ0MDMwMDAwMjY0NzE2NzQiLCJzdGFydFRpbWUiOiIiLCJ1bmRUaW11IjoiMjAyMi0wNi0zMCAxODowNDo0MSIsImV4cCI6MTY1NjU4MzQ4MSwic3BqZyI6IjEifQ.Ho0H43DxSGDmydHamMABRampNaNTu3K5vJwTJzoLAMA';
protected $xmlType = 2; protected $xmlType = 2;
protected $paramType = 1; protected $paramType = '01';
/** /**
* @throws FuncException * @throws FuncException
*/ */
@ -309,20 +309,11 @@ class ChinaTaxes1
'gj' => '156', // 国籍 'gj' => '156', // 国籍
]; ];
$this->xmlType = 5; $this->paramType = '07';
$param = $this->getParamData('SSGZ_GZPT_SZQKL_SFJYJK', $body); $param = $this->getParamData('SSGZ_GZPT_SZQKL_SFJYJK', $body);
dump($param); dump($param);
$param['data']['bizXml'] = '<SZQKLDZSPSB0007ZipBase64RequestBw>H4sIAAAAAAAAAO2Uy27TQBSG10XiHYxXsLBnxpe0jhxXRKgs6n BLQSibyJmY2FV8IWNih10rCipU{r}{n}bKgKqkCsuKyqRkiAAo/TqfsYjMclCpBFxQ6J1fz/zDnH3z+Sx1zOgr4wdAfEj8KaiGQoCm6Io
64f{r}{n}9mri7bUVaUlcts6fMy9IUr778W7DbsYjYahApAokRkeTD/nu23z/kcBOjveeHH37fNFLkrgKQJqm{r}{n}stNPoqEj4yi4JEn
FlMTJGraQEb+ajGK3JjZbN1ftK63mjWYdQrjY8uO6Q9yKdsu9/8AlST0VhU7H{r}{n}Y3XJgAGJAoP9zQZ4xrK5BHtu4NgRdhKeaIY
Ge37oMAK5Fw1lHIIuMyR2MRDWCqx62p7itAua9p84{r}{n}cka6/LMhOdvo0+IqQ/ulIVXlaNADCoQIFJfKqSU/JIkTYldkd7Vgknt
ZZvskKUzp7lznesEMyaCf{r}{n}WYoJSlFujryOZyHVBFxMCwkzhqJpUIWwcVlfuWroUL3GW8lsXYCt4y9j+voT/bpJD97Qg226M8m
/{r}{n}v8qfb9OtMT3cpzt79P1j+mKDTl7ydtZRdj9c9wJL1yBSFpGh60hBqq5WlkzAD37WFMQQFZtT5N66{r}{n}hfSKCdjKQ4KZlP
8TF0HRvMTavMRz8508HZ88e0e3Dv8aX/mX8Q3DOCt+qU//NxPwl4qpHyKnwUoh{r}{n}BQAA</SZQKLDZSPSB0007
ZipBase64RequestBw>';
dump(json_encode($param)); dump(json_encode($param));
$result = $this->json_curl(json_encode($param)); $result = $this->json_curl(json_encode($param));
@ -339,8 +330,6 @@ ZipBase64RequestBw>';
$body = [ $body = [
'gzxxList' => [ 'gzxxList' => [
'gzxxVO' => [ 'gzxxVO' => [
'my' => $this->my // 密钥,数字签名校验和资格校验
],
'nsrlx' => '1', // 2 非自然人、1 自然人 'nsrlx' => '1', // 2 非自然人、1 自然人
'yhbh' => '41108008', // 水司的用户编号 'yhbh' => '41108008', // 水司的用户编号
'nsrsbh' => '91440300772709730N', // 传输类型为单位不可以为空 'nsrsbh' => '91440300772709730N', // 传输类型为单位不可以为空
@ -355,12 +344,17 @@ ZipBase64RequestBw>';
'lxfs' => '13528899213', // 联系方式 'lxfs' => '13528899213', // 联系方式
'sbpch' => '101144030000264716742412W0000003', // 申报批次号 'sbpch' => '101144030000264716742412W0000003', // 申报批次号
], ],
],
'my' => $this->my // 密钥,数字签名校验和资格校验
]; ];
//$this->xmlType = 5;
$param = $this->getParamData('SSGZ_GZPT_SZQKL_SB_XNHGZ', $body); $param = $this->getParamData('SSGZ_GZPT_SZQKL_SB_XNHGZ', []);
$param['data']['bizXml'] = $this->bizxml2($body);
dump($param);dump(json_encode($param)); dump($param);dump(json_encode($param));
$result = $this->json_curl(json_encode($param)); $result = $this->json_curl(json_encode($param));
return $this->resultXml($result, ''); return $this->resultXml($result, '');
@ -486,9 +480,6 @@ ZipBase64RequestBw>';
'timestamp' => time(),// unix 时间戳 'timestamp' => time(),// unix 时间戳
'data' => [], 'data' => [],
]; ];
if ($this->paramType == 3) {
$data['token'] = $this->accessToken;
}
$data['data'] = [ $data['data'] = [
'bizXml' => $this->bizXml($body) 'bizXml' => $this->bizXml($body)
]; ];
@ -546,11 +537,12 @@ ZipBase64RequestBw>';
*/ */
protected function bizXml($body, $type = 0): string protected function bizXml($body, $type = 0): string
{ {
$paramType = $this->paramType;
$start = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?> $start = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SZQKLDZSPSB0001ZipBase64RequestBw <SZQKLDZSPSB000'.$paramType.'ZipBase64RequestBw
xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">'; xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">';
$start1 = '<SZQKLDZSPSB0001ZipBase64RequestBw>'; $start1 = '<SZQKLDZSPSB00'.$paramType.'ZipBase64RequestBw>';
$end = '</SZQKLDZSPSB0001ZipBase64RequestBw>'; $end = '</SZQKLDZSPSB00'.$paramType.'ZipBase64RequestBw>';
$xml = ''; $xml = '';
$xml2 = ''; $xml2 = '';
foreach ($body as $key => $value) { foreach ($body as $key => $value) {
@ -577,6 +569,11 @@ xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">';
return $start1 . $this->enCompressXml($xml) . $end; return $start1 . $this->enCompressXml($xml) . $end;
} }
if ($this->xmlType == 4) {
dump($xml);
return $start1 . $this->enCompressXml($start . $xml . $end) . $end;
}
if ($this->xmlType == 5) { if ($this->xmlType == 5) {
dump($xml); dump($xml);
@ -593,6 +590,48 @@ xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">';
return $this->enCompressXml($xml); return $this->enCompressXml($xml);
} }
/**
* 循环处理bizXml数据
* @param $body
* @param $type
* @return string
*/
protected function bizXmlStr($body, $type = 1)
{
$xml = '';
foreach ($body as $key => $value) {
if (is_array($value)) {
if ($type == 2) {
$xml .= "<ns2:{$key}>" . $this->bizXmlStr($value, $type) . "</ns2:{$key}>";
} else {
$xml .= "<$key>" . $this->bizXmlStr($value, $type) . "</$key>";
}
} else {
$xml .= "<$key>$value</$key>";
}
}
return $xml;
}
/**
* 3.14 接口特殊处理
* @param $body
* @return string
*/
protected function bizxml2($body)
{
$startXml = '<?xml version="1.0" encoding="UTF-8"?>
<!--用XMLSpy v2013 sp1产生的 XML文件(http://www.altova.com)-->
<taxML xsi:type="SZQKLDZSPSB0010ZipBase64RequestBw" bbh="String" xmlbh="String" xmlmc="String" xsi:schemaLocation="http://www.chinatax.gov.cn/dataspec/ TaxMLBw_SZQKLDZSP_0010_ZipBase64RequestBw.xsd" xmlns="http://www.chinatax.gov.cn/dataspec/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">';
$endXml = '</taxML>';
$xml = $this->bizXmlStr($body);
dump($body);dump($xml);
$enCompressXml = $this->enCompressXml($startXml . $xml . $endXml);
return '<SZQKLDZSPSB0010ZipBase64RequestBw>' . $enCompressXml . '</SZQKLDZSPSB0010ZipBase64RequestBw>';
}
/** /**
* *
* @param $mxGrid * @param $mxGrid

Loading…
Cancel
Save