From b9f7d7f53aec59d2042702223525997dff1eb702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 30 Mar 2021 15:57:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A5=BF=E7=99=BE=E8=AE=A2=E5=8D=95=E8=87=AA?= =?UTF-8?q?=E6=8F=90=E6=A0=B8=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheduler/basesch/basesch_ext.go | 52 +++++++++---------- business/jxstore/cms/store.go | 12 ++--- business/partner/partner_order.go | 3 ++ business/partner/purchase/ebai/order.go | 23 ++++++++ business/partner/purchase/jdshop/order.go | 8 +++ business/partner/purchase/jx/order.go | 18 ++++--- business/partner/purchase/mtwm/order.go | 8 +++ business/partner/purchase/yb/order.go | 8 +++ 8 files changed, 93 insertions(+), 39 deletions(-) diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index 165e89bff..251515746 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -18,7 +18,6 @@ import ( "git.rosy.net.cn/jx-callback/business/model" "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/purchase/jd" "git.rosy.net.cn/jx-callback/globals" ) @@ -386,36 +385,37 @@ func (c *BaseScheduler) SetOrderWaybillTipByOrder(ctx *jxcontext.Context, order 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) vendorID := order.VendorID - if vendorID == model.VendorIDJD || vendorID == model.VendorIDJX { - if vendorID == model.VendorIDJD { - if selfTakeCode == autoSelfTakeCode { - if selfTakeCode, err = jd.CurPurchaseHandler.GetSelfTakeCode(ctx, order); err != nil { - return fmt.Errorf("获取订单:%s自提货码失败,原始错误:%s", order.VendorOrderID, err.Error()) - } - if selfTakeCode == "" { - return fmt.Errorf("订单:%s看起来不是一个自提订单,如果确认是自提订单,请联系开发", order.VendorOrderID) - } + // if vendorID == model.VendorIDJD || vendorID == model.VendorIDJX { + if vendorID != model.VendorIDJX { + handler := partner.GetPurchaseOrderHandlerFromVendorID(vendorID) + if selfTakeCode == autoSelfTakeCode { + if selfTakeCode, err = handler.GetSelfTakeCode(ctx, order); err != nil { + return fmt.Errorf("获取订单:%s自提货码失败,原始错误:%s", order.VendorOrderID, err.Error()) } - err = jd.CurPurchaseHandler.ConfirmSelfTake(ctx, order, selfTakeCode) - } else { - orderStatus := &model.OrderStatus{ - VendorOrderID: order.VendorOrderID, - VendorID: model.VendorIDJX, - OrderType: model.OrderTypeOrder, - RefVendorOrderID: order.VendorOrderID, - RefVendorID: model.VendorIDJX, - VendorStatus: utils.Int2Str(model.OrderStatusFinished), - Status: model.OrderStatusFinished, - StatusTime: time.Now(), - Remark: "自提完成", + if selfTakeCode == "" { + return fmt.Errorf("订单:%s 自动提货失败,请手动输入自提码", order.VendorOrderID) } - jxutils.CallMsgHandlerAsync(func() { - err = partner.CurOrderManager.OnOrderStatusChanged("", orderStatus) - }, jxutils.ComposeUniversalOrderID(order.VendorOrderID, model.VendorIDJX)) } + err = handler.ConfirmSelfTake(ctx, order, selfTakeCode) } else { - err = fmt.Errorf("自提核销不支持%s平台订单", model.VendorChineseNames[order.VendorID]) + orderStatus := &model.OrderStatus{ + VendorOrderID: order.VendorOrderID, + VendorID: model.VendorIDJX, + OrderType: model.OrderTypeOrder, + RefVendorOrderID: order.VendorOrderID, + RefVendorID: model.VendorIDJX, + VendorStatus: utils.Int2Str(model.OrderStatusFinished), + Status: model.OrderStatusFinished, + StatusTime: time.Now(), + Remark: "自提完成", + } + jxutils.CallMsgHandlerAsync(func() { + err = partner.CurOrderManager.OnOrderStatusChanged("", orderStatus) + }, jxutils.ComposeUniversalOrderID(order.VendorOrderID, model.VendorIDJX)) } + // } else { + // err = fmt.Errorf("自提核销不支持%s平台订单", model.VendorChineseNames[order.VendorID]) + // } return err } diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index e1eb07d73..2b2e6b077 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -4103,12 +4103,12 @@ func RefreshStoreBind(ctx *jxcontext.Context) (err error) { mobileList, userIDsAdd, userIDsDel []string ) // userList := getAllUsers4Store(ctx, db, store) - if store.Tel1 != "" { - mobileList = append(mobileList, store.Tel1) - } - if store.Tel2 != "" { - mobileList = append(mobileList, store.Tel2) - } + // if store.Tel1 != "" { + // mobileList = append(mobileList, store.Tel1) + // } + // if store.Tel2 != "" { + // mobileList = append(mobileList, store.Tel2) + // } if store.MarketManPhone != "" { mobileList = append(mobileList, store.MarketManPhone) } diff --git a/business/partner/partner_order.go b/business/partner/partner_order.go index 5d7498973..6cb8b3b1f 100644 --- a/business/partner/partner_order.go +++ b/business/partner/partner_order.go @@ -55,6 +55,9 @@ type IPurchasePlatformOrderHandler interface { AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (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 { diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index 7bf989942..e478f2e9e 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -728,3 +728,26 @@ func (c *PurchaseHandler) UpdateWaybillTip(ctx *jxcontext.Context, vendorOrgCode } 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 +} diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 908e425f6..0052be6f0 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -258,3 +258,11 @@ func GetJdsOrder(vendorOrderID, vendorOrgCode string) (jdsOrder *jdshopapi.GetOr err = utils.UnmarshalUseNumber([]byte(strings.ReplaceAll(result["data"].(string), "\\", "")), &jdsOrder2) 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 +} diff --git a/business/partner/purchase/jx/order.go b/business/partner/purchase/jx/order.go index 85b9bf1c7..a8a272c43 100644 --- a/business/partner/purchase/jx/order.go +++ b/business/partner/purchase/jx/order.go @@ -123,12 +123,16 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode strin return vendorOrderIDs, err } -func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, vendorOrderID, selfTakeCode string) (err error) { - order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX) - if err == nil { - if model.IsOrderJXTemp(order) { - err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusFinished) - } - } +func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) { + // order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX) + // if err == nil { + // if model.IsOrderJXTemp(order) { + // err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusFinished) + // } + // } return err } + +func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) { + return selfTakeCode, err +} diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 1ede690c4..438721cf7 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -801,3 +801,11 @@ func (c *PurchaseHandler) UpdateWaybillTip(ctx *jxcontext.Context, vendorOrgCode } 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 +} diff --git a/business/partner/purchase/yb/order.go b/business/partner/purchase/yb/order.go index 59295fc58..ac45200db 100644 --- a/business/partner/purchase/yb/order.go +++ b/business/partner/purchase/yb/order.go @@ -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) { 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 +}