美团商超

This commit is contained in:
苏尹岚
2021-02-07 15:44:59 +08:00
parent 306c0eefff
commit f4af57cb08
20 changed files with 116 additions and 83 deletions

View File

@@ -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)
}
}

View File

@@ -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"})
}

View File

@@ -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"})
}

View File

@@ -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