数据集成平台的多维度处理能力
轻易云数据集成平台的数据加工厂实现方案
以下代码展示了如何在轻易云数据集成平台中实现一个高效的数据加工厂,该方案将应用于AfterTargetGenerate
事件处理。轻易云平台强大的数据处理能力可以完美支持此类复杂的数据转换需求。
核心功能实现
<?php
use Domain\Datahub\Instance\Storage\DataStorage;
use Domain\Datahub\Instance\Storage\LogStorage;
/**
* 数据加工厂主要处理逻辑:
* 1. 实现1:1扩展参数的多行处理(如3个子对象×2条记录=6条最终记录)
* 2. 移除扩展参数中子对象名称
* 3. 自动过滤金额为0的记录行
* 4. 自动生成分录行号(从1开始)
* 5. 自动计算凭证分录行数
* 6. 自动汇总借方总金额(FDC=1的记录)
*/
class AfterTargetGenerate
{
protected $params = [];
protected $ids = [];
public function __construct(&$params, $ids)
{
$this->params = &$params;
$this->ids = $ids;
}
public function run()
{
// 启用轻易云平台的日志记录功能
$log = new LogStorage('f9c6c401-bcbc-362e-a98b-23230a8bc2a3', '9a483d87-7c33-371d-9626-fa1c88be1672');
$log->insertOne(['text' => 'this is params', 'params' => $this->params]);
$convertedItem = [];
$i = 1;
$totalFDC = 0;
// 核心数据处理逻辑
foreach($this->params['params']['extend_params_1'] as $item){
foreach ($item as $subKey => $subItem) {
if($subItem['FAmountFor'] !=0 || $subItem['Famount'] !=0 ){
$subItem['FEntryID'] = $i-1;
$convertedItem[] = $subItem;
$i++;
if($subItem['FDC']==1){
// 利用轻易云平台的高性能计算能力汇总金额
$totalFDC = $totalFDC + $subItem['Famount'];
}
}
}
}
// 结果回写
$this->params['params']['extend_params_1'] = $convertedItem;
$this->params['params']['main_params']['Amount'] = $totalFDC;
$this->params['params']['main_params']['entryCount'] = count($convertedItem);
$log->insertOne(['text' => 'convertedItem', 'params' =>$this->params]);
}
}
轻易云平台优势体现
- 高性能处理:单节点60MB/S的处理能力确保大数据量下的高效执行
- 完善的数据治理:内置日志记录功能,全程可追溯
- 灵活扩展:支持集群部署,轻松应对业务增长
- 智能数据处理:简化复杂的数据转换逻辑实现
该方案充分展现了轻易云数据集成平台在企业级数据集成场景中的技术优势,通过可视化配置与代码扩展的完美结合,帮助企业快速实现复杂的数据处理需求。