123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- namespace Util\KDNiao;
- use Mall\Framework\Core\ResultWrapper;
- use Mall\Framework\Core\ErrorCode;
- use Mall\Framework\Factory;
- class KDNiaoQuery
- {
-
- private $baseUrl = '';
-
- private $EBusinessID = '';
-
- private $key = '';
-
- private $kdniaoQueryKey = 'kdniaoQuery';
- public function __construct($EBusinessID='', $key = '')
- {
- $this->EBusinessID = $EBusinessID;
- $this->key = $key;
- }
-
- public function EbusinessOrderHandle($params)
- {
- if(empty($params['com']) || empty($params['num'])){
- return ResultWrapper::fail('请求参数为空', ErrorCode::$paramError);
- }
- $requestData = json_encode([
- 'ShipperCode' => $params['com'],
- 'LogisticCode' => $params['num'],
- ]);
- $postData = [
- 'EBusinessID' => $this->EBusinessID,
- 'RequestType' => '1002',
- 'DataType' => 2,
- 'RequestData' => urlencode($requestData),
- ];
- $postData['DataSign'] = urlencode(base64_encode(md5($requestData.$this->key)));
- $pollQueryData = Factory::cache('default')->get($this->kdniaoQueryKey.':'.$params['num']);
- if (!empty($pollQueryData)) {
- return ResultWrapper::success($pollQueryData);
- }
- $response = request('http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx', $postData, 30, true);
- if ($response['httpcode'] != 200) {
- return ResultWrapper::fail('请求外部系统接口报错', ErrorCode::$apiNotResult);
- }
- $responseData = json_decode($response['content'], true);
- if(!$responseData['Success']){
- return ResultWrapper::fail($responseData['Reason'], ErrorCode::$notAllowAccess);
- }
- Factory::cache('default')->set($this->kdniaoQueryKey . ':' . $params['num'], $response['content'], 3600);
- return ResultWrapper::success($response['content']);
- }
-
- public function getState($state)
- {
- $satateData = [
- 2 => '在途',
- 3 => '签收',
- 4 => '问题件'
- ];
- return isset($satateData[$state]) ? $satateData[$state] : '';
- }
- }
|