track($params['express_no'], $params['express_code'], '', $params['customer_name'], $params['id'], $request_type); $list = (Json::decode($list, true)); if (isset($list['Success']) && $list['Success'] == true) {//成功 $params['express_status'] = $list['State']; if ($list['State'] == ExpressEnum::EXPRESS_ALREADY_SIGN) { $params['table_express_status'] = ExpressEnum::TABLE_EXPRESS_SUCCESS; } $params['list'] = Json::encode($list); } return $params; } catch (\Exception $e) { self::setStaticError('物流更新任务处理出错:' . $e->getMessage()); return false; } } /** * 阿里云 * @param array $params * @return array|false */ public static function getExpressAliyun(array $params) { try { $service = (new ApiService()); $res = $service->getLogistics($params); if (!$res) throw new \Exception($service->getError()); if (is_string($res)) throw new \Exception($res); $res['Traces'] = $res['list'] ?? []; if (!empty($res['Traces'])) { foreach ($res['Traces'] as &$item) { $item['AcceptStation'] = $item['status']; $item['AcceptTime'] = $item['time']; } } return [ 'list' => Json::encode($res), 'id' => $params['id'], 'express_status' => $res['deliverystatus'] ?? 1, 'table_express_status' => ($res['issign'] ?? 0) == 1 ? ExpressEnum::TABLE_EXPRESS_SUCCESS : ExpressEnum::TABLE_EXPRESS_WAIT, ]; } catch (\Exception $e) { self::setStaticError('物流更新任务处理出错:' . $e->getMessage()); return false; } } }