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 {
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,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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, "")
// 操作日志(美团外卖)