This commit is contained in:
邹宗楠
2023-07-04 18:14:47 +08:00
parent b4089926f5
commit 46dbea6cdf
7 changed files with 51 additions and 38 deletions

View File

@@ -411,8 +411,9 @@ func (c *OrderManager) CreateAfsOrderFromOrder(vendorOrderID string, vendorID in
for _, sku := range order.Skus { for _, sku := range order.Skus {
orderSkuFinancial := &model.OrderSkuFinancial{ orderSkuFinancial := &model.OrderSkuFinancial{
VendorID: sku.VendorID, VendorID: sku.VendorID,
VendorOrderID: sku.VendorOrderID, VendorOrderID: sku.VendorOrderID,
VendorSubOrderID: sku.VendorSubOrderID,
// OrderFinancialID: sku.VendorOrderID, // OrderFinancialID: sku.VendorOrderID,
// ConfirmTime: afsOrder.AfsCreateAt, // ConfirmTime: afsOrder.AfsCreateAt,
VendorStoreID: afsOrder.VendorStoreID, VendorStoreID: afsOrder.VendorStoreID,

View File

@@ -119,10 +119,11 @@ func (o *AfsOrder) TableUnique() [][]string {
type OrderSkuFinancial struct { type OrderSkuFinancial struct {
ModelIDCUL ModelIDCUL
VendorID int `orm:"column(vendor_id)" json:"vendorID"` // 平台id VendorID int `orm:"column(vendor_id)" json:"vendorID"` // 平台id
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` // 关联原始订单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 VendorSubOrderID string `orm:"column(vendor_sub_order_id);size(48)" json:"vendorSubOrderID"` // 关联原始订单ID
IsAfsOrder int8 `json:"isAfsOrder"` // 0--正向单, 1--售后单 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"` // 订单生成/完成时间 // ConfirmTime time.Time `orm:"type(datetime)" json:"confirmTime"` // 订单生成/完成时间
VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"` // 外部系统里记录的storeid VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"` // 外部系统里记录的storeid

View File

@@ -88,9 +88,10 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde
} }
for _, sku := range orderFinancial.Skus { for _, sku := range orderFinancial.Skus {
orderSkuFinancial := &model.OrderSkuFinancial{ orderSkuFinancial := &model.OrderSkuFinancial{
VendorID: sku.VendorID, VendorID: sku.VendorID,
VendorOrderID: sku.VendorOrderID, VendorOrderID: sku.VendorOrderID,
AfsOrderID: sku.VendorOrderID, VendorSubOrderID: sku.VendorSubOrderID,
AfsOrderID: sku.VendorOrderID,
// ConfirmTime: afsOrder.AfsCreateAt, // ConfirmTime: afsOrder.AfsCreateAt,
VendorStoreID: afsOrder.VendorStoreID, VendorStoreID: afsOrder.VendorStoreID,
StoreID: afsOrder.StoreID, StoreID: afsOrder.StoreID,
@@ -141,9 +142,10 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData map[string]interfac
for _, refundInfo := range refundDetail { for _, refundInfo := range refundDetail {
xMap := refundInfo.(map[string]interface{}) xMap := refundInfo.(map[string]interface{})
orderSkuFinancial := &model.OrderSkuFinancial{ orderSkuFinancial := &model.OrderSkuFinancial{
VendorID: model.VendorIDEBAI, VendorID: model.VendorIDEBAI,
AfsOrderID: afsOrder.AfsOrderID, AfsOrderID: afsOrder.AfsOrderID,
VendorOrderID: afsOrder.VendorOrderID, VendorOrderID: afsOrder.VendorOrderID,
VendorSubOrderID: afsOrder.VendorOrderID2,
// ConfirmTime: getTimeFromInterface(xMap["apply_time"]), // ConfirmTime: getTimeFromInterface(xMap["apply_time"]),
VendorSkuID: utils.Interface2String(xMap["sku_id"]), VendorSkuID: utils.Interface2String(xMap["sku_id"]),
SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(xMap["custom_sku_id"]), 0)), SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(xMap["custom_sku_id"]), 0)),

View File

@@ -29,7 +29,7 @@ func OnFinancialMsg(msg *mtwmapi.CallbackMsg) (err error) {
orderData := msg.FormData orderData := msg.FormData
if orderData.Get("notify_type") == mtwmapi.NotifyTypeSuccess { if orderData.Get("notify_type") == mtwmapi.NotifyTypeSuccess {
afsOrderID := orderData.Get("order_id") afsOrderID := orderData.Get("order_id")
orderFinancial, err := partner.CurOrderManager.LoadOrderFinancial(afsOrderID, model.VendorIDMTWM) orderFinancial, err := partner.CurOrderManager.LoadOrderFinancial(afsOrderID, model.VendorIDTaoVegetable)
if err == nil { if err == nil {
err = partner.CurOrderManager.SaveAfsOrderFinancialInfo(CurPurchaseHandler.OrderFinancialDetail2Refund(orderFinancial, orderData)) err = partner.CurOrderManager.SaveAfsOrderFinancialInfo(CurPurchaseHandler.OrderFinancialDetail2Refund(orderFinancial, orderData))
} else { } 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) { func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.OrderFinancial, orderData url.Values) (afsOrder *model.AfsOrder) {
afsOrder = &model.AfsOrder{ afsOrder = &model.AfsOrder{
VendorID: model.VendorIDMTWM, VendorID: model.VendorIDTaoVegetable,
AfsOrderID: orderData.Get("refund_id"), AfsOrderID: orderData.Get("refund_id"),
VendorOrderID: orderData.Get("order_id"), VendorOrderID: orderData.Get("order_id"),
AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))), AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))),
@@ -63,8 +63,9 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde
} }
for _, sku := range orderFinancial.Skus { for _, sku := range orderFinancial.Skus {
orderSkuFinancial := &model.OrderSkuFinancial{ orderSkuFinancial := &model.OrderSkuFinancial{
VendorID: sku.VendorID, VendorID: sku.VendorID,
VendorOrderID: sku.VendorOrderID, VendorOrderID: sku.VendorOrderID,
VendorSubOrderID: sku.VendorSubOrderID,
// OrderFinancialID: sku.VendorOrderID, // OrderFinancialID: sku.VendorOrderID,
// ConfirmTime: afsOrder.AfsCreateAt, // ConfirmTime: afsOrder.AfsCreateAt,
VendorStoreID: afsOrder.VendorStoreID, VendorStoreID: afsOrder.VendorStoreID,
@@ -88,7 +89,7 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde
func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData url.Values) (afsOrder *model.AfsOrder) { func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData url.Values) (afsOrder *model.AfsOrder) {
afsOrder = &model.AfsOrder{ afsOrder = &model.AfsOrder{
VendorID: model.VendorIDMTWM, VendorID: model.VendorIDTaoVegetable,
AfsOrderID: orderData.Get("order_id"), AfsOrderID: orderData.Get("order_id"),
VendorOrderID: orderData.Get("order_id"), VendorOrderID: orderData.Get("order_id"),
AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))), 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) utils.UnmarshalUseNumber([]byte(food), &refundDetail)
for _, xMap := range refundDetail { for _, xMap := range refundDetail {
orderSkuFinancial := &model.OrderSkuFinancial{ orderSkuFinancial := &model.OrderSkuFinancial{
VendorID: model.VendorIDMTWM, VendorID: model.VendorIDTaoVegetable,
AfsOrderID: afsOrder.AfsOrderID, AfsOrderID: afsOrder.AfsOrderID,
VendorOrderID: afsOrder.VendorOrderID, VendorOrderID: afsOrder.VendorOrderID,
VendorSubOrderID: afsOrder.VendorOrderID2,
// ConfirmTime: afsOrder.AfsCreateAt, // ConfirmTime: afsOrder.AfsCreateAt,
VendorSkuID: utils.Interface2String(xMap["app_food_code"]), VendorSkuID: utils.Interface2String(xMap["app_food_code"]),
SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(xMap["sku_id"]), 0)), 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 { for _, x := range *result.SubOrderResponseList {
orderSkuFinancial := &model.OrderSkuFinancial{ orderSkuFinancial := &model.OrderSkuFinancial{
VendorID: orderFinancial.VendorID, VendorID: orderFinancial.VendorID,
VendorOrderID: orderFinancial.VendorOrderID, VendorOrderID: orderFinancial.VendorOrderID,
VendorStoreID: *result.StoreId, VendorSubOrderID: orderFinancial.VendorOrderID2,
StoreID: 0, VendorStoreID: *result.StoreId,
JxStoreID: jxStoreID, StoreID: 0,
VendorSkuID: *x.SkuCode, JxStoreID: jxStoreID,
SkuID: utils.Str2Int(*x.SkuCode), VendorSkuID: *x.SkuCode,
Name: *x.SkuName, SkuID: utils.Str2Int(*x.SkuCode),
SalePrice: *x.Price, Name: *x.SkuName,
Count: utils.Float64TwoInt(*x.BuySaleQuantity), SalePrice: *x.Price,
SkuBoxMoney: 0, Count: utils.Float64TwoInt(*x.BuySaleQuantity),
IsAfsOrder: 0, SkuBoxMoney: 0,
IsAfsOrder: 0,
} }
orderFinancial.Skus = append(orderFinancial.Skus, orderSkuFinancial) orderFinancial.Skus = append(orderFinancial.Skus, orderSkuFinancial)
orderFinancial.SalePriceMoney += orderSkuFinancial.SalePrice * int64(orderSkuFinancial.Count) orderFinancial.SalePriceMoney += orderSkuFinancial.SalePrice * int64(orderSkuFinancial.Count)
@@ -180,8 +183,9 @@ func (p *PurchaseHandler) OrderDetail2Financial(result *domain591.AlibabaAelophy
if x.Activitys != nil { if x.Activitys != nil {
for _, v := range *x.Activitys { for _, v := range *x.Activitys {
activity := &model.OrderDiscountFinancial{ activity := &model.OrderDiscountFinancial{
VendorID: orderFinancial.VendorID, VendorID: orderFinancial.VendorID,
VendorOrderID: orderFinancial.VendorOrderID, VendorOrderID: orderFinancial.VendorOrderID,
VendorOrderID2: orderFinancial.VendorOrderID2,
} }
if v.ChannelActivityId != nil { if v.ChannelActivityId != nil {
activity.VendorActivityID = *v.ChannelActivityId activity.VendorActivityID = *v.ChannelActivityId

View File

@@ -104,6 +104,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode string, vendorOrderID int64, ve
for _, extra := range *orderDetail.SubOrderResponseList { for _, extra := range *orderDetail.SubOrderResponseList {
sku := &model.OrderSku{ sku := &model.OrderSku{
VendorOrderID: order.VendorOrderID, VendorOrderID: order.VendorOrderID,
VendorSubOrderID: *extra.OutSubOrderId,
VendorID: model.VendorIDTaoVegetable, VendorID: model.VendorIDTaoVegetable,
StoreSubID: 0, StoreSubID: 0,
StoreSubName: "", StoreSubName: "",
@@ -122,7 +123,6 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode string, vendorOrderID int64, ve
OrderCreatedAt: order.OrderCreatedAt, OrderCreatedAt: order.OrderCreatedAt,
IsVendorAct: 0, IsVendorAct: 0,
Upc: *extra.Barcode, Upc: *extra.Barcode,
VendorSubOrderID: utils.Int64ToStr(*extra.BizSubOrderId),
} }
activityId := make([]int64, 0) activityId := make([]int64, 0)
@@ -436,6 +436,9 @@ func (c *PurchaseHandler) callbackOrderMsg2Status(msg *tao_vegetable.CallbackOrd
case tao_vegetable.OrderStatusOnSaleCancel: case tao_vegetable.OrderStatusOnSaleCancel:
orderStatus.Status = model.OrderStatusCanceled orderStatus.Status = model.OrderStatusCanceled
orderStatus.Remark = "用户售中取消" orderStatus.Remark = "用户售中取消"
case tao_vegetable.OrderStatusSuccess: // 送达
orderStatus.Status = model.OrderStatusFinished
orderStatus.Remark = "订单送达"
} }
return orderStatus return orderStatus
} }

View File

@@ -125,6 +125,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
Name: *sku.SkuName, Name: *sku.SkuName,
UserMoney: *sku.OriginalFee - *sku.DiscountFee, UserMoney: *sku.OriginalFee - *sku.DiscountFee,
PmSkuSubsidyMoney: *sku.DiscountPlatformFee, // 平台补贴商品 PmSkuSubsidyMoney: *sku.DiscountPlatformFee, // 平台补贴商品
VendorOrderID: orderStatus.VendorOrderID,
VendorSubOrderID: *sku.OutSubOrderId,
} }
afsOrder.PmSkuSubsidyMoney += orderSku.PmSkuSubsidyMoney 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) { 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 orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney + afsTotalShopMoney
} }
return orderAfsInfo, err return orderAfsInfo, err

View File

@@ -440,7 +440,7 @@ func (p *PurchaseHandler) onStoreStatusChanged(msg *mtwmapi.CallbackMsg) (respon
} }
if err == nil { if err == nil {
err = partner.CurStoreManager.OnStoreStatusChanged(vendorStoreID, model.VendorIDMTWM, storeStatus) err = partner.CurStoreManager.OnStoreStatusChanged(vendorStoreID, model.VendorIDTaoVegetable, storeStatus)
} }
response = mtwmapi.Err2CallbackResponse(err, "") response = mtwmapi.Err2CallbackResponse(err, "")
// 操作日志(美团外卖) // 操作日志(美团外卖)