修改门店发单和品牌发单是扣费问题

This commit is contained in:
邹宗楠
2023-05-11 10:58:50 +08:00
parent 85b2870a5e
commit 476f8c0943
26 changed files with 417 additions and 273 deletions

View File

@@ -114,6 +114,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee
ReceiverPrimaryPhone: order.ConsigneeMobile,
OutShopCode: utils.Int2Str(order.JxStoreID),
ChainStoreId: "",
SerialNumber: fmt.Sprintf("%s #%d", model.VendorChineseNames[order.VendorID], order.OrderSeq),
}
// 重量超标减少配送费
weight := 4.9500
@@ -380,3 +381,36 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso
return result, nil
}
// GetDeliverLiquidatedDamages 获取运单取消违约金
// 蜂鸟:骑手接单后-取餐之前,每单扣除2元,超过20分钟不扣款
func (c *DeliveryHandler) GetDeliverLiquidatedDamages(orderId string, deliverId string) (money int64, err error) {
// 获取订单状态
order, err := api.FnAPI.QueryOrder(orderId)
if err != nil {
return 0, err
}
// 已经分配骑手,且超过十五分钟,不扣款
if len(order.EventLogDetails) != model.NO {
for i := len(order.EventLogDetails) - 1; i >= 0; i-- {
switch order.EventLogDetails[i].OrderStatus {
case fnpsapi.OrderStatusDelivered, fnpsapi.OrderStatusArrived, fnpsapi.OrderStatusDelivering: // 送达,到店,配送中 取消订单全额扣款
return order.OrderActualAmountCent, nil
case fnpsapi.OrderStatusAcceptCacle, fnpsapi.OrderStatusException: // 取消和异常状态,跳过查看上一状态
continue
case fnpsapi.OrderStatusAcceptCreate, fnpsapi.OrderStatusAccept: // 生成运单和系统接单取消不扣除费用
return 0, nil
case fnpsapi.OrderStatusAssigned:
if time.Now().UnixNano()/1e6-order.EventLogDetails[i].OccurTime > fnpsapi.WayBillPressureOrderTime {
return 0, nil
} else {
return 200, nil
}
}
}
}
return 0, err
}