From f4af57cb081fbb3d5d2ec84c00b87d2e873187a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Sun, 7 Feb 2021 15:44:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=8E=E5=9B=A2=E5=95=86=E8=B6=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 6 +- business/jxcallback/orderman/order_afs.go | 2 +- business/jxcallback/orderman/order_comment.go | 2 +- business/jxcallback/orderman/orderman_ext.go | 15 +++-- .../jxcallback/scheduler/defsch/defsch.go | 2 +- business/jxstore/tempop/tempop.go | 2 +- business/partner/partner_order.go | 2 +- business/partner/purchase/ebai/order.go | 4 +- business/partner/purchase/ebai/store.go | 2 +- business/partner/purchase/jd/order.go | 4 +- business/partner/purchase/jdshop/order.go | 2 +- business/partner/purchase/jx/order.go | 2 +- business/partner/purchase/mtwm/callback.go | 4 ++ business/partner/purchase/mtwm/mtwm.go | 21 ++++++- business/partner/purchase/mtwm/order.go | 57 ++++++++++--------- business/partner/purchase/mtwm/order_afs.go | 6 +- .../partner/purchase/mtwm/order_comment.go | 4 +- business/partner/purchase/mtwm/store.go | 28 ++++----- business/partner/purchase/mtwm/store_sku2.go | 32 +++++------ business/partner/purchase/yb/order.go | 2 +- 20 files changed, 116 insertions(+), 83 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index b435627a4..a942baea0 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -139,7 +139,7 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model order.AdjustCount = adjustCount + 1 //扣点的订单需要修改订单的totalshopmoney if err == nil && order.OrderPayPercentage < 100 { - order2, _ := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrder(order.VendorOrgCode, order.VendorOrderID) + order2, _ := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrder(order.VendorOrgCode, order.VendorOrderID, order.VendorStoreID) order.TotalShopMoney = order2.TotalShopMoney } isDuplicated, err = c.SaveOrder(order, true, db) @@ -160,9 +160,9 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *model.OrderStatus) (err error) { // 有些平台(比如美团外卖),在新订单事件没有成功返回,但在重发订单消息前,订单状态转换,则不会再重发新订单事件,特殊处理一下 if orderStatus.Status == model.OrderStatusAccepted { - if _, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == ErrCanNotFindOrder { + if ordermt, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == ErrCanNotFindOrder { if handler := partner.GetPurchaseOrderHandlerFromVendorID(orderStatus.VendorID); handler != nil { - if order, err2 := handler.GetOrder(vendorOrgCode, orderStatus.VendorOrderID); err2 == nil { + if order, err2 := handler.GetOrder(vendorOrgCode, orderStatus.VendorOrderID, ordermt.VendorStoreID); err2 == nil { c.OnOrderNew(order, orderStatus) } } diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index 6f63f8924..7a654c53a 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -54,7 +54,7 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode if order, _ := c.LoadOrder(afsOrder.VendorOrderID, afsOrder.VendorID); order != nil { if order.ConsigneeMobile2 == "" { if handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID); handler != nil { - if order2, _ := handler.GetOrder(order.VendorOrgCode, order.VendorOrderID); order2 != nil && order.ConsigneeMobile != order2.ConsigneeMobile { + if order2, _ := handler.GetOrder(order.VendorOrgCode, order.VendorOrderID, order.VendorStoreID); order2 != nil && order.ConsigneeMobile != order2.ConsigneeMobile { order.ConsigneeMobile = order2.ConsigneeMobile c.UpdateOrderFields(order, []string{"ConsigneeMobile"}) } diff --git a/business/jxcallback/orderman/order_comment.go b/business/jxcallback/orderman/order_comment.go index c1d75be38..178592fdc 100644 --- a/business/jxcallback/orderman/order_comment.go +++ b/business/jxcallback/orderman/order_comment.go @@ -112,7 +112,7 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) ( orderComment.ConsigneeMobile = order.ConsigneeMobile2 } else { if handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID); handler != nil { - if order2, _ := handler.GetOrder(order.VendorOrgCode, order.VendorOrderID); order2 != nil && order.ConsigneeMobile != order2.ConsigneeMobile { + if order2, _ := handler.GetOrder(order.VendorOrgCode, order.VendorOrderID, order.VendorStoreID); order2 != nil && order.ConsigneeMobile != order2.ConsigneeMobile { order.ConsigneeMobile = order2.ConsigneeMobile partner.CurOrderManager.UpdateOrderFields(order, []string{"ConsigneeMobile"}) } diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 5699a19f6..3a7708731 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -181,7 +181,7 @@ func (c *OrderManager) GetOrderInfo(ctx *jxcontext.Context, vendorOrderID string if err == nil && num > 0 { order = orders[0] if isRefresh && vendorID == model.VendorIDJD { - tmpOrder, err2 := partner.GetPurchaseOrderHandlerFromVendorID(vendorID).GetOrder(order.VendorOrgCode, vendorOrderID) + tmpOrder, err2 := partner.GetPurchaseOrderHandlerFromVendorID(vendorID).GetOrder(order.VendorOrgCode, vendorOrderID, order.VendorStoreID) if err = err2; err == nil { order.CurrentConsigneeMobile = tmpOrder.ConsigneeMobile } else { @@ -1114,6 +1114,7 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in VendorOrderID string VendorID int VendorOrgCode string + VendorStoreID string } if len(dateVendorList) > 0 { var missingOrderList []*tOrderVendorPair @@ -1141,11 +1142,17 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in if err = err2; err == nil && len(orderIDs) > 0 { var orderList []*tOrderVendorPair for _, v := range orderIDs { + var vendorStoreID string + if orders, _ := dao.QueryOrders(db, v, 0, nil, 0, utils.ZeroTimeValue, utils.ZeroTimeValue); len(orders) > 0 { + vendorStoreID = orders[0].VendorStoreID + } orderList = append(orderList, &tOrderVendorPair{ VendorOrderID: v, VendorID: vendorDate.VendorID, VendorOrgCode: vendorDate.VendorOrgCode, + VendorStoreID: vendorStoreID, }) + } retVal = orderList } @@ -1190,7 +1197,7 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { pair := batchItemList[0].(*tOrderVendorPair) if handler := partner.GetPurchaseOrderHandlerFromVendorID(pair.VendorID); handler != nil { - order, err2 := handler.GetOrder(pair.VendorOrgCode, pair.VendorOrderID) + order, err2 := handler.GetOrder(pair.VendorOrgCode, pair.VendorOrderID, pair.VendorStoreID) if err = err2; err == nil { isDuplicated, err2 := c.SaveOrder(order, false, dao.GetDB()) if err2 == nil && !isDuplicated { @@ -1210,7 +1217,7 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { goodsOrder := batchItemList[0].(*model.GoodsOrder) if handler := partner.GetPurchaseOrderHandlerFromVendorID(goodsOrder.VendorID); handler != nil { - order, err2 := handler.GetOrder(goodsOrder.VendorOrgCode, goodsOrder.VendorOrderID) + order, err2 := handler.GetOrder(goodsOrder.VendorOrgCode, goodsOrder.VendorOrderID, goodsOrder.VendorStoreID) if err = err2; err == nil { if model.IsOrderFinalStatus(order.Status) { goodsOrder.Status = order.Status @@ -1264,7 +1271,7 @@ func (c *OrderManager) RefreshOrderFinancial(ctx *jxcontext.Context, fromTime, t order := batchItemList[0].(*model.GoodsOrder) handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID) if handler != nil { - remoteOrder, err2 := handler.GetOrder(order.VendorOrgCode, order.VendorOrderID) + remoteOrder, err2 := handler.GetOrder(order.VendorOrgCode, order.VendorOrderID, order.VendorStoreID) if err = err2; err == nil { order.TotalShopMoney = remoteOrder.TotalShopMoney order.PmSubsidyMoney = remoteOrder.PmSubsidyMoney diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index d4a739864..323a62c1a 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -250,7 +250,7 @@ func init() { partner.CurOrderManager.OnOrderMsg(order, "自动接单失败", err.Error()) // 为了解决京东新消息与接单消息乱序的问题 if errWithCode, ok := err.(*utils.ErrorWithCode); ok && errWithCode.Level() == 1 && errWithCode.IntCode() == -1 { - if order2, err2 := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrder(order.VendorOrgCode, order.VendorOrderID); err2 == nil { + if order2, err2 := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrder(order.VendorOrgCode, order.VendorOrderID, order.VendorStoreID); err2 == nil { if order2.Status > order.Status { order.Status = order2.Status jxutils.CallMsgHandlerAsync(func() { diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 54594ae8d..da6919219 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1004,7 +1004,7 @@ func CreateConsumerFromOrders(ctx *jxcontext.Context, vendorIDs []int, fromDate, } } if order2 == nil && order.VendorID == model.VendorIDMTWM && time.Now().Sub(curDate) < 60*24*time.Hour { - order2, err = handler.GetOrder(order.VendorOrgCode, order.VendorOrderID) + order2, err = handler.GetOrder(order.VendorOrgCode, order.VendorOrderID, order.VendorStoreID) } if order2 != nil { if order2.VendorUserID != "" && order.VendorUserID != order2.VendorUserID { diff --git a/business/partner/partner_order.go b/business/partner/partner_order.go index dace71dc7..5d7498973 100644 --- a/business/partner/partner_order.go +++ b/business/partner/partner_order.go @@ -12,7 +12,7 @@ type OrderPhoneNumberInfo struct { type IPurchasePlatformOrderHandler interface { Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) - GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) + GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) GetStatusActionTimeout(order *model.GoodsOrder, statusType, status int) (params *StatusActionParams) diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index 494fa8e65..e1fa80c26 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -81,7 +81,7 @@ func (p *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int { return model.OrderStatusUnknown } -func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) { +func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) { order, _, err = p.getOrder(vendorOrderID) return order, err } @@ -475,7 +475,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiapi. if status.Status == model.OrderStatusDelivering || status.Status == model.OrderStatusFinished { if order, err2 := partner.CurOrderManager.LoadOrder(status.VendorOrderID, status.VendorID); err2 == nil { if order.TotalShopMoney == 0 { - if order2, err2 := c.GetOrder(msg.Source, status.VendorOrderID); err2 == nil { + if order2, err2 := c.GetOrder(msg.Source, status.VendorOrderID, ""); err2 == nil { order.TotalShopMoney = order2.TotalShopMoney order.PmSubsidyMoney = order2.PmSubsidyMoney partner.CurOrderManager.UpdateOrderFields(order, []string{"TotalShopMoney", "PmSubsidyMoney"}) diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index f38995756..a47732f3d 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -38,7 +38,7 @@ var ( }, }, BusinessFormID: 1672214913, - BrandName: "京西到家", + BrandName: "京西到家便利店", }, EbaiSupplierIDhc: &tEbaiSupplierInfo{ SupplierID: EbaiSupplierIDhc, diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 96f817dea..660cb2b15 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -221,7 +221,7 @@ func (c *PurchaseHandler) getOrder(a *jdapi.API, orderID string) (order *model.G return order, orderMap, err } -func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID string) (order *model.GoodsOrder, err error) { +func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID, vendorStoreID string) (order *model.GoodsOrder, err error) { order, _, err = c.getOrder(getAPI(vendorOrgCode), orderID) return order, err } @@ -469,7 +469,7 @@ func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName s if err != nil { if errWithCode, ok := err.(*utils.ErrorWithCode); ok && errWithCode.Level() == 1 { globals.SugarLogger.Infof("Swtich2SelfDeliver failed with error:%v try get current status", err) - if order2, err2 := c.GetOrder(order.VendorOrgCode, order.VendorOrderID); err2 == nil { + if order2, err2 := c.GetOrder(order.VendorOrgCode, order.VendorOrderID, ""); err2 == nil { var mapData map[string]interface{} if err2 = utils.UnmarshalUseNumber([]byte(order2.OriginalData), &mapData); err2 == nil { if utils.Interface2String(mapData["deliveryCarrierNo"]) == "2938" { // 当前已经是自送状态了 diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index e7dd641cd..061a4f9dc 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -39,7 +39,7 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo } return order } -func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) { +func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) { resultOrders, err := api.JdShopAPI.AllOrders(&jdshopapi.AllOrdersParam{ OrderID: vendorOrderID, Current: 1, diff --git a/business/partner/purchase/jx/order.go b/business/partner/purchase/jx/order.go index 4c36f9c25..85b9bf1c7 100644 --- a/business/partner/purchase/jx/order.go +++ b/business/partner/purchase/jx/order.go @@ -15,7 +15,7 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo return order } -func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID string) (order *model.GoodsOrder, err error) { +func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID, vendorStoreID string) (order *model.GoodsOrder, err error) { order, err = partner.CurOrderManager.LoadOrder(orderID, model.VendorIDJX) return order, err } diff --git a/business/partner/purchase/mtwm/callback.go b/business/partner/purchase/mtwm/callback.go index 17087b0b3..213b68761 100644 --- a/business/partner/purchase/mtwm/callback.go +++ b/business/partner/purchase/mtwm/callback.go @@ -36,3 +36,7 @@ func OnCallbackMsg(msg *mtwmapi.CallbackMsg) (response *mtwmapi.CallbackResponse func GetOrderIDFromMsg(msg *mtwmapi.CallbackMsg) string { return msg.FormData.Get(mtwmapi.KeyOrderID) } + +func GetVendorStoreIDFromMsg(msg *mtwmapi.CallbackMsg) string { + return msg.FormData.Get(mtwmapi.KeyAppPoiCode) +} diff --git a/business/partner/purchase/mtwm/mtwm.go b/business/partner/purchase/mtwm/mtwm.go index ee860d2ba..99b19108a 100644 --- a/business/partner/purchase/mtwm/mtwm.go +++ b/business/partner/purchase/mtwm/mtwm.go @@ -5,6 +5,8 @@ import ( "strings" "sync" + "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -224,7 +226,24 @@ func (p *PurchaseHandler) getUploadImgPoiCode() (poiCode string) { return poiCode } -func getAPI(appOrgCode string) (apiObj *mtwmapi.API) { +func getAPI(appOrgCode string, storeID int, vendorStoreID string) (apiObj *mtwmapi.API) { + if appOrgCode == "" { + globals.SugarLogger.Warnf("getAPI appOrgCode is empty") + } + apiObj = partner.CurAPIManager.GetAPI(model.VendorIDMTWM, appOrgCode).(*mtwmapi.API) + if appOrgCode == globals.Mtwm2Code { + var storeDetail *dao.StoreDetail + if storeID != 0 { + storeDetail, _ = dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDEBAI, appOrgCode) + } else if vendorStoreID != "" { + storeDetail, _ = dao.GetStoreDetailByVendorStoreID(dao.GetDB(), vendorStoreID, model.VendorIDEBAI, appOrgCode) + } + apiObj.SetToken(storeDetail.MtwmToken) + } + return apiObj +} + +func getAPIWithoutToken(appOrgCode string) (apiObj *mtwmapi.API) { if appOrgCode == "" { globals.SugarLogger.Warnf("getAPI appOrgCode is empty") } diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index fd6aeab7e..2efdb3a04 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -84,8 +84,8 @@ func (p *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int { return model.OrderStatusUnknown } -func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) { - result, err := getAPI(vendorOrgCode).OrderGetOrderDetail(utils.Str2Int64(vendorOrderID), true) +func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) { + result, err := getAPI(vendorOrgCode, 0, vendorStoreID).OrderGetOrderDetail(utils.Str2Int64(vendorOrderID), true) if err == nil { result[keyVendorOrgCode] = vendorOrgCode order = p.Map2Order(result) @@ -93,13 +93,15 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID string) (order * return order, result, err } -func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) { - order, _, err = p.getOrder(vendorOrgCode, vendorOrderID) +func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) { + order, _, err = p.getOrder(vendorOrgCode, vendorOrderID, vendorStoreID) return order, err } func (p *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) { - status, err = getAPI(vendorOrgCode).OrderViewStatus(utils.Str2Int64(vendorOrderID)) + if order, _ := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM); order != nil { + status, err = getAPI(vendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderViewStatus(utils.Str2Int64(vendorOrderID)) + } if err == nil { status = p.getStatusFromVendorStatus(utils.Int2Str(status)) } @@ -284,9 +286,9 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo func getRefundSkuDetailList(msg *mtwmapi.CallbackMsg, order *model.GoodsOrder) (skuList []*mtwmapi.RefundSkuDetail, err error) { if false { - skuList = getAPI(order.VendorOrgCode).GetRefundSkuDetailFromMsg(msg) + skuList = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").GetRefundSkuDetailFromMsg(msg) } else { - refundOrderDetailList, err2 := getAPI(order.VendorOrgCode).GetOrderRefundDetail(utils.Str2Int64(GetOrderIDFromMsg(msg)), mtwmapi.RefundTypePart) + refundOrderDetailList, err2 := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").GetOrderRefundDetail(utils.Str2Int64(GetOrderIDFromMsg(msg)), mtwmapi.RefundTypePart) if err = err2; err == nil { for _, v := range refundOrderDetailList { skuList = append(skuList, v.WmAppRetailForOrderPartRefundList...) @@ -321,7 +323,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap return nil } if msg.Cmd == mtwmapi.MsgTypeNewOrder { - order, orderMap, err2 := c.getOrder(msg.AppID, GetOrderIDFromMsg(msg)) + order, orderMap, err2 := c.getOrder(msg.AppID, GetOrderIDFromMsg(msg), GetVendorStoreIDFromMsg(msg)) if err = err2; err == nil { err = partner.CurOrderManager.OnOrderNew(order, c.callbackMsg2Status(msg)) if err == nil { @@ -337,7 +339,8 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap } else { if status != nil { var order *model.GoodsOrder - if order, err = c.GetOrder(msg.AppID, GetOrderIDFromMsg(msg)); err == nil { + if order, err = partner.CurOrderManager.LoadOrder(GetOrderIDFromMsg(msg), model.VendorIDEBAI); err == nil { + // if order, err = c.GetOrder(msg.AppID, GetOrderIDFromMsg(msg)); err == nil { if status.Status == model.OrderStatusAdjust { skuList, err2 := getRefundSkuDetailList(msg, order) if err = err2; err == nil { @@ -358,14 +361,14 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap // 美团订单即使时在配送状态时,如果之前没有调用过拣货完成,也会对门店指标生成影响,这里强制再调用拣货完成,且忽略错误 utils.CallFuncAsync(func() { if globals.EnableMtwmStoreWrite { - err = getAPI(order.VendorOrgCode).PreparationMealComplete(utils.Str2Int64(status.VendorOrderID)) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(status.VendorOrderID)) } }) } err = partner.CurOrderManager.OnOrderStatusChanged(msg.AppID, status) if err == nil && msg.Cmd == mtwmapi.MsgTypeOrderFinished { utils.CallFuncAsync(func() { - orderMap, err := getAPI(order.VendorOrgCode).OrderGetOrderDetail(utils.Str2Int64(GetOrderIDFromMsg(msg)), true) + orderMap, err := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderGetOrderDetail(utils.Str2Int64(GetOrderIDFromMsg(msg)), true) if err == nil && utils.MustInterface2Int64(orderMap["is_third_shipping"]) == SelfDeliveryCarrierNo { c.OnOrderDetail(orderMap, partner.UpdatedPeration) } @@ -402,7 +405,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) (orderSta if notifyType == mtwmapi.NotifyTypePartyApply { if globals.EnableMtwmStoreWrite { if order, _ := partner.CurOrderManager.LoadOrder(orderID, model.VendorIDMTWM); order != nil { - getAPI(order.VendorOrgCode).OrderRefundAgree(utils.Str2Int64(orderID), "自动确认退款") + getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderRefundAgree(utils.Str2Int64(orderID), "自动确认退款") } // goods, err := dao.GetSimpleOrder(dao.GetDB(), orderID) // if err == nil { @@ -466,7 +469,7 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI if isAcceptIt { if globals.EnableMtwmStoreWrite { // err = api.MtwmAPI.OrderReceived(utils.Str2Int64(order.VendorOrderID)) - err = getAPI(order.VendorOrgCode).OrderConfirm(utils.Str2Int64(order.VendorOrderID)) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderConfirm(utils.Str2Int64(order.VendorOrderID)) if err != nil { if utils.IsErrMatch(err, utils.Int2Str(mtwmapi.ErrCodeOpFailed), []string{ "订单已经确认过了", @@ -493,7 +496,7 @@ func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo if !isSelfDelivery { if globals.EnableMtwmStoreWrite { // err = api.MtwmAPI.OrderConfirm(utils.Str2Int64(order.VendorOrderID)) - err = getAPI(order.VendorOrgCode).PreparationMealComplete(utils.Str2Int64(order.VendorOrderID)) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(order.VendorOrderID)) } } if err == nil { @@ -522,7 +525,7 @@ func (c *PurchaseHandler) CanSwitch2SelfDeliver(order *model.GoodsOrder) (isCan func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) { globals.SugarLogger.Debugf("mtwm Swtich2SelfDeliver orderID:%s", order.VendorOrderID) if globals.EnableMtwmStoreWrite { - err = getAPI(order.VendorOrgCode).OrderLogisticsChange2Self(utils.Str2Int64(order.VendorOrderID)) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderLogisticsChange2Self(utils.Str2Int64(order.VendorOrderID)) } return err } @@ -540,7 +543,7 @@ func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) { globals.SugarLogger.Debugf("mtwm SelfDeliverDelivering orderID:%s", order.VendorOrderID) if globals.EnableMtwmStoreWrite { - err = getAPI(order.VendorOrgCode).OrderDelivering(utils.Str2Int64(order.VendorOrderID)) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(utils.Str2Int64(order.VendorOrderID)) } return err } @@ -548,7 +551,7 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) { globals.SugarLogger.Debugf("mtwm SelfDeliverDelivered orderID:%s", order.VendorOrderID) if globals.EnableMtwmStoreWrite { - err = getAPI(order.VendorOrgCode).OrderArrived(utils.Str2Int64(order.VendorOrderID)) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderArrived(utils.Str2Int64(order.VendorOrderID)) } return err } @@ -568,9 +571,9 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { if globals.EnableMtwmStoreWrite { if isAgree { - err = getAPI(order.VendorOrgCode).OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason) } else { - err = getAPI(order.VendorOrgCode).OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason) } } return err @@ -578,7 +581,7 @@ func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *mod func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { if globals.EnableMtwmStoreWrite { - if err = getAPI(order.VendorOrgCode).OrderCancel(utils.Str2Int64(order.VendorOrderID), reason, mtwmapi.CancelReasonOther); err == nil { + if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderCancel(utils.Str2Int64(order.VendorOrderID), reason, mtwmapi.CancelReasonOther); err == nil { // 调用开放平台接口取消订单,不推送取消订单消息和退款消息。 c.postFakeMsg(order.VendorOrderID, mtwmapi.MsgTypeOrderCanceled, mtwmapi.OrderStatusCanceled) } @@ -602,7 +605,7 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods }) } if globals.EnableMtwmStoreWrite { - err = getAPI(order.VendorOrgCode).OrderApplyPartRefund(utils.Str2Int64(order.VendorOrderID), reason, skuList) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderApplyPartRefund(utils.Str2Int64(order.VendorOrderID), reason, skuList) } } return err @@ -634,11 +637,11 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode strin seqEnd := seqStart + batchSize - 1 var tmpOrderIDs []int64 if seqStart == seqEnd { - if vendorOderID, err2 := getAPI(vendorOrgCode).GetOrderIdByDaySeqSingle(vendorStoreID, queryDate, seqStart); err2 == nil { + if vendorOderID, err2 := getAPI(vendorOrgCode, 0, vendorStoreID).GetOrderIdByDaySeqSingle(vendorStoreID, queryDate, seqStart); err2 == nil { tmpOrderIDs = []int64{vendorOderID} } } else { - tmpOrderIDs, err = getAPI(vendorOrgCode).GetOrderIdByDaySeq(vendorStoreID, queryDate, seqStart, seqEnd) + tmpOrderIDs, err = getAPI(vendorOrgCode, 0, vendorStoreID).GetOrderIdByDaySeq(vendorStoreID, queryDate, seqStart, seqEnd) } if len(tmpOrderIDs) > 0 { for _, v := range tmpOrderIDs { @@ -677,7 +680,7 @@ func (p *PurchaseHandler) GetOrderConsigneeNumber(ctx *jxcontext.Context, storeI offset := 0 for { store, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM, "") - result, err2 := getAPI(store.VendorOrgCode).OrderBatchPullPhoneNumber(vendorStoreID, offset, mtwmapi.MaxBatchPullPhoneNumberLimit) + result, err2 := getAPI(store.VendorOrgCode, storeID, "").OrderBatchPullPhoneNumber(vendorStoreID, offset, mtwmapi.MaxBatchPullPhoneNumberLimit) if err = err2; err == nil { for _, v := range result { v2 := &partner.OrderPhoneNumberInfo{ @@ -704,7 +707,7 @@ func (p *PurchaseHandler) GetOrderCourierNumber(ctx *jxcontext.Context, storeID offset := 0 for { store, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM, "") - result, err2 := getAPI(store.VendorOrgCode).OrderGetRiderInfoPhoneNumber(vendorStoreID, offset, mtwmapi.MaxBatchPullPhoneNumberLimit) + result, err2 := getAPI(store.VendorOrgCode, 0, "").OrderGetRiderInfoPhoneNumber(vendorStoreID, offset, mtwmapi.MaxBatchPullPhoneNumberLimit) if err = err2; err == nil { for _, v := range result { numberList = append(numberList, &partner.OrderPhoneNumberInfo{ @@ -785,7 +788,7 @@ func (p *PurchaseHandler) onNumberDowngrade(msg *mtwmapi.CallbackMsg) (response } func (c *PurchaseHandler) GetWaybillTip(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorOrderID, vendorWaybillID, vendorWaybillID2 string) (tipFee int64, err error) { - orderInfo, err := getAPI(vendorOrgCode).GetDistributeOrderDetail(vendorOrderID, vendorStoreID) + orderInfo, err := getAPI(vendorOrgCode, 0, vendorStoreID).GetDistributeOrderDetail(vendorOrderID, vendorStoreID) if err == nil { tipFee = jxutils.StandardPrice2Int(orderInfo.TipAmount) } @@ -794,7 +797,7 @@ func (c *PurchaseHandler) GetWaybillTip(ctx *jxcontext.Context, vendorOrgCode, v func (c *PurchaseHandler) UpdateWaybillTip(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorOrderID, vendorWaybillID, vendorWaybillID2, cityCode string, tipFee int64) (err error) { if globals.EnableMtwmStoreWrite { - err = getAPI(vendorOrgCode).OrderModityTips(vendorOrderID, vendorStoreID, jxutils.IntPrice2Standard(tipFee)) + err = getAPI(vendorOrgCode, 0, vendorStoreID).OrderModityTips(vendorOrderID, vendorStoreID, jxutils.IntPrice2Standard(tipFee)) } return err } diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index 9a61b0faf..f3a709c0f 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -42,7 +42,7 @@ func (c *PurchaseHandler) isAfsMsg(msg *mtwmapi.CallbackMsg) bool { // refundData := msg.Data.(*mtwmapi.CallbackRefundInfo) orderID := utils.Str2Int64(GetOrderIDFromMsg(msg)) order, _ := partner.CurOrderManager.LoadOrder(utils.Int64ToStr(orderID), model.VendorIDMTWM) - status, err := getAPI(order.VendorOrgCode).OrderViewStatus(orderID) + status, err := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), order.VendorStoreID).OrderViewStatus(orderID) if err == nil { return utils.Int2Str(status) == mtwmapi.OrderStatusFinished } @@ -188,9 +188,9 @@ func (c *PurchaseHandler) GetAfsStatusFromVendorStatus(resType int, notifyType s func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { if globals.EnableMtwmStoreWrite { if approveType == partner.AfsApproveTypeRefused { - err = getAPI(order.VendorOrgCode).OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason) } else { - err = getAPI(order.VendorOrgCode).OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason) } } return err diff --git a/business/partner/purchase/mtwm/order_comment.go b/business/partner/purchase/mtwm/order_comment.go index 68216536b..b719fb843 100644 --- a/business/partner/purchase/mtwm/order_comment.go +++ b/business/partner/purchase/mtwm/order_comment.go @@ -52,7 +52,7 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error) storeMap := batchItemList[0].(*model.StoreMap) endDateStr := time.Now().Add(-24 * time.Hour).Format("20060102") startDateStr := time.Now().Add(-RefreshCommentTime).Format("20060102") - commentList, err2 := getAPI(storeMap.VendorOrgCode).CommentQuery(storeMap.VendorStoreID, startDateStr, endDateStr, 0, 0, mtwmapi.CommentReplyStatusAll) + commentList, err2 := getAPI(storeMap.VendorOrgCode, storeMap.StoreID, storeMap.VendorStoreID).CommentQuery(storeMap.VendorStoreID, startDateStr, endDateStr, 0, 0, mtwmapi.CommentReplyStatusAll) var orderCommentList []*model.OrderComment if err = err2; err != nil { @@ -105,7 +105,7 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error) func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) { globals.SugarLogger.Debugf("mtwm ReplyOrderComment, orderComment:%s, replyComment:%s", utils.Format4Output(orderComment, true), replyComment) if globals.EnableMtwmStoreWrite { - err = getAPI(vendorOrgCode).CommentAddReply(orderComment.VendorStoreID, utils.Str2Int64(orderComment.UserCommentID), replyComment) + err = getAPI(vendorOrgCode, orderComment.StoreID, orderComment.VendorStoreID).CommentAddReply(orderComment.VendorStoreID, utils.Str2Int64(orderComment.UserCommentID), replyComment) } return err } diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index 1a38f8f48..51b4b0609 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -37,7 +37,7 @@ type tEbaiStoreInfo struct { } func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID string) (retVal *dao.StoreDetail, err error) { - result, err := getAPI(vendorOrgCode).PoiGet(vendorStoreID) + result, err := getAPI(vendorOrgCode, 0, vendorStoreID).PoiGet(vendorStoreID) if err == nil { // globals.SugarLogger.Debug(utils.Format4Output(result, false)) retVal = &dao.StoreDetail{ @@ -73,9 +73,9 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo retVal.ID = int(utils.Str2Int64WithDefault(poiCode, 0)) retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon var deliveryRangeInfo []map[string]interface{} - deliveryRangeInfo, err = getAPI(vendorOrgCode).ShippingFetch(poiCode) + deliveryRangeInfo, err = getAPI(vendorOrgCode, 0, vendorStoreID).ShippingFetch(poiCode) if err != nil { - deliveryRangeInfo, err = getAPI(vendorOrgCode).ShippingList(poiCode) + deliveryRangeInfo, err = getAPI(vendorOrgCode, 0, vendorStoreID).ShippingList(poiCode) } if err == nil { if len(deliveryRangeInfo) > 0 { @@ -109,7 +109,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin if db == nil { db = dao.GetDB() } - mtapi := getAPI(getStoreVendorOrgCode(storeID)) + mtapi := getAPI(getStoreVendorOrgCode(storeID), 0, "") storeDetail, err := dao.GetStoreDetail(db, storeID, model.VendorIDMTWM, "") if err != nil { return err @@ -201,7 +201,7 @@ func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (respon } func (p *PurchaseHandler) GetStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string) (storeStatus int, err error) { - result, err := getAPI(vendorOrgCode).PoiGet(vendorStoreID) + result, err := getAPI(vendorOrgCode, storeID, "").PoiGet(vendorStoreID) if err == nil { return bizStatusMtwm2JX(result.OpenLevel, result.IsOnline), nil } @@ -216,18 +216,18 @@ func (c *PurchaseHandler) UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCod openLevel, isOnline := bizStatusJX2Mtwm(status) if globals.EnableMtwmStoreWrite { if isOnline != mtwmapi.PoiStatusOnline { - err = getAPI(vendorOrgCode).PoiOffline(vendorStoreID) + err = getAPI(vendorOrgCode, storeID, vendorStoreID).PoiOffline(vendorStoreID) } else { - if err = getAPI(vendorOrgCode).PoiOnline(vendorStoreID); err == nil { // 这个函数成功返回也并不表示上线成功。。。 - remoteStoreInfo, err2 := getAPI(vendorOrgCode).PoiGet(vendorStoreID) + if err = getAPI(vendorOrgCode, storeID, vendorStoreID).PoiOnline(vendorStoreID); err == nil { // 这个函数成功返回也并不表示上线成功。。。 + remoteStoreInfo, err2 := getAPI(vendorOrgCode, storeID, vendorStoreID).PoiGet(vendorStoreID) if err = err2; err != nil { return err } if remoteStoreInfo.IsOnline == mtwmapi.PoiStatusOnline { if openLevel == mtwmapi.PoiOpenLevelHaveRest { - err = getAPI(vendorOrgCode).PoiClose(vendorStoreID) + err = getAPI(vendorOrgCode, storeID, vendorStoreID).PoiClose(vendorStoreID) } else { - err = getAPI(vendorOrgCode).PoiOpen(vendorStoreID) + err = getAPI(vendorOrgCode, storeID, vendorStoreID).PoiOpen(vendorStoreID) } } else { err = errors.New("门店还未上线,不能修改营业状态") @@ -284,14 +284,14 @@ func constrainOpTimeList(opTimeList, validOpTimeList []int16) (newOpTimeList []i func (c *PurchaseHandler) UpdateStoreOpTime(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, opTimeList []int16) (err error) { shippingTime := openTimeJX2Mtwm(opTimeList) if globals.EnableMtwmStoreWrite { - err = getAPI(vendorOrgCode).PoiShipTimeUpdate(vendorStoreID, shippingTime) + err = getAPI(vendorOrgCode, storeID, vendorStoreID).PoiShipTimeUpdate(vendorStoreID, shippingTime) if err != nil { shippingTime = "" if validOpTimeList := getOpTimeListFromErr(err); len(validOpTimeList) > 0 { shippingTime = openTimeJX2Mtwm(constrainOpTimeList(opTimeList, validOpTimeList)) } if shippingTime != "" { - err = getAPI(vendorOrgCode).PoiShipTimeUpdate(vendorStoreID, shippingTime) + err = getAPI(vendorOrgCode, storeID, vendorStoreID).PoiShipTimeUpdate(vendorStoreID, shippingTime) } } } @@ -299,7 +299,7 @@ func (c *PurchaseHandler) UpdateStoreOpTime(ctx *jxcontext.Context, vendorOrgCod } func (c *PurchaseHandler) GetAllStoresVendorID(ctx *jxcontext.Context, vendorOrgCode string) (vendorStoreIDs []string, err error) { - vendorStoreIDs, err = getAPI(vendorOrgCode).PoiGetIDs() + vendorStoreIDs, err = getAPIWithoutToken(vendorOrgCode).PoiGetIDs() return vendorStoreIDs, err } @@ -311,7 +311,7 @@ func (c *PurchaseHandler) UpdateStoreBoxFee(ctx *jxcontext.Context, vendorOrgCod boxFee, err := dao.GetSysConfigAsInt64(dao.GetDB(), model.ConfigSysMtwmBoxFee) if err == nil { if globals.EnableMtwmStoreWrite && globals.IsProductEnv() { - err = getAPI(vendorOrgCode).PackagePriceUpdate(vendorStoreID, 1, int(boxFee)) + err = getAPI(vendorOrgCode, storeID, vendorStoreID).PackagePriceUpdate(vendorStoreID, 1, int(boxFee)) } } return err diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index a2a62e07c..d707d2559 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -63,7 +63,7 @@ func getStoreVendorOrgCode(storeID int) (vendorOrgCode string) { // 门店分类 func (p *PurchaseHandler) GetStoreAllCategories(ctx *jxcontext.Context, storeID int, vendorStoreID string) (cats []*partner.BareCategoryInfo, err error) { - remoteCats, err := getAPI(getStoreVendorOrgCode(storeID)).RetailCatList(vendorStoreID) + remoteCats, err := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailCatList(vendorStoreID) if err == nil { cats = convertVendorCatList(remoteCats) } @@ -160,7 +160,7 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in SecondaryCategoryName: subCatName, Sequence: storeCat.Seq, } - err = getAPI(storeCat.VendorOrgCode).RetailCatUpdate(vendorStoreID, catName, param4Update) + err = getAPI(storeCat.VendorOrgCode, storeID, vendorStoreID).RetailCatUpdate(vendorStoreID, catName, param4Update) if storeCat.CatSyncStatus&model.SyncFlagNewMask == 0 && // 修改分类名,但分类不存在 p.IsErrCategoryNotExist(err) && originName != "" { storeCat.CatSyncStatus |= model.SyncFlagNewMask @@ -181,7 +181,7 @@ func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID in func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string, level int) (err error) { if false { if globals.EnableMtwmStoreWrite { - err = getAPI(getStoreVendorOrgCode(storeID)).RetailCatDelete(vendorStoreID, tryCatName2Code(vendorCatID), vendorCatID) + err = getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailCatDelete(vendorStoreID, tryCatName2Code(vendorCatID), vendorCatID) } } else { var catCodes []string @@ -190,9 +190,9 @@ func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID in } if globals.EnableMtwmStoreWrite { if level == 1 { - err = getAPI(getStoreVendorOrgCode(storeID)).RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, catCodes, []string{vendorCatID}, nil, nil, nil) + err = getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, catCodes, []string{vendorCatID}, nil, nil, nil) } else { - err = getAPI(getStoreVendorOrgCode(storeID)).RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, nil, nil, catCodes, []string{vendorCatID}, nil) + err = getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, nil, nil, catCodes, []string{vendorCatID}, nil) } } } @@ -323,10 +323,10 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if globals.EnableMtwmStoreWrite { if len(foodDataList) == 1 { foodDataList[0]["skus"] = string(utils.MustMarshal(foodDataList[0]["skus"])) - err = getAPI(getStoreVendorOrgCode(storeID)).RetailInitData(ctx.GetTrackInfo(), vendorStoreID, utils.Int2Str(storeSkuList[0].SkuID), foodDataList[0]) + err = getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailInitData(ctx.GetTrackInfo(), vendorStoreID, utils.Int2Str(storeSkuList[0].SkuID), foodDataList[0]) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDMTWM], syncType) } else if len(foodDataList) > 0 { - failedFoodList, err2 := getAPI(getStoreVendorOrgCode(storeID)).RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList) + failedFoodList, err2 := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList) if err = err2; err == nil { if err = putils.GenPartialFailedErr(failedFoodList, len(failedFoodList)); err != nil { failedList = SelectStoreSkuListByFoodList(storeSkuList, failedFoodList, storeID, model.VendorChineseNames[model.VendorIDMTWM], syncType) @@ -360,11 +360,11 @@ func getAppFoodCodeList(l []*mtwmapi.AppFoodResult) (vendorSkuIDs []string) { func (p *PurchaseHandler) DeleteStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { if globals.EnableMtwmStoreWrite { if len(storeSkuList) == 1 { - err = getAPI(storeSkuList[0].VendorOrgCode).RetailDelete(ctx.GetTrackInfo(), vendorStoreID, storeSkuList[0].VendorSkuID) + err = getAPI(storeSkuList[0].VendorOrgCode, storeID, vendorStoreID).RetailDelete(ctx.GetTrackInfo(), vendorStoreID, storeSkuList[0].VendorSkuID) failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDMTWM], "删除商品") } else { // todo 部分失败 - err = getAPI(getStoreVendorOrgCode(storeID)).RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, nil, nil, nil, nil, partner.BareStoreSkuInfoList(storeSkuList).GetVendorSkuIDList()) + err = getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, nil, nil, nil, nil, partner.BareStoreSkuInfoList(storeSkuList).GetVendorSkuIDList()) if err != nil { if errExt, ok := err.(*utils.ErrorWithCode); ok { myMap := make(map[string][]*mtwmapi.AppFoodResult) @@ -432,7 +432,7 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr skuList := storeSku2Mtwm(storeSkuList, updateTypeStatus) mtwmStatus := skuStatusJX2Mtwm(status) if globals.EnableMtwmStoreWrite { - failedFoodList, err2 := getAPI(vendorOrgCode).RetailSellStatus(ctx.GetTrackInfo(), vendorStoreID, skuList, mtwmStatus) + failedFoodList, err2 := getAPI(vendorOrgCode, storeID, vendorStoreID).RetailSellStatus(ctx.GetTrackInfo(), vendorStoreID, skuList, mtwmStatus) if err = err2; err == nil { if len(failedFoodList) > 0 { failedList = SelectStoreSkuListByFoodList(storeSkuList, failedFoodList, storeID, model.VendorChineseNames[model.VendorIDMTWM], "更新商品状态") @@ -452,7 +452,7 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { priceList := storeSku2Mtwm(storeSkuList, updateTypePrice) if globals.EnableMtwmStoreWrite { - failedFoodList, err2 := getAPI(vendorOrgCode).RetailSkuPrice(ctx.GetTrackInfo(), vendorStoreID, priceList) + failedFoodList, err2 := getAPI(vendorOrgCode, storeID, vendorStoreID).RetailSkuPrice(ctx.GetTrackInfo(), vendorStoreID, priceList) if err = err2; err == nil { if len(failedFoodList) > 0 { failedList = SelectStoreSkuListByFoodList(storeSkuList, failedFoodList, storeID, model.VendorChineseNames[model.VendorIDMTWM], "更新商品价格") @@ -471,7 +471,7 @@ func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrg func (p *PurchaseHandler) UpdateStoreSkusStock(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { stockList := storeSku2Mtwm(storeSkuList, updateTypeStock) if globals.EnableMtwmStoreWrite { - failedFoodList, err2 := getAPI(vendorOrgCode).RetailSkuStock(ctx.GetTrackInfo(), vendorStoreID, stockList) + failedFoodList, err2 := getAPI(vendorOrgCode, storeID, vendorStoreID).RetailSkuStock(ctx.GetTrackInfo(), vendorStoreID, stockList) if err = err2; err == nil { if len(failedFoodList) > 0 { failedList = SelectStoreSkuListByFoodList(storeSkuList, failedFoodList, storeID, model.VendorChineseNames[model.VendorIDMTWM], "更新商品库存") @@ -501,7 +501,7 @@ func mtwmSkuStatus2Jx(mtwmSkuStatus int) (jxSkuStatus int) { func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (skuNameList []*partner.SkuNameInfo, err error) { if len(storeSkuList) == 1 { - skuInfo, err := getAPI(storeSkuList[0].VendorOrgCode).RetailGet(vendorStoreID, utils.Int2Str(storeSkuList[0].SkuID)) + skuInfo, err := getAPI(storeSkuList[0].VendorOrgCode, storeID, vendorStoreID).RetailGet(vendorStoreID, utils.Int2Str(storeSkuList[0].SkuID)) if err != nil { return nil, err } @@ -513,7 +513,7 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas if storeSkuList != nil { storeSkuMap = putils.StoreSkuList2MapByVendorSkuID(storeSkuList) } - mtapi := getAPI(getStoreVendorOrgCode(storeID)) + mtapi := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID) for { // todo 待优化获取速度 result, err := mtapi.RetailList(vendorStoreID, len(skuNameList), mtwmapi.GeneralMaxLimit) @@ -674,9 +674,9 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO } if globals.EnableMtwmStoreWrite { if len(foodDataList) == 1 { - err = getAPI(vendorOrgCode).RetailInitData(ctx.GetTrackInfo(), vendorStoreID, utils.Int2Str(storeSkuList[0].SkuID), foodDataList[0]) + err = getAPI(vendorOrgCode, storeID, vendorStoreID).RetailInitData(ctx.GetTrackInfo(), vendorStoreID, utils.Int2Str(storeSkuList[0].SkuID), foodDataList[0]) } else if len(foodDataList) > 0 { - _, err = getAPI(vendorOrgCode).RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList) + _, err = getAPI(vendorOrgCode, storeID, vendorStoreID).RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList) } } return err diff --git a/business/partner/purchase/yb/order.go b/business/partner/purchase/yb/order.go index f8cace49e..59295fc58 100644 --- a/business/partner/purchase/yb/order.go +++ b/business/partner/purchase/yb/order.go @@ -12,7 +12,7 @@ func (p *PurchaseHandler) AcceptOrRefuseFailedGetOrder(ctx *jxcontext.Context, o func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) { return order } -func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) { +func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) { return order, err } func (p *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) {