Browse Source

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

master
wanghongjun 12 months ago
parent
commit
7f3cc021ab
  1. 105
      app/service/webService/ChinaTaxes1.php

105
app/service/webService/ChinaTaxes1.php

@ -17,7 +17,7 @@ class ChinaTaxes1
protected $apiUrl;
protected $my = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuc3JzYmgiOiI2MjAxMDQ3NzQ0MTk4NVgiLCJpc3MiOiJTU1NIR1oiLCJkanhoIjoiMTAxMTQ0MDMwMDAwMjY0NzE2NzQiLCJzdGFydFRpbWUiOiIiLCJ1bmRUaW11IjoiMjAyMi0wNi0zMCAxODowNDo0MSIsImV4cCI6MTY1NjU4MzQ4MSwic3BqZyI6IjEifQ.Ho0H43DxSGDmydHamMABRampNaNTu3K5vJwTJzoLAMA';
protected $xmlType = 2;
protected $paramType = 1;
protected $paramType = '01';
/**
* @throws FuncException
*/
@ -309,20 +309,11 @@ class ChinaTaxes1
'gj' => '156', // 国籍
];
$this->xmlType = 5;
$this->paramType = '07';
$param = $this->getParamData('SSGZ_GZPT_SZQKL_SFJYJK', $body);
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));
$result = $this->json_curl(json_encode($param));
@ -339,28 +330,31 @@ ZipBase64RequestBw>';
$body = [
'gzxxList' => [
'gzxxVO' => [
'my' => $this->my // 密钥,数字签名校验和资格校验
'nsrlx' => '1', // 2 非自然人、1 自然人
'yhbh' => '41108008', // 水司的用户编号
'nsrsbh' => '91440300772709730N', // 传输类型为单位不可以为空
'nsrmc' => '深圳市大工业区水务有限公司', // 不可为空
'zjhm' => '412826198307167158', // 传输类型为自然人,不可以为空
'zjlx' => '201', // 传输类型为自然人,不可以为空,添加证件类型代码 999
'gj' => '156', // 国籍
'username' => '李冲', // 用户名称
'skyhmc' => '农业银行', // 托收银行
'yhzh' => '6228480120759512318', // 银行账号
'lxdz' => '龙田街道竹坑社区聚龙二期4栋2904', // 用户地址
'lxfs' => '13528899213', // 联系方式
'sbpch' => '101144030000264716742412W0000003', // 申报批次号
],
'nsrlx' => '1', // 2 非自然人、1 自然人
'yhbh' => '41108008', // 水司的用户编号
'nsrsbh' => '91440300772709730N', // 传输类型为单位不可以为空
'nsrmc' => '深圳市大工业区水务有限公司', // 不可为空
'zjhm' => '412826198307167158', // 传输类型为自然人,不可以为空
'zjlx' => '201', // 传输类型为自然人,不可以为空,添加证件类型代码 999
'gj' => '156', // 国籍
'username' => '李冲', // 用户名称
'skyhmc' => '农业银行', // 托收银行
'yhzh' => '6228480120759512318', // 银行账号
'lxdz' => '龙田街道竹坑社区聚龙二期4栋2904', // 用户地址
'lxfs' => '13528899213', // 联系方式
'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));
$result = $this->json_curl(json_encode($param));
return $this->resultXml($result, '');
@ -486,9 +480,6 @@ ZipBase64RequestBw>';
'timestamp' => time(),// unix 时间戳
'data' => [],
];
if ($this->paramType == 3) {
$data['token'] = $this->accessToken;
}
$data['data'] = [
'bizXml' => $this->bizXml($body)
];
@ -546,11 +537,12 @@ ZipBase64RequestBw>';
*/
protected function bizXml($body, $type = 0): string
{
$paramType = $this->paramType;
$start = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SZQKLDZSPSB0001ZipBase64RequestBw
<SZQKLDZSPSB000'.$paramType.'ZipBase64RequestBw
xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">';
$start1 = '<SZQKLDZSPSB0001ZipBase64RequestBw>';
$end = '</SZQKLDZSPSB0001ZipBase64RequestBw>';
$start1 = '<SZQKLDZSPSB00'.$paramType.'ZipBase64RequestBw>';
$end = '</SZQKLDZSPSB00'.$paramType.'ZipBase64RequestBw>';
$xml = '';
$xml2 = '';
foreach ($body as $key => $value) {
@ -577,6 +569,11 @@ xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">';
return $start1 . $this->enCompressXml($xml) . $end;
}
if ($this->xmlType == 4) {
dump($xml);
return $start1 . $this->enCompressXml($start . $xml . $end) . $end;
}
if ($this->xmlType == 5) {
dump($xml);
@ -593,6 +590,48 @@ xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">';
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

Loading…
Cancel
Save