源平台查询适配器负责与源平台的数据查询接口进行交互,主要包括三个方法:dispatch
、handleResponse
和connect
。
dispatch
)调度方法用于初始化查询,生成请求参数,并将请求加入队列。
<?php
namespace Adapter\PlatformName;
use Domain\Datahub\Instance\Adapter\Adapter;
use Adapter\PlatformName\SDK\PlatformNameSDK;
class PlatformNameAdapter extends Adapter
{
const DIRECTION = 'source';
public function dispatch()
{
$this->setVariable('PAGINATION_START_PAGE', 1);
$request = $this->generateRequestParams();
$jobId = $this->getAsynSourceJobStorage()->insertOne($this->metaData['api'], $request);
$this->asynSourceJob(0, $jobId);
return ['status' => true, 'content' => $jobId];
}
}
handleResponse
)处理响应方法用于处理源平台返回的数据,包括检查响应状态、解析数据并存储,以及处理分页逻辑。
public function handleResponse(array $response, $jobId = null)
{
if ($response['code'] != 200) {
return $this->handleError($response, $jobId);
}
$listKey = !empty($this->metaData['otherResponse']) ? $this->metaData['otherResponse'][0]['value'] : 'rows';
foreach ($response['data'][$listKey] as $obj) {
$id = $this->getDataKeyValue($obj, $this->metaData['id']);
$number = $this->getDataKeyValue($obj, $this->metaData['number']);
$this->getDataStorage()->insertOne($id, $number, $obj, $this->metaData['idCheck'], $jobId);
}
if ($response['data']['page'] * $response['data']['size'] < $response['data']['total']) {
$this->invokeRequest['page'] += 1;
$nid = $this->getAsynSourceJobStorage()->insertOne($this->metaData['api'], $this->invokeRequest);
$this->asynSourceJob(5, $nid);
}
return true;
}
connect
)连接方法用于实例化并连接到SDK,确保与源平台的通信。
public function connect()
{
if ($this->SDK != null) return;
$connector = ConnectorRepository::findOne($this->strategy[$this->direction]->connector_id);
$env = 'env_' . $connector->env . '_params';
$this->SDK = new PlatformNameSDK($connector->$env, $connector->env);
return $this->SDK->connection();
}
通过这种方式,代码变得更加清晰、简洁,并且易于理解。同时,确保了所有必要的功能和逻辑都得以保留和执行。
2021-06-18 01:54:25 | |
2022-12-02 01:33:36 | |
2021-11-05 08:20:29 | |
2024-11-06 17:50:48 | |
2021-04-27 08:44:51 | |
2024-12-09 05:52:08 | |
2024-12-07 00:43:00 | |
2022-03-12 17:01:39 | |
2025-01-13 11:27:00 | |
2024-05-04 23:01:29 | |
2021-02-27 03:39:21 | |
2025-04-06 11:26:24 | |
2024-03-10 11:07:51 | |
2023-08-27 11:28:30 | |
2024-09-09 09:15:11 | |
2025-03-05 11:26:23 | |
2024-11-10 14:10:48 | |
2024-10-31 18:15:40 | |
2024-12-24 11:25:38 | |
2021-05-01 10:29:37 | |
2024-03-03 08:10:56 | |
2024-03-03 07:53:35 | |
2024-03-03 07:41:23 | |
2024-03-03 07:18:48 | |
2024-03-01 11:45:48 |
卢剑航 13760755942
数据集成专家 拥有十多年丰富的经验,擅长ERP、MES、数据中台、营销云中台等集成。他能够根据客户需求,为其提供一站式集成解决方案,帮助企业快速实现各类系统数据集成服务。
何海波 18175716035
数据集成顾问 轻易云的技术专家,拥有丰富的数据集成规划经验。他能够为客户提供专业、全面的数据集成规划方案,熟练掌握多种集成技术和工具,帮助企业在数据集成领域得到长远发展。
胡秀丛 15813570600
数据集成顾问 项目总监 她以卓越的数据集成专长,精通ERP、MES系统,以及数据中台的构建与优化。通过创新的一站式解决方案,她助力企业实现数据的无缝对接,提升业务流程效率,确保信息流通无障碍,为企业的数字化转型提供强有力的支持。