mirror of
https://gitee.com/ShopeX/OMS
synced 2026-08-10 05:16:04 +08:00
1、【修复】天猫主品删除自动删除赠品问题
2、【功能】抖音抽奖订单打标 3、【修复】抖音退款转退货明细问题
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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是偏远直邮,偏远直邮不用打标
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user