- 1.首先要新建一个管易商品查询的方案,把方案id记下来(方案id即浏览器连接url的后面一段字符串),后面发货单查询加工厂需要用到。
- ">

- 2.选择发货单查询2.0接口
- 3.特别需要注意,新版发货单只返回商品id,需要在加工厂关联查询出商品编码,,以下是加工厂示例代码,可以复制使用,复制后需要替换方案id,即$accountStrategyId = ‘f1e6ac6a-46bf-30ca-80a1-c98aa54be247’; 替换为$accountStrategyId = ‘步骤1中记录的方案id’;。
- 关联查询物料编码示例代码:
- 4.最后再根据新版接口返回的字段完成替换配置,新版接口和旧版接口有些字段不一样,特别需要留意检查,加工厂里面的符号都是要英文符号,如无特殊要求,建议直接复制文档示例做修改。(需留意源平台配置源码是否有condition过滤,或者beatFlat拍扁,或者其他函数,字段记得相应替换新版接口的;目标配置源码同理,是否有merge合并等函数,函数配置里面的字段也要相应替换成新版的字段)
1.首先要新建一个管易商品查询的方案,把方案id记下来(方案id即浏览器连接url的后面一段字符串),后面发货单查询加工厂需要用到。
特别需要注意,含sku的,需要在商品查询的加工厂里把skus移到外面的goods_id。如果管易是多规格不适用此方案。
skuskus移到外面的goods_id示例代码(可以复制使用):
<?phpclass AfterSourceInvoke{protected $response;protected $adapter;/*** 构造函数** @param array $response 引用传递,调用接口返回的原始响应数组* @param Adapter:class $adapter 适配器类*/public function __construct(&$response, $adapter){$this->response = &$response;$this->adapter = $adapter;}public function run(){if ($this->response['success'] == false) {return;}$items = [];foreach ($this->response['items'] as $item) {//if(count($item['skus']) > 0){foreach($item['skus'] as $sk){$item['goods_id'] = $sk['goods_id'];$item['qeasy_remark'] = 'skus id 移到外面的goods_id, 里面的skus 暂时无用';$items[] = $item;}}else{$items[] = $item;}}$this->response['items'] = $items;}}
2.选择发货单查询2.0接口
3.特别需要注意,新版发货单只返回商品id,需要在加工厂关联查询出商品编码,,以下是加工厂示例代码,可以复制使用,复制后需要替换方案id,即$accountStrategyId = ‘f1e6ac6a-46bf-30ca-80a1-c98aa54be247’; 替换为$accountStrategyId = ‘步骤1中记录的方案id’;。

关联查询物料编码示例代码:
<?phpuse Domain\Datahub\Instance\Storage\LogStatus;use Domain\Datahub\Instance\Storage\DataStorage;class AfterSourceInvoke{protected $response;protected $adapter;/*** 构造函数** @param array $response 引用传递,调用接口返回的原始响应数组* @param Adapter:class $adapter 适配器类*/public function __construct(&$response, $adapter){$this->response = &$response;$this->adapter = $adapter;}/*** 工厂事件执行函数** @return void*/public function run(){if ($this->response['success'] != true) {return;}foreach ($this->response['details'] as $key=>&$col) {//$this->adapter->getLogStorage()->insertOne(['text' => 'data', 'data' => $col], LogStatus::NOTICE);$accountStrategyId = 'f1e6ac6a-46bf-30ca-80a1-c98aa54be247';//此处方案id需替换成对应组户商品查询的方案ID$storage = new DataStorage($this->adapter->strategy->lessee_id, $accountStrategyId);$where = ['content.goods_id' => ['$eq' => $col['goods_id']]];$query = $storage->find($where);$col['goods_code'] = '';if ($query) {$content = $query[0]['content'];$col['goods_code'] = $content['code'];}}}}
