- 调整售后单消息的处理次序
- 将test配置改为dev一致,本地测试可用beta
This commit is contained in:
@@ -42,17 +42,24 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
||||
}
|
||||
}()
|
||||
isDuplicated, err := addOrderOrWaybillStatus(orderStatus, db)
|
||||
globals.SugarLogger.Debugf("onAfsOrderNew isDuplicated:%t", isDuplicated)
|
||||
if err != nil || isDuplicated {
|
||||
if err == nil {
|
||||
dao.Commit(db)
|
||||
}
|
||||
return err
|
||||
}
|
||||
_, err = c.loadAfsOrder(db, afsOrder.AfsOrderID, afsOrder.VendorID)
|
||||
if dao.IsNoRowsError(err) {
|
||||
err = c.SaveAfsOrder(db, afsOrder, isAdjust)
|
||||
if afsOrder.Status == model.AfsOrderStatusNew {
|
||||
if _, err = c.loadAfsOrder(db, afsOrder.AfsOrderID, afsOrder.VendorID); err != nil {
|
||||
if !dao.IsNoRowsError(err) {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
dao.Commit(db)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
if err = c.SaveAfsOrder(db, afsOrder, isAdjust); err != nil {
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
|
||||
@@ -74,7 +74,7 @@ type AfsOrder struct {
|
||||
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` // 关联原始订单ID
|
||||
VendorOrderID2 string `orm:"column(vendor_order_id2);size(48);index" json:"vendorOrderID2"` // 关联原始订单ID2,饿百独有
|
||||
AfsOrderID string `orm:"column(afs_order_id);size(48)" json:"afsOrderID"` // 售后订单ID
|
||||
AfsCreateAt time.Time `orm:"type(datetime);index" json:"afsCreateAt"` // 售后单生成时间
|
||||
AfsCreatedAt time.Time `orm:"type(datetime);null;index" json:"afsCreatedAt"` // 售后单生成时间
|
||||
AfsFinishedAt time.Time `orm:"type(datetime);null;index" json:"afsFinishedAt"` // 售后单结束时间
|
||||
VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"` // 外部系统里记录的storeid
|
||||
StoreID int `orm:"column(store_id)" json:"storeID"` // 接口返回的京西门店ID
|
||||
|
||||
@@ -61,7 +61,7 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde
|
||||
VendorID: model.VendorIDEBAI,
|
||||
AfsOrderID: GetOrderIDFromMsg(msg),
|
||||
VendorOrderID: GetOrderIDFromMsg(msg),
|
||||
AfsCreateAt: utils.Timestamp2Time(msg.Timestamp),
|
||||
AfsCreatedAt: utils.Timestamp2Time(msg.Timestamp),
|
||||
// BoxMoney: orderFinancial.BoxMoney, // 饿百的餐盒费已经拆分到单条Sku里面,退款时直接计算用户支付sku金额就好了
|
||||
// SkuBoxMoney: orderFinancial.SkuBoxMoney,
|
||||
FreightUserMoney: orderFinancial.FreightMoney,
|
||||
@@ -157,7 +157,7 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData map[string]interfac
|
||||
afsOrder.PmSubsidyMoney += orderSkuFinancial.PmSubsidyMoney
|
||||
}
|
||||
if len(refundDetail) > 0 {
|
||||
afsOrder.AfsCreateAt = getTimeFromInterface(refundDetail[0].(map[string]interface{})["apply_time"])
|
||||
afsOrder.AfsCreatedAt = getTimeFromInterface(refundDetail[0].(map[string]interface{})["apply_time"])
|
||||
} else {
|
||||
globals.SugarLogger.Warnf("ebai AfsOrderDetail2Financial, orderID:%s have no refund_detail", afsOrder.VendorOrderID)
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
@@ -44,9 +45,11 @@ func (c *PurchaseHandler) isAfsMsg(msg *ebaiapi.CallbackMsg) bool {
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) OnAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiapi.CallbackResponse) {
|
||||
utils.CallFuncAsync(func() {
|
||||
retVal = c.onAfsOrderMsg(msg)
|
||||
})
|
||||
jxutils.CallMsgHandler(func() {
|
||||
utils.CallFuncAsync(func() {
|
||||
retVal = c.onAfsOrderMsg(msg)
|
||||
})
|
||||
}, jxutils.ComposeUniversalOrderID(GetOrderIDFromMsg(msg), model.VendorIDEBAI))
|
||||
return retVal
|
||||
}
|
||||
|
||||
@@ -58,7 +61,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia
|
||||
VendorOrderID: orderStatus.RefVendorOrderID,
|
||||
VendorStoreID: "",
|
||||
StoreID: 0,
|
||||
AfsCreateAt: utils.Timestamp2Time(msg.Timestamp),
|
||||
AfsCreatedAt: utils.Timestamp2Time(msg.Timestamp),
|
||||
VendorAppealType: "",
|
||||
AppealType: model.AfsAppealTypeRefund,
|
||||
// FreightUserMoney: afsInfo.OrderFreightMoney,
|
||||
|
||||
@@ -177,7 +177,7 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData map[string]interfac
|
||||
VendorOrderID: utils.Interface2String(orderData["orderId"]),
|
||||
VendorStoreID: utils.Interface2String(orderData["stationId"]),
|
||||
StoreID: int(utils.Str2Int64WithDefault(utils.Interface2String(orderData["stationNumOutSystem"]), 0)),
|
||||
AfsCreateAt: utils.Timestamp2Time(utils.MustInterface2Int64(orderData["updateTime"].(map[string]interface{})["time"]) / 1000),
|
||||
AfsCreatedAt: utils.Timestamp2Time(utils.MustInterface2Int64(orderData["updateTime"].(map[string]interface{})["time"]) / 1000),
|
||||
FreightUserMoney: utils.MustInterface2Int64(orderData["orderFreightMoney"]),
|
||||
AfsFreightMoney: utils.MustInterface2Int64(orderData["afsFreight"]),
|
||||
BoxMoney: utils.MustInterface2Int64(orderData["packagingMoney"]),
|
||||
|
||||
@@ -12,6 +12,6 @@ func TestOnFinancialMsg(t *testing.T) {
|
||||
BillID: "907315020000322",
|
||||
StatusID: "330902",
|
||||
}
|
||||
res := OnFinancialMsg(msg)
|
||||
res := curPurchaseHandler.onFinancialMsg(msg)
|
||||
fmt.Println(res)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package jd
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
@@ -60,7 +61,9 @@ var (
|
||||
|
||||
func (c *PurchaseHandler) OnAfsOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
|
||||
utils.CallFuncAsync(func() {
|
||||
retVal = c.onAfsOrderMsg(msg)
|
||||
jxutils.CallMsgHandler(func() {
|
||||
retVal = c.onAfsOrderMsg(msg)
|
||||
}, jxutils.ComposeUniversalOrderID(msg.BillID, model.VendorIDJD))
|
||||
})
|
||||
return retVal
|
||||
}
|
||||
@@ -125,7 +128,7 @@ func (c *PurchaseHandler) buildAfsOrder(afsInfo *jdapi.AfsServiceResponse) (afsO
|
||||
VendorOrderID: afsInfo.OrderID,
|
||||
VendorStoreID: afsInfo.StationID,
|
||||
StoreID: int(utils.Str2Int64WithDefault(afsInfo.StationNumOutSystem, 0)),
|
||||
AfsCreateAt: afsInfo.UpdateTime.GoTime(),
|
||||
AfsCreatedAt: afsInfo.UpdateTime.GoTime(),
|
||||
FreightUserMoney: afsInfo.OrderFreightMoney,
|
||||
AfsFreightMoney: afsInfo.AfsFreight,
|
||||
BoxMoney: afsInfo.PackagingMoney,
|
||||
|
||||
@@ -45,7 +45,7 @@ func (p *PurchaseHandler) OrderFinancialDetail2Refund(orderFinancial *model.Orde
|
||||
VendorID: model.VendorIDMTWM,
|
||||
AfsOrderID: orderData.Get("order_id"),
|
||||
VendorOrderID: orderData.Get("order_id"),
|
||||
AfsCreateAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))),
|
||||
AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))),
|
||||
// BoxMoney: orderFinancial.BoxMoney,
|
||||
// SkuBoxMoney: orderFinancial.SkuBoxMoney, // 美团的餐盒费已经拆到单条SKU里面去了,退款时直接计算用户支付sku金额就好了
|
||||
FreightUserMoney: orderFinancial.FreightMoney,
|
||||
@@ -93,7 +93,7 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData url.Values) (afsOrd
|
||||
VendorID: model.VendorIDMTWM,
|
||||
AfsOrderID: orderData.Get("order_id"),
|
||||
VendorOrderID: orderData.Get("order_id"),
|
||||
AfsCreateAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))),
|
||||
AfsCreatedAt: utils.Timestamp2Time(utils.Str2Int64(orderData.Get("timestamp"))),
|
||||
RefundMoney: jxutils.StandardPrice2Int(utils.Str2Float64(orderData.Get("money"))),
|
||||
}
|
||||
// if orderData.Get("timestamp") != "" {
|
||||
|
||||
Reference in New Issue
Block a user