- 调整售后单消息的处理次序
- 将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") != "" {
|
||||
|
||||
@@ -204,64 +204,28 @@ dingdingCallbackURL = "http://callback-jxgy.jxc4.com/dingding/msg"
|
||||
|
||||
getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken"
|
||||
|
||||
[prod2]
|
||||
httpport = 8082
|
||||
|
||||
disableJd = false
|
||||
jdToken = "46058015-11b1-485d-9622-b7a91e446023"
|
||||
jdAppKey = "8410aba1b67e4d3199098e944f91cb68"
|
||||
jdSecret = "14af1be608934b73accab57b9efe8c96"
|
||||
|
||||
disableElm = true
|
||||
disableMtps = true
|
||||
disableDada = true
|
||||
disableWeixin = true
|
||||
disableEbai = true
|
||||
|
||||
dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_2?charset=utf8mb4&loc=Local&parseTime=true"
|
||||
|
||||
enableStoreWrite = true
|
||||
|
||||
[prod3]
|
||||
httpport = 8082
|
||||
|
||||
disableJd = false
|
||||
jdToken = "8a2af9af-14bb-4464-8676-aaacf6348e5c"
|
||||
jdAppKey = "6c269bdfa1dd496c8194aa8fb569e71b"
|
||||
jdSecret = "d678e48d202c4bf29d66c3b6642ece80"
|
||||
|
||||
disableElm = true
|
||||
disableMtps = true
|
||||
disableDada = true
|
||||
disableWeixin = true
|
||||
disableEbai = true
|
||||
|
||||
dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_2?charset=utf8mb4&loc=Local&parseTime=true"
|
||||
|
||||
enableStoreWrite = true
|
||||
|
||||
[test]
|
||||
jdToken = "ccb10daf-e6f5-4a58-ada5-b97f9073a137"
|
||||
jdAppKey = "1dba76d40cac446ca500c0391a0b6c9d"
|
||||
jdSecret = "a88d031a1e7b462cb1579f12e97fe7f4"
|
||||
jdToken = "df97f334-f7d8-4b36-9664-5784d8ae0baf"
|
||||
jdAppKey = "06692746f7224695ad4788ce340bc854"
|
||||
jdSecret = "d6b42a35a7414a5490d811654d745c84"
|
||||
|
||||
elmIsProd = true
|
||||
elmToken = ""
|
||||
elmAppKey = "KLRDcOZGrk"
|
||||
elmSecret = "1fc221f8265506531da36fb613d5f5ad673f2e9a"
|
||||
elmIsProd = false
|
||||
elmToken = "2d2b583447b04b6bba5a6f3faed3559b"
|
||||
elmAppKey = "RwT214gAsS"
|
||||
elmSecret = "56afff4b9ebd8a7eb532d18fa33f17be57f9b9db"
|
||||
|
||||
ebaiSource = "34665"
|
||||
ebaiSecret = "c3db75b754ea2d89"
|
||||
ebaiSource = "62923"
|
||||
ebaiSecret = "aa4cdc6c1108486b"
|
||||
|
||||
mtpsAppKey = "3c0a05d464c247c19d7ec13accc78605"
|
||||
mtpsSecret = "b1M}9?:sTbsB[OF2gNORnN(|(iy9rB8(`7]|[wGLnbmt`evfM>E:A90DjHAW:UPE"
|
||||
mtpsAppKey = "25e816550bc9484480642f19a95f13fd"
|
||||
mtpsSecret = "r4$HqrKx9~=7?2Jfo,$Z~a7%~k!Au&pEdI2)oPJvSbH2ao@2N0[8wSIvtuumh_J^"
|
||||
|
||||
dadaIsProd = true
|
||||
dadaIsProd = false
|
||||
dadaCallbackURL = "http://callback.test.jxc4.com/dadadelivery/msg"
|
||||
dadaSourceID = "6660"
|
||||
dadaSourceID = "73753"
|
||||
|
||||
weixinAppID = "wx2bb99eb5d2c9b82c"
|
||||
weixinSecret = "6bbbed1443cc062c20a015a64c07a531"
|
||||
weixinAppID = "wxbf235770edaabc5c"
|
||||
weixinSecret = "ba32b269a068a5b72486a0beafd171e8"
|
||||
|
||||
dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user