【新增】抖店优先发货对接

【新增】抖店优质快递对接
【新增】抖店加价发顺丰对接
【新增】抖店顺丰包邮支持协商更换物流
This commit is contained in:
chenping
2026-04-27 10:19:05 +08:00
parent 2189a016b9
commit 08e1c72cdd
24 changed files with 703 additions and 106 deletions

View File

@@ -270,9 +270,27 @@ class erpapi_shop_matrix_luban_response_order extends erpapi_shop_response_order
if($this->_ordersdf['extend_field']['sku_order_tag_ui']){
foreach ($this->_ordersdf['extend_field']['sku_order_tag_ui'] as $oid => $skuVal) {
foreach ($skuVal as $sk => $sv) {
if ($sv['key'] == 'sf_free_shipping') {
$this->_ordersdf['sf_free_shipping'] = 'true';
break;
$sv['extra'] = is_string($sv['extra']) ? json_decode($sv['extra'], true) : [];
switch ($sv['key']) {
case 'sf_free_shipping':
$this->_ordersdf['sf_free_shipping'] = 'true';
break;
case 'PriorityDelivery':
if ($sv['extra'] && $sv['extra']['suggestDeliveryUnix']) {
$this->_ordersdf['latest_delivery_time'] = $sv['extra']['suggestDeliveryUnix'];
}
break;
case 'high_quality_express':
if ($sv['extra'] && $sv['extra']['express_company_code']) {
$this->_ordersdf['biz_delivery_code'] = json_encode(is_string($sv['extra']['express_company_code']) ? [$sv['extra']['express_company_code']] : $sv['extra']['express_company_code']);
}
break;
case 'paid_shunfeng_express':
case 'paid_shunfeng_express_tk':
$this->_ordersdf['shipping_name'] = 'SF';
$this->_ordersdf['assign_express_code'] = 'SF';
break;
}
}
}
@@ -280,7 +298,7 @@ class erpapi_shop_matrix_luban_response_order extends erpapi_shop_response_order
if ($this->_ordersdf['sf_free_shipping'] == 'true') {
$dly = app::get('ome')->model('dly_corp')->db_dump([
'type|in' => ['shunfeng', 'shunfengkuaiyun'],
'type|in' => ['shunfeng', 'shunfengkuaiyun','SF'],
'disabled' => 'false',
]);
if ($dly){

View File

@@ -148,8 +148,15 @@ class erpapi_shop_matrix_taobao_request_delivery extends erpapi_shop_request_del
}
}
// 判断订单是否编辑过商品
//@todo只有平台子订单 oid 被删除且不存在对应未删除商品时,才算编辑过商品;
$isModifyGoods = false;
if ($sdf['orderinfo']['is_modify'] == 'true') {
$isModifyGoods = kernel::single('ome_order')->isOrderGoodsModified($sdf['orderinfo']['order_id']);
}
//[部分拆单 OR 多包裹]订单没有编辑过商品,按拆单子单回写
if(($sdf['is_split'] == 1 || $is_packages) && $sdf['orderinfo']['is_modify'] != 'true') {
if(($sdf['is_split'] == 1 || $is_packages) && !$isModifyGoods) {
//按多包裹
if($packageInfo){
$param['packages'] = json_encode($packageInfo['packages']);
@@ -171,7 +178,7 @@ class erpapi_shop_matrix_taobao_request_delivery extends erpapi_shop_request_del
$param['consign_type'] = 0;
//订单编辑过商品
if($sdf['orderinfo']['is_modify'] == 'true'){
if($isModifyGoods){
//注销oid_list子订单列表
unset($param['oid_list']);

View File

@@ -153,8 +153,15 @@ class erpapi_shop_matrix_tmall_request_delivery extends erpapi_shop_request_deli
}
}
// 判断订单是否编辑过商品
//@todo只有平台子订单 oid 被删除且不存在对应未删除商品时,才算编辑过商品;
$isModifyGoods = false;
if ($sdf['orderinfo']['is_modify'] == 'true') {
$isModifyGoods = kernel::single('ome_order')->isOrderGoodsModified($sdf['orderinfo']['order_id']);
}
//[部分拆单 OR 多包裹]订单没有编辑过商品,按拆单子单回写
if(($sdf['is_split'] == 1 || $is_packages) && $sdf['orderinfo']['is_modify'] != 'true') {
if(($sdf['is_split'] == 1 || $is_packages) && !$isModifyGoods) {
//按多包裹
if($packageInfo){
$param['packages'] = json_encode($packageInfo['packages']);
@@ -176,7 +183,7 @@ class erpapi_shop_matrix_tmall_request_delivery extends erpapi_shop_request_deli
$param['consign_type'] = 0;
//订单编辑过商品
if($sdf['orderinfo']['is_modify'] == 'true'){
if($isModifyGoods){
//注销oid_list子订单列表
unset($param['oid_list']);