From 46dbea6cdf4d24afcbfd3b16ce665ab5c975190d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 4 Jul 2023 18:14:47 +0800 Subject: [PATCH] 1 --- business/jxcallback/orderman/order_afs.go | 5 +- business/model/order_financial.go | 9 ++-- business/partner/purchase/ebai/financial.go | 14 +++--- .../purchase/tao_vegetable/financial.go | 48 ++++++++++--------- .../partner/purchase/tao_vegetable/order.go | 5 +- .../purchase/tao_vegetable/order_afs.go | 6 ++- .../partner/purchase/tao_vegetable/store.go | 2 +- 7 files changed, 51 insertions(+), 38 deletions(-) diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index e361d0cdc..5fe5c9bfa 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -411,8 +411,9 @@ func (c *OrderManager) CreateAfsOrderFromOrder(vendorOrderID string, vendorID in for _, sku := range order.Skus { orderSkuFinancial := &model.OrderSkuFinancial{ - VendorID: sku.VendorID, - VendorOrderID: sku.VendorOrderID, + VendorID: sku.VendorID, + VendorOrderID: sku.VendorOrderID, + VendorSubOrderID: sku.VendorSubOrderID, // OrderFinancialID: sku.VendorOrderID, // ConfirmTime: afsOrder.AfsCreateAt, VendorStoreID: afsOrder.VendorStoreID, diff --git a/business/model/order_financial.go b/business/model/order_financial.go index aef6bddf0..6f5da2492 100644 --- a/business/model/order_financial.go +++ b/business/model/order_financial.go @@ -119,10 +119,11 @@ func (o *AfsOrder) TableUnique() [][]string { type OrderSkuFinancial struct { ModelIDCUL - VendorID int `orm:"column(vendor_id)" json:"vendorID"` // 平台id - VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` // 关联原始订单ID - AfsOrderID string `orm:"column(afs_order_id);size(48)" json:"afsOrderID"` // 售后单ID - IsAfsOrder int8 `json:"isAfsOrder"` // 0--正向单, 1--售后单 + VendorID int `orm:"column(vendor_id)" json:"vendorID"` // 平台id + VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` // 关联原始订单ID + VendorSubOrderID string `orm:"column(vendor_sub_order_id);size(48)" json:"vendorSubOrderID"` // 关联原始订单ID + AfsOrderID string `orm:"column(afs_order_id);size(48)" json:"afsOrderID"` // 售后单ID + IsAfsOrder int8 `json:"isAfsOrder"` // 0--正向单, 1--售后单 // ConfirmTime time.Time `orm:"type(datetime)" json:"confirmTime"` // 订单生成/完成时间 VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"` // 外部系统里记录的storeid diff --git a/business/partner/purchase/ebai/financial.go b/business/partner/purchase/ebai/financial.go index 40cfe6773..8607b74eb 100644 --- a/business/partner/purchase/ebai/financial.go +++ b/business/partner/purchase/ebai/financial.go @@ -88,9 +88,10 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde } for _, sku := range orderFinancial.Skus { orderSkuFinancial := &model.OrderSkuFinancial{ - VendorID: sku.VendorID, - VendorOrderID: sku.VendorOrderID, - AfsOrderID: sku.VendorOrderID, + VendorID: sku.VendorID, + VendorOrderID: sku.VendorOrderID, + VendorSubOrderID: sku.VendorSubOrderID, + AfsOrderID: sku.VendorOrderID, // ConfirmTime: afsOrder.AfsCreateAt, VendorStoreID: afsOrder.VendorStoreID, StoreID: afsOrder.StoreID, @@ -141,9 +142,10 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData map[string]interfac for _, refundInfo := range refundDetail { xMap := refundInfo.(map[string]interface{}) orderSkuFinancial := &model.OrderSkuFinancial{ - VendorID: model.VendorIDEBAI, - AfsOrderID: afsOrder.AfsOrderID, - VendorOrderID: afsOrder.VendorOrderID, + VendorID: model.VendorIDEBAI, + AfsOrderID: afsOrder.AfsOrderID, + VendorOrderID: afsOrder.VendorOrderID, + VendorSubOrderID: afsOrder.VendorOrderID2, // ConfirmTime: getTimeFromInterface(xMap["apply_time"]), VendorSkuID: utils.Interface2String(xMap["sku_id"]), SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(xMap["custom_sku_id"]), 0)), diff --git a/business/partner/purchase/tao_vegetable/financial.go b/business/partner/purchase/tao_vegetable/financial.go index c31d6510b..8b1a6c9b0 100644 --- a/business/partner/purchase/tao_vegetable/financial.go +++ b/business/partner/purchase/tao_vegetable/financial.go @@ -29,7 +29,7 @@ func OnFinancialMsg(msg *mtwmapi.CallbackMsg) (err error) { orderData := msg.FormData if orderData.Get("notify_type") == mtwmapi.NotifyTypeSuccess { afsOrderID := orderData.Get("order_id") - orderFinancial, err := partner.CurOrderManager.LoadOrderFinancial(afsOrderID, model.VendorIDMTWM) + orderFinancial, err := partner.CurOrderManager.LoadOrderFinancial(afsOrderID, model.VendorIDTaoVegetable) if err == nil { err = partner.CurOrderManager.SaveAfsOrderFinancialInfo(CurPurchaseHandler.OrderFinancialDetail2Refund(orderFinancial, orderData)) } else { @@ -42,7 +42,7 @@ func OnFinancialMsg(msg *mtwmapi.CallbackMsg) (err error) { func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.OrderFinancial, orderData url.Values) (afsOrder *model.AfsOrder) { afsOrder = &model.AfsOrder{ - VendorID: model.VendorIDMTWM, + VendorID: model.VendorIDTaoVegetable, AfsOrderID: orderData.Get("refund_id"), VendorOrderID: orderData.Get("order_id"), AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))), @@ -63,8 +63,9 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde } for _, sku := range orderFinancial.Skus { orderSkuFinancial := &model.OrderSkuFinancial{ - VendorID: sku.VendorID, - VendorOrderID: sku.VendorOrderID, + VendorID: sku.VendorID, + VendorOrderID: sku.VendorOrderID, + VendorSubOrderID: sku.VendorSubOrderID, // OrderFinancialID: sku.VendorOrderID, // ConfirmTime: afsOrder.AfsCreateAt, VendorStoreID: afsOrder.VendorStoreID, @@ -88,7 +89,7 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData url.Values) (afsOrder *model.AfsOrder) { afsOrder = &model.AfsOrder{ - VendorID: model.VendorIDMTWM, + VendorID: model.VendorIDTaoVegetable, AfsOrderID: orderData.Get("order_id"), VendorOrderID: orderData.Get("order_id"), AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))), @@ -111,9 +112,10 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData url.Values) (afsOrd utils.UnmarshalUseNumber([]byte(food), &refundDetail) for _, xMap := range refundDetail { orderSkuFinancial := &model.OrderSkuFinancial{ - VendorID: model.VendorIDMTWM, - AfsOrderID: afsOrder.AfsOrderID, - VendorOrderID: afsOrder.VendorOrderID, + VendorID: model.VendorIDTaoVegetable, + AfsOrderID: afsOrder.AfsOrderID, + VendorOrderID: afsOrder.VendorOrderID, + VendorSubOrderID: afsOrder.VendorOrderID2, // ConfirmTime: afsOrder.AfsCreateAt, VendorSkuID: utils.Interface2String(xMap["app_food_code"]), SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(xMap["sku_id"]), 0)), @@ -159,18 +161,19 @@ func (p *PurchaseHandler) OrderDetail2Financial(result *domain591.AlibabaAelophy // 订单 for _, x := range *result.SubOrderResponseList { orderSkuFinancial := &model.OrderSkuFinancial{ - VendorID: orderFinancial.VendorID, - VendorOrderID: orderFinancial.VendorOrderID, - VendorStoreID: *result.StoreId, - StoreID: 0, - JxStoreID: jxStoreID, - VendorSkuID: *x.SkuCode, - SkuID: utils.Str2Int(*x.SkuCode), - Name: *x.SkuName, - SalePrice: *x.Price, - Count: utils.Float64TwoInt(*x.BuySaleQuantity), - SkuBoxMoney: 0, - IsAfsOrder: 0, + VendorID: orderFinancial.VendorID, + VendorOrderID: orderFinancial.VendorOrderID, + VendorSubOrderID: orderFinancial.VendorOrderID2, + VendorStoreID: *result.StoreId, + StoreID: 0, + JxStoreID: jxStoreID, + VendorSkuID: *x.SkuCode, + SkuID: utils.Str2Int(*x.SkuCode), + Name: *x.SkuName, + SalePrice: *x.Price, + Count: utils.Float64TwoInt(*x.BuySaleQuantity), + SkuBoxMoney: 0, + IsAfsOrder: 0, } orderFinancial.Skus = append(orderFinancial.Skus, orderSkuFinancial) orderFinancial.SalePriceMoney += orderSkuFinancial.SalePrice * int64(orderSkuFinancial.Count) @@ -180,8 +183,9 @@ func (p *PurchaseHandler) OrderDetail2Financial(result *domain591.AlibabaAelophy if x.Activitys != nil { for _, v := range *x.Activitys { activity := &model.OrderDiscountFinancial{ - VendorID: orderFinancial.VendorID, - VendorOrderID: orderFinancial.VendorOrderID, + VendorID: orderFinancial.VendorID, + VendorOrderID: orderFinancial.VendorOrderID, + VendorOrderID2: orderFinancial.VendorOrderID2, } if v.ChannelActivityId != nil { activity.VendorActivityID = *v.ChannelActivityId diff --git a/business/partner/purchase/tao_vegetable/order.go b/business/partner/purchase/tao_vegetable/order.go index a9c173560..698ea0be4 100644 --- a/business/partner/purchase/tao_vegetable/order.go +++ b/business/partner/purchase/tao_vegetable/order.go @@ -104,6 +104,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode string, vendorOrderID int64, ve for _, extra := range *orderDetail.SubOrderResponseList { sku := &model.OrderSku{ VendorOrderID: order.VendorOrderID, + VendorSubOrderID: *extra.OutSubOrderId, VendorID: model.VendorIDTaoVegetable, StoreSubID: 0, StoreSubName: "", @@ -122,7 +123,6 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode string, vendorOrderID int64, ve OrderCreatedAt: order.OrderCreatedAt, IsVendorAct: 0, Upc: *extra.Barcode, - VendorSubOrderID: utils.Int64ToStr(*extra.BizSubOrderId), } activityId := make([]int64, 0) @@ -436,6 +436,9 @@ func (c *PurchaseHandler) callbackOrderMsg2Status(msg *tao_vegetable.CallbackOrd case tao_vegetable.OrderStatusOnSaleCancel: orderStatus.Status = model.OrderStatusCanceled orderStatus.Remark = "用户售中取消" + case tao_vegetable.OrderStatusSuccess: // 送达 + orderStatus.Status = model.OrderStatusFinished + orderStatus.Remark = "订单送达" } return orderStatus } diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index d4511e1e9..fda37f967 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -125,6 +125,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal Name: *sku.SkuName, UserMoney: *sku.OriginalFee - *sku.DiscountFee, PmSkuSubsidyMoney: *sku.DiscountPlatformFee, // 平台补贴商品 + VendorOrderID: orderStatus.VendorOrderID, + VendorSubOrderID: *sku.OutSubOrderId, } afsOrder.PmSkuSubsidyMoney += orderSku.PmSkuSubsidyMoney @@ -281,7 +283,7 @@ func (c *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, ord // 发起全款退款 func (c *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { - return fmt.Errorf("%s不支持售后全额退款,请让买家发起退款", model.VendorChineseNames[model.VendorIDMTWM]) + return fmt.Errorf("%s不支持售后全额退款,请让买家发起退款", model.VendorChineseNames[model.VendorIDTaoVegetable]) } // 发起部分退款 @@ -299,7 +301,7 @@ func (c *PurchaseHandler) GetOrderAfsInfo(ctx *jxcontext.Context, vendorOrderID, } } } - if order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM); err == nil { + if order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDTaoVegetable); err == nil { orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney + afsTotalShopMoney } return orderAfsInfo, err diff --git a/business/partner/purchase/tao_vegetable/store.go b/business/partner/purchase/tao_vegetable/store.go index d32f173b5..dac751604 100644 --- a/business/partner/purchase/tao_vegetable/store.go +++ b/business/partner/purchase/tao_vegetable/store.go @@ -440,7 +440,7 @@ func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (respon } if err == nil { - err = partner.CurStoreManager.OnStoreStatusChanged(vendorStoreID, model.VendorIDMTWM, storeStatus) + err = partner.CurStoreManager.OnStoreStatusChanged(vendorStoreID, model.VendorIDTaoVegetable, storeStatus) } response = mtwmapi.Err2CallbackResponse(err, "") // 操作日志(美团外卖)