饿百订单自提核销

This commit is contained in:
苏尹岚
2021-03-30 15:57:37 +08:00
parent 02bdeb7b9d
commit b9f7d7f53a
8 changed files with 93 additions and 39 deletions

View File

@@ -18,7 +18,6 @@ import (
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jd"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
) )
@@ -386,17 +385,18 @@ func (c *BaseScheduler) SetOrderWaybillTipByOrder(ctx *jxcontext.Context, order
func (c *BaseScheduler) confirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) { func (c *BaseScheduler) confirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
globals.SugarLogger.Debugf("confirmSelfTake orderID:%s, selfTakeCode:%s", order.VendorOrderID, selfTakeCode) globals.SugarLogger.Debugf("confirmSelfTake orderID:%s, selfTakeCode:%s", order.VendorOrderID, selfTakeCode)
vendorID := order.VendorID vendorID := order.VendorID
if vendorID == model.VendorIDJD || vendorID == model.VendorIDJX { // if vendorID == model.VendorIDJD || vendorID == model.VendorIDJX {
if vendorID == model.VendorIDJD { if vendorID != model.VendorIDJX {
handler := partner.GetPurchaseOrderHandlerFromVendorID(vendorID)
if selfTakeCode == autoSelfTakeCode { if selfTakeCode == autoSelfTakeCode {
if selfTakeCode, err = jd.CurPurchaseHandler.GetSelfTakeCode(ctx, order); err != nil { if selfTakeCode, err = handler.GetSelfTakeCode(ctx, order); err != nil {
return fmt.Errorf("获取订单:%s自提货码失败原始错误:%s", order.VendorOrderID, err.Error()) return fmt.Errorf("获取订单:%s自提货码失败原始错误:%s", order.VendorOrderID, err.Error())
} }
if selfTakeCode == "" { if selfTakeCode == "" {
return fmt.Errorf("订单:%s看起来不是一个自提订单,如果确认是自提订单,请联系开发", order.VendorOrderID) return fmt.Errorf("订单:%s 自动提货失败,请手动输入自提码", order.VendorOrderID)
} }
} }
err = jd.CurPurchaseHandler.ConfirmSelfTake(ctx, order, selfTakeCode) err = handler.ConfirmSelfTake(ctx, order, selfTakeCode)
} else { } else {
orderStatus := &model.OrderStatus{ orderStatus := &model.OrderStatus{
VendorOrderID: order.VendorOrderID, VendorOrderID: order.VendorOrderID,
@@ -413,9 +413,9 @@ func (c *BaseScheduler) confirmSelfTake(ctx *jxcontext.Context, order *model.Goo
err = partner.CurOrderManager.OnOrderStatusChanged("", orderStatus) err = partner.CurOrderManager.OnOrderStatusChanged("", orderStatus)
}, jxutils.ComposeUniversalOrderID(order.VendorOrderID, model.VendorIDJX)) }, jxutils.ComposeUniversalOrderID(order.VendorOrderID, model.VendorIDJX))
} }
} else { // } else {
err = fmt.Errorf("自提核销不支持%s平台订单", model.VendorChineseNames[order.VendorID]) // err = fmt.Errorf("自提核销不支持%s平台订单", model.VendorChineseNames[order.VendorID])
} // }
return err return err
} }

View File

@@ -4103,12 +4103,12 @@ func RefreshStoreBind(ctx *jxcontext.Context) (err error) {
mobileList, userIDsAdd, userIDsDel []string mobileList, userIDsAdd, userIDsDel []string
) )
// userList := getAllUsers4Store(ctx, db, store) // userList := getAllUsers4Store(ctx, db, store)
if store.Tel1 != "" { // if store.Tel1 != "" {
mobileList = append(mobileList, store.Tel1) // mobileList = append(mobileList, store.Tel1)
} // }
if store.Tel2 != "" { // if store.Tel2 != "" {
mobileList = append(mobileList, store.Tel2) // mobileList = append(mobileList, store.Tel2)
} // }
if store.MarketManPhone != "" { if store.MarketManPhone != "" {
mobileList = append(mobileList, store.MarketManPhone) mobileList = append(mobileList, store.MarketManPhone)
} }

View File

@@ -55,6 +55,9 @@ type IPurchasePlatformOrderHandler interface {
AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error)
// // 确认收到退货 // // 确认收到退货
ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error)
//获取自提单取货码
GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (code string, err error)
ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error)
} }
type IAddWaybillTip interface { type IAddWaybillTip interface {

View File

@@ -728,3 +728,26 @@ func (c *PurchaseHandler) UpdateWaybillTip(ctx *jxcontext.Context, vendorOrgCode
} }
return err return err
} }
func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) {
// orderTrackList, err := api.EbaiAPI.OrderQueryAcceptancecode(order.VendorOrderID)
// if err == nil {
// for _, v := range orderTrackList {
// if v.TagCode == 180 {
// searchResult := selfTakeCodeReg.FindStringSubmatch(v.MsgContent)
// if searchResult != nil && len(searchResult[1]) > 0 {
// selfTakeCode = searchResult[1]
// }
// break
// }
// }
// }
return selfTakeCode, err
}
func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.OrderCheckout(order.VendorOrderID, selfTakeCode)
}
return err
}

View File

@@ -258,3 +258,11 @@ func GetJdsOrder(vendorOrderID, vendorOrgCode string) (jdsOrder *jdshopapi.GetOr
err = utils.UnmarshalUseNumber([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2) err = utils.UnmarshalUseNumber([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2)
return jdsOrder2, err return jdsOrder2, err
} }
func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) {
return selfTakeCode, err
}
func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
return err
}

View File

@@ -123,12 +123,16 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode strin
return vendorOrderIDs, err return vendorOrderIDs, err
} }
func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, vendorOrderID, selfTakeCode string) (err error) { func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX) // order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX)
if err == nil { // if err == nil {
if model.IsOrderJXTemp(order) { // if model.IsOrderJXTemp(order) {
err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusFinished) // err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusFinished)
} // }
} // }
return err return err
} }
func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) {
return selfTakeCode, err
}

View File

@@ -801,3 +801,11 @@ func (c *PurchaseHandler) UpdateWaybillTip(ctx *jxcontext.Context, vendorOrgCode
} }
return err return err
} }
func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) {
return selfTakeCode, err
}
func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
return err
}

View File

@@ -74,3 +74,11 @@ func (p *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
func (p *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) { func (p *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) {
return err return err
} }
func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) {
return selfTakeCode, err
}
func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
return err
}