diff --git a/business/jxcallback/orderman/order_afs.go b/business/jxcallback/orderman/order_afs.go index 11ec4cc5b..419eb1fd6 100644 --- a/business/jxcallback/orderman/order_afs.go +++ b/business/jxcallback/orderman/order_afs.go @@ -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) diff --git a/business/model/order_financial.go b/business/model/order_financial.go index d66d7ce7c..9da67285f 100644 --- a/business/model/order_financial.go +++ b/business/model/order_financial.go @@ -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 diff --git a/business/partner/purchase/ebai/financial.go b/business/partner/purchase/ebai/financial.go index e515d6245..df69fbb89 100644 --- a/business/partner/purchase/ebai/financial.go +++ b/business/partner/purchase/ebai/financial.go @@ -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) } diff --git a/business/partner/purchase/ebai/order_afs.go b/business/partner/purchase/ebai/order_afs.go index 64602bf84..3d1718d35 100644 --- a/business/partner/purchase/ebai/order_afs.go +++ b/business/partner/purchase/ebai/order_afs.go @@ -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, diff --git a/business/partner/purchase/jd/financial.go b/business/partner/purchase/jd/financial.go index df86d3e45..220499e8d 100644 --- a/business/partner/purchase/jd/financial.go +++ b/business/partner/purchase/jd/financial.go @@ -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"]), diff --git a/business/partner/purchase/jd/financial_test.go b/business/partner/purchase/jd/financial_test.go index 3ce5a73fe..d8a72aab1 100644 --- a/business/partner/purchase/jd/financial_test.go +++ b/business/partner/purchase/jd/financial_test.go @@ -12,6 +12,6 @@ func TestOnFinancialMsg(t *testing.T) { BillID: "907315020000322", StatusID: "330902", } - res := OnFinancialMsg(msg) + res := curPurchaseHandler.onFinancialMsg(msg) fmt.Println(res) } diff --git a/business/partner/purchase/jd/order_afs.go b/business/partner/purchase/jd/order_afs.go index 4acf7e6a0..a8dcac394 100644 --- a/business/partner/purchase/jd/order_afs.go +++ b/business/partner/purchase/jd/order_afs.go @@ -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, diff --git a/business/partner/purchase/mtwm/financial.go b/business/partner/purchase/mtwm/financial.go index f32918a40..410c6b556 100644 --- a/business/partner/purchase/mtwm/financial.go +++ b/business/partner/purchase/mtwm/financial.go @@ -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") != "" { diff --git a/conf/app.conf b/conf/app.conf index 919faedff..bdb9a572b 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -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"