1
This commit is contained in:
@@ -230,7 +230,7 @@ func (c *BaseScheduler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrderID s
|
|||||||
)
|
)
|
||||||
waybills, _ := dao.GetWaybills(db, order.VendorOrderID)
|
waybills, _ := dao.GetWaybills(db, order.VendorOrderID)
|
||||||
//美团的订单如果是同意全部退款,要取消所有三方运单并停止调度
|
//美团的订单如果是同意全部退款,要取消所有三方运单并停止调度
|
||||||
if order.VendorID == model.VendorIDMTWM {
|
if order.VendorID == model.VendorIDMTWM || order.VendorID == model.VendorIDJX {
|
||||||
var (
|
var (
|
||||||
afsCount, orderCount int
|
afsCount, orderCount int
|
||||||
)
|
)
|
||||||
@@ -242,13 +242,19 @@ func (c *BaseScheduler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrderID s
|
|||||||
orderCount += v.Count
|
orderCount += v.Count
|
||||||
}
|
}
|
||||||
//如果售后退款的商品数等于订单商品数,我就当是全部退款了
|
//如果售后退款的商品数等于订单商品数,我就当是全部退款了
|
||||||
if afsCount == orderCount {
|
if afsCount == orderCount && order.VendorID == model.VendorIDMTWM {
|
||||||
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
|
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
|
||||||
partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"})
|
partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag"})
|
||||||
for _, v := range waybills {
|
for _, v := range waybills {
|
||||||
c.CancelWaybill(v, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
|
c.CancelWaybill(v, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if afsCount == orderCount && order.VendorID == model.VendorIDJX {
|
||||||
|
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
|
||||||
|
order.Status = model.OrderStatusCanceled
|
||||||
|
order.VendorStatus = utils.Int2Str(model.OrderStatusCanceled)
|
||||||
|
partner.CurOrderManager.UpdateOrderFields(order, []string{"DeliveryFlag", "Status", "VendorStatus"})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if order.EarningType == model.EarningTypePoints {
|
if order.EarningType == model.EarningTypePoints {
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ type Waybill struct {
|
|||||||
ModelTimeInfo `json:"-"`
|
ModelTimeInfo `json:"-"`
|
||||||
OriginalData string `orm:"type(text)" json:"-"`
|
OriginalData string `orm:"type(text)" json:"-"`
|
||||||
Remark string `orm:"-" json:"-"` // 用于传递remark
|
Remark string `orm:"-" json:"-"` // 用于传递remark
|
||||||
//OtherFee int64 `orm:"column(other_fee)" json:"otherFee"` // 对应美团外卖运单的保险费
|
//PunctualFee int64 `orm:"column(punctual_fee)" json:"punctualFee"` // 对应美团外卖运单的准时保险费
|
||||||
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
|
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -144,8 +144,22 @@ func buildAfsOrder(msg *CallbackMsg) (outAfsOrder *model.AfsOrder, err error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 最后一个商品
|
makeOrderSkuCount := 0
|
||||||
if len(skuList) == len(refundFinancial)+len(afsOrder.Skus) && len(skuList) != model.YES {
|
afsOrderOrderSkuCount := 0
|
||||||
|
refundFinacialSkuCount := 0
|
||||||
|
for _, v := range skuList {
|
||||||
|
makeOrderSkuCount += v.Count
|
||||||
|
}
|
||||||
|
for _, v := range afsOrder.Skus {
|
||||||
|
afsOrderOrderSkuCount += v.Count
|
||||||
|
}
|
||||||
|
for _, v := range refundFinancial {
|
||||||
|
refundFinacialSkuCount += v.Count
|
||||||
|
}
|
||||||
|
// 这么写主要是不想让满足条件一的进入条件三
|
||||||
|
if makeOrderSkuCount == afsOrderOrderSkuCount && refundFinacialSkuCount == model.NO { // 整单退
|
||||||
|
} else if makeOrderSkuCount-refundFinacialSkuCount == model.YES && makeOrderSkuCount == model.YES { // 整单退且只有一个商品
|
||||||
|
} else if makeOrderSkuCount-refundFinacialSkuCount-afsOrderOrderSkuCount == model.NO && afsOrderOrderSkuCount > 0 { // 分单退最后一个,不给退
|
||||||
return nil, errors.New("如需整单退款,请使用整单退,无法分批次整单退款")
|
return nil, errors.New("如需整单退款,请使用整单退,无法分批次整单退款")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,11 +49,16 @@ func (c *PurchaseHandler) callbackMsg2Waybill(msg *mtwmapi.CallbackMsg) (retVal
|
|||||||
Status: c.GetWaybillStatusFromVendorStatus(vendorStatus),
|
Status: c.GetWaybillStatusFromVendorStatus(vendorStatus),
|
||||||
StatusTime: getTimeFromTimestamp(utils.Str2Int64(msg.FormData.Get("time"))),
|
StatusTime: getTimeFromTimestamp(utils.Str2Int64(msg.FormData.Get("time"))),
|
||||||
Remark: "",
|
Remark: "",
|
||||||
|
VendorOrgCode: msg.AppID,
|
||||||
VendorOrgCode: msg.AppID,
|
|
||||||
}
|
}
|
||||||
if retVal.StatusTime == utils.DefaultTimeValue {
|
if retVal.StatusTime == utils.DefaultTimeValue {
|
||||||
retVal.StatusTime = getTimeFromTimestamp(utils.Str2Int64(msg.FormData.Get("timestamp")))
|
retVal.StatusTime = getTimeFromTimestamp(utils.Str2Int64(msg.FormData.Get("timestamp")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//if vendorStatus == "4" || vendorStatus == "8" { // 4:美团推送已经(确认骑手)订单 8:美团推送(骑手完成)订单
|
||||||
|
// retVal.DesiredFee = utils.Float64TwoInt64(utils.Str2Float64WithDefault(msg.FormData.Get("shipping_fee"), 0)) // 订单优惠前的总费用
|
||||||
|
// partner.CurOrderManager
|
||||||
|
//}
|
||||||
|
|
||||||
return retVal
|
return retVal
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user