1、【修复】天猫主品删除自动删除赠品问题

2、【功能】抖音抽奖订单打标
3、【修复】抖音退款转退货明细问题
This commit is contained in:
chenping
2026-05-13 16:47:49 +08:00
parent 0cc39e2fb9
commit 1cdbbc9801
5 changed files with 37 additions and 7 deletions

View File

@@ -152,6 +152,10 @@ class dchain_order extends dchain_abstract
if($white_delivery_cps && in_array($corpInfo['type'], $white_delivery_cps)){
return $this->succ();
}
if ($extendInfo['cpup_service'] == '218') {
return $this->error('该订单为加价发顺丰平台集采订单,请修改为顺丰快递');
}
$error_msg = '当前订单在猫淘平台对消费者进行了服务承诺,建议按照平台要求进行择配,否则存在赔付风险。';
return $this->error($error_msg);

View File

@@ -255,7 +255,7 @@ class erpapi_shop_matrix_luban_response_aftersalev2 extends erpapi_shop_response
$refundApplyInfo = $refundApplyObj->getList('refund_apply_bn', array('return_id'=>$refundOriginalInfo[0]['return_id'],'status' =>array('0','1','2','5','6')) , 0 , 1);
if($refundApplyInfo){
$sdf['refund_bn'] = $refundApplyInfo[0]['refund_apply_bn'];
$sdf['has_finished_return_product'] = true;
$sdf['tmall_has_finished_return_product'] = true;
}
}
}
@@ -278,7 +278,7 @@ class erpapi_shop_matrix_luban_response_aftersalev2 extends erpapi_shop_response
}elseif($sdf['refund_refer'] == 'aftersale'){
//售后仅退款(场景:已发货、未签收)
return 'refund';
}elseif(in_array($sdf['order']['ship_status'],array('3','4')) && $sdf['has_finished_return_product']){
}elseif(in_array($sdf['order']['ship_status'],array('3','4')) && $sdf['tmall_has_finished_return_product']){
//退款单
return 'refund';
}else{

View File

@@ -215,7 +215,11 @@ class erpapi_shop_matrix_luban_response_order extends erpapi_shop_response_order
if($this->_ordersdf['extend_field']['platform_order_tag_ui']){
foreach($this->_ordersdf['extend_field']['platform_order_tag_ui'] as $tag_val){
$dy_added_service .= $tag_val['key'].',';
//抽奖类型订单 只打标自发订单
if ($tag_val['key'] == 'draw_lottery' && $this->__channelObj->channel['delivery_mode'] == 'self') {
$this->_ordersdf['extend_field']['is_lucky_flag'] = true;
}
// 集运标识转成oms本地标识二期
// 改用platform_order_tag_ui识别
// key=logistics_transit是偏远中转key=remote_derict是偏远直邮,偏远直邮不用打标

View File

@@ -2040,7 +2040,7 @@ class erpapi_shop_response_process_aftersalev2 {
kernel::single('ome_order_object_amount')->recalculateOrderAmount($order_id, [$item]);
// custom 根据子订单id查询是否有关联赠品
$this->__deletePlatformGift($item['oid'], $order_id, $needChangeFreezeItem);
$this->__deletePlatformGift($item['oid'], $order_id, $needChangeFreezeItem, $order_detail);
}
}
if($needChangeFreezeItem) {
@@ -2358,7 +2358,7 @@ class erpapi_shop_response_process_aftersalev2 {
* @param $order_id
* @return void
*/
public function __deletePlatformGift($oid, $order_id, &$needChangeFreezeItem)
public function __deletePlatformGift($oid, $order_id, &$needChangeFreezeItem, $order_detail = [])
{
$orderObjectObj = app::get('ome')->model('order_objects');
$orderItemObj = app::get('ome')->model("order_items");
@@ -2372,12 +2372,26 @@ class erpapi_shop_response_process_aftersalev2 {
'delete' => 'false',
'sale_price' => '0',
];
$giftOrderObjects = $orderObjectObj->getList('obj_id,main_oid,part_mjz_discount,divide_order_fee,amount,pmt_price', $giftFilter);
$giftOrderObjects = $orderObjectObj->getList('obj_id,main_oid,part_mjz_discount,divide_order_fee,amount,pmt_price,oid', $giftFilter);
if (empty($giftOrderObjects)) {
return;
}
$refundOids = [];
if ($order_detail['shop_type'] == 'taobao' || $order_detail['shop_type'] == 'tmall') {
$refundRs = kernel::single('erpapi_router_request')->set('shop', $order_detail['shop_id'])->finance_getRefundStatus(['order_bn' => $order_detail['order_bn']]);
if ($refundRs['rsp'] == 'succ' && !empty($refundRs['data']) && is_array($refundRs['data'])) {
$refundOids = ['NON_PLATFORM_REFUND'];
foreach ($refundRs['data'] as $refund) {
if ($refund['status'] == 'SUCCESS' && isset($refund['oid'])) {
$refundOids[] = $refund['oid'];
}
}
}
}
// 不为空,则逐个循环,检查关联销售子订单是否都已删除
foreach ($giftOrderObjects as $giftOrderObject) {
// check1 子订单明细已审单,则不处理
@@ -2392,6 +2406,14 @@ class erpapi_shop_response_process_aftersalev2 {
continue;
}
// 如果平台赠品未退款,则不处理
if (in_array($order_detail['shop_type'], ['taobao', 'tmall'])
&& $giftOrderObject['oid']
&& $refundOids
&& !in_array($giftOrderObject['oid'], $refundOids)) {
continue;
}
// check2 赠品还存在未删除的关联销售子订单,则不处理
/* $giftMainFilter = [
'order_id' => $order_id,

View File

@@ -1,5 +1,5 @@
<deploy>
<ver>8.3.0.20260424</ver>
<ver>8.3.4.20260508</ver>
<licence file="LICENSE" />
<product_name>ONEX OMS</product_name>
<product_id>taog</product_id>