Merge remote-tracking branch 'origin/mark' into su

This commit is contained in:
苏尹岚
2020-01-08 14:41:06 +08:00
3 changed files with 35 additions and 25 deletions

View File

@@ -406,8 +406,15 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod
} }
if !isPending { if !isPending {
if status.Status == model.OrderStatusAgreeFailedGetGoods || status.Status == model.OrderStatusDeliverFailed { if status.Status == model.OrderStatusAgreeFailedGetGoods || status.Status == model.OrderStatusDeliverFailed {
s.updateOrderByBill(order, nil, status.Status != model.OrderStatusAgreeFailedGetGoods) s.updateOrderByBill(order, nil, false) //status.Status != model.OrderStatusAgreeFailedGetGoods)
s.removeWaybillFromMap(savedOrderInfo, order.VendorID) s.removeWaybillFromMap(savedOrderInfo, order.VendorID)
clearFlag := 0
if status.Status == model.OrderStatusAgreeFailedGetGoods {
clearFlag = model.OrderFlagMaskFailedGetGoods
} else if status.Status == model.OrderFlagMaskFailedDeliver {
clearFlag = model.OrderFlagMaskFailedDeliver
}
dao.ClearOrderFlag(dao.GetDB(), model.AdminName, order.VendorOrderID, order.VendorID, clearFlag)
} }
} }
} }
@@ -427,7 +434,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod
status.Status == model.OrderStatusAgreeFailedGetGoods || status.Status == model.OrderStatusAgreeFailedGetGoods ||
status.Status == model.OrderStatusDeliverFailed { status.Status == model.OrderStatusDeliverFailed {
if status.Status == model.OrderStatusApplyFailedGetGoods { if status.Status == model.OrderStatusApplyFailedGetGoods {
dao.ClearOrderFlag(dao.GetDB(), model.AdminName, order.VendorOrderID, order.VendorID, ^(model.OrderFlagMaskFailedGetGoods | model.OrderFlagMaskCallPMCourier)) dao.ClearOrderFlag(dao.GetDB(), model.AdminName, order.VendorOrderID, order.VendorID, model.OrderFlagMaskFailedGetGoods|model.OrderFlagMaskCallPMCourier)
} }
if status.Status == model.OrderStatusApplyCancel { if status.Status == model.OrderStatusApplyCancel {
s.notifyUserApplyCancel(savedOrderInfo.order, status.Remark) s.notifyUserApplyCancel(savedOrderInfo.order, status.Remark)
@@ -1166,7 +1173,8 @@ func isNeedWatchWaybillTip(order *model.GoodsOrder) bool {
func isNeedWatch3rdWaybill(order *model.GoodsOrder) bool { func isNeedWatch3rdWaybill(order *model.GoodsOrder) bool {
return (order.Status >= model.OrderStatusFinishedPickup && order.Status < model.OrderStatusDelivering) && // 订单状态 return (order.Status >= model.OrderStatusFinishedPickup && order.Status < model.OrderStatusDelivering) && // 订单状态
order.DeliveryFlag&model.OrderDeliveryFlagMaskScheduleDisabled == 0 && // 没有禁止调度 order.DeliveryFlag&model.OrderDeliveryFlagMaskScheduleDisabled == 0 && // 没有禁止调度
!model.IsOrderHaveWaybill(order) // 没有有效运单 !model.IsOrderHaveWaybill(order) && // 没有有效运单
order.LockStatus == model.OrderStatusUnknown
} }
func (s *DefScheduler) setWatchOrderWaybills(savedOrderInfo *WatchOrderInfo, duration time.Duration) { func (s *DefScheduler) setWatchOrderWaybills(savedOrderInfo *WatchOrderInfo, duration time.Duration) {
@@ -1219,27 +1227,28 @@ func (s *DefScheduler) watchOrderWaybills(savedOrderInfo *WatchOrderInfo) {
// } // }
// partner.CurOrderManager.OnOrderMsg(order, vendorStatus, remark) // partner.CurOrderManager.OnOrderMsg(order, vendorStatus, remark)
// } // }
if handler, ok := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).(partner.IAddWaybillTip); ok && handler != nil {
var remark string // if handler, ok := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).(partner.IAddWaybillTip); ok && handler != nil {
tipFee := getWaybillTip(order) // var remark string
vendorStatus := fmt.Sprintf("设置小费:%s", jxutils.IntPrice2StandardCurrencyString(tipFee)) // tipFee := getWaybillTip(order)
tipFee2Add := tipFee - order.WaybillTipMoney // vendorStatus := fmt.Sprintf("设置小费:%s", jxutils.IntPrice2StandardCurrencyString(tipFee))
vendorStatus += fmt.Sprintf(", 本次添加:%s", jxutils.IntPrice2StandardCurrencyString(tipFee2Add)) // tipFee2Add := tipFee - order.WaybillTipMoney
if false { //tipFee2Add > 0 { // vendorStatus += fmt.Sprintf(", 本次添加:%s", jxutils.IntPrice2StandardCurrencyString(tipFee2Add))
err := handler.UpdateWaybillTip(jxcontext.AdminCtx, order.VendorOrgCode, order.VendorStoreID, order.VendorOrderID, order.VendorOrderID, "", "", tipFee) // if false { //tipFee2Add > 0 {
if err == nil { // err := handler.UpdateWaybillTip(jxcontext.AdminCtx, order.VendorOrgCode, order.VendorStoreID, order.VendorOrderID, order.VendorOrderID, "", "", tipFee)
vendorStatus += "成功" // if err == nil {
order.WaybillTipMoney = tipFee // vendorStatus += "成功"
partner.CurOrderManager.UpdateOrderFields(order, []string{"WaybillTipMoney"}) // order.WaybillTipMoney = tipFee
} else { // partner.CurOrderManager.UpdateOrderFields(order, []string{"WaybillTipMoney"})
vendorStatus += "失败" // } else {
remark = fmt.Sprint(err) // vendorStatus += "失败"
} // remark = fmt.Sprint(err)
} else { // }
vendorStatus += "空操作" // } else {
} // vendorStatus += "空操作"
partner.CurOrderManager.OnOrderMsg(order, vendorStatus, remark) // }
} // partner.CurOrderManager.OnOrderMsg(order, vendorStatus, remark)
// }
} }
if savedOrderInfo.isNeedCreate3rdWaybill { if savedOrderInfo.isNeedCreate3rdWaybill {
s.createWaybillOn3rdProviders(savedOrderInfo, 0, nil) s.createWaybillOn3rdProviders(savedOrderInfo, 0, nil)

View File

@@ -220,7 +220,7 @@ func ClearOrderFlag(db *DaoDB, userName string, vendorOrderID string, vendorID i
UPDATE goods_order UPDATE goods_order
SET flag = flag & ? SET flag = flag & ?
WHERE vendor_order_id = ? AND vendor_id = ? WHERE vendor_order_id = ? AND vendor_id = ?
`, flag, vendorOrderID, vendorID) `, ^flag, vendorOrderID, vendorID)
return err return err
} }

View File

@@ -53,6 +53,7 @@ var (
skuActTypeMap = map[string]int{ skuActTypeMap = map[string]int{
ebaiapi.OrderSkuDiscountTypeZhe: 1, ebaiapi.OrderSkuDiscountTypeZhe: 1,
ebaiapi.OrderSkuDiscountTypeReduce: 1, ebaiapi.OrderSkuDiscountTypeReduce: 1,
ebaiapi.OrderSkuDiscountTypeTe: 1,
} }
deliveryTypeMap = map[int]string{ deliveryTypeMap = map[int]string{
ebaiapi.DeliveryPartyFengElmSelf: model.OrderDeliveryTypeStoreSelf, ebaiapi.DeliveryPartyFengElmSelf: model.OrderDeliveryTypeStoreSelf,