diff --git a/business/controller/elm/order.go b/business/controller/elm/order.go index 91ab06fde..752c4c69e 100644 --- a/business/controller/elm/order.go +++ b/business/controller/elm/order.go @@ -79,9 +79,9 @@ func (c *OrderController) onOrderStatusMsg(msg *elmapi.CallbackOrderStatusMsg) ( return elmapi.SuccessResponse } err := controller.OrderManager.OnOrderStatusChanged(status) - if globals.HandleLegacyJxOrder && err == nil { - c.legacyElmOrderStatusChanged(status) - } + // if globals.HandleLegacyJxOrder && err == nil { + // c.legacyElmOrderStatusChanged(status) + // } return elmapi.Err2CallbackResponse(err, status.VendorStatus) } @@ -119,8 +119,8 @@ func (c *OrderController) getOrderInfo(orderID string) (order *model.GoodsOrder, ConsigneeAddress: result["address"].(string), BuyerComment: utils.Interface2String(result["description"]), ExpectedDeliveredTime: utils.Str2TimeWithDefault(utils.Interface2String(result["deliverTime"]), utils.DefaultTimeValue), - // 这里已经做了elm VendorStatus的状态组合了 - VendorStatus: c.stateAndType2Str(utils.Interface2String(result["status"]), elmapi.MsgTypeOrderValid), + // 取订单的原始status,不合并消息类型(因为当前消息类型没有意义) + VendorStatus: utils.Interface2String(result["status"]), OrderCreatedAt: utils.Str2Time(result["createdAt"].(string)), OriginalData: string(utils.MustMarshal(result)), Skus: []*model.OrderSku{}, @@ -163,11 +163,12 @@ func (c *OrderController) onOrderNew(msg map[string]interface{}) (response *elma // todo 这里应该可以直接用msg里的内容,而不用再次去查 order, err := c.getOrderInfo(msg["orderId"].(string)) if err == nil { + order.VendorStatus = c.stateAndType2Str(msg["status"].(string), elmapi.MsgTypeOrderValid) order.Status = model.OrderStatusNew err = controller.OrderManager.OnOrderNew(order) - if globals.HandleLegacyJxOrder && err == nil { - c.legacyWriteElmOrder(order) - } + // if globals.HandleLegacyJxOrder && err == nil { + // c.legacyWriteElmOrder(order) + // } } return elmapi.Err2CallbackResponse(err, "elm onOrderNew") } diff --git a/business/controller/jd/order.go b/business/controller/jd/order.go index d58c345d3..fc1c07af9 100644 --- a/business/controller/jd/order.go +++ b/business/controller/jd/order.go @@ -7,7 +7,6 @@ import ( "git.rosy.net.cn/jx-callback/business/controller" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/scheduler" - "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" ) @@ -49,9 +48,9 @@ func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi status.Status = model.OrderStatusUnknown } err := controller.OrderManager.OnOrderStatusChanged(status) - if globals.HandleLegacyJxOrder && err == nil { - c.legacyJdOrderStatusChanged(status) - } + // if globals.HandleLegacyJxOrder && err == nil { + // c.legacyJdOrderStatusChanged(status) + // } retVal = jdapi.Err2CallbackResponse(err, status.VendorStatus) } return retVal @@ -127,9 +126,9 @@ func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jda if err == nil { order.Status = model.OrderStatusNew err = controller.OrderManager.OnOrderNew(order) - if err == nil { - c.legacyWriteJdOrder(order, false) - } + // if err == nil { + // c.legacyWriteJdOrder(order, false) + // } } return jdapi.Err2CallbackResponse(err, "jd onOrderNew") } @@ -139,9 +138,9 @@ func (c *OrderController) onOrderAdjust(msg *jdapi.CallbackOrderMsg) *jdapi.Call if err == nil { order.Status = model.OrderStatusAdjust err = controller.OrderManager.OnOrderAdjust(order) - if globals.HandleLegacyJxOrder && err == nil { - c.legacyWriteJdOrder(order, true) - } + // if globals.HandleLegacyJxOrder && err == nil { + // c.legacyWriteJdOrder(order, true) + // } } return jdapi.Err2CallbackResponse(err, "jd onOrderAdjust") } diff --git a/business/controller/mtps/waybill.go b/business/controller/mtps/waybill.go index 8057e6892..c58623c5d 100644 --- a/business/controller/mtps/waybill.go +++ b/business/controller/mtps/waybill.go @@ -34,7 +34,7 @@ func (c *WaybillController) OnWaybillExcept(msg *mtpsapi.CallbackOrderExceptionM WaybillVendorID: model.VendorIDMTPS, CourierName: msg.CourierName, CourierMobile: msg.CourierPhone, - Status: model.WaybillStatusFailed, + Status: model.WaybillStatusFailed, // todo 这里要再确定一下是否只要收到订单异常消息就视为订单失败 VendorStatus: utils.Int2Str(msg.ExceptionCode), WaybillCreatedAt: utils.Timestamp2Time(msg.Timestamp), } diff --git a/business/controller/order.go b/business/controller/order.go index 269c410f1..0582758e0 100644 --- a/business/controller/order.go +++ b/business/controller/order.go @@ -139,7 +139,7 @@ func (c *OrderController) updateOrderSkuOtherInfo(orderSkus []*model.OrderSku, d for _, v := range lists { skumapper[v[0].(string)] = v[1].(string) } - globals.SugarLogger.Debug(skumapper) + // globals.SugarLogger.Debug(skumapper) for _, v := range orderSkus { if jxskuid, ok := skumapper[v.VendorSkuID]; ok { v.JxSkuID = int(utils.Str2Int64(jxskuid)) diff --git a/business/model/order.go b/business/model/order.go index f91f327a2..2f12eb7ad 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -28,7 +28,7 @@ type GoodsOrder struct { CoordinateType int SkuCount int // 商品类别数量,即有多少种商品(注意在某些情况下,相同SKU的商品由于售价不同,也会当成不同商品在这个值里) GoodsCount int // 商品个数 - Status int // 参见相关常量定义 + Status int // 参见OrderStatus*相关的常量定义 VendorStatus string `orm:"size(16)"` LockStatus int BuyerComment string `orm:"size(255)"` @@ -77,17 +77,18 @@ func (o *OrderSku) TableIndex() [][]string { } type Waybill struct { - ID int64 `orm:"column(id)"` - VendorOrderID string `orm:"column(vendor_order_id);size(48)"` - OrderVendorID int `orm:"column(order_vendor_id)"` - VendorWaybillID string `orm:"column(vendor_waybill_id);size(48)"` - VendorWaybillID2 string `orm:"column(vendor_waybill_id2);size(48)"` // 某些平台有多个ID,比如美团配送,当前美团配送的 delivery_id存这里 - WaybillVendorID int `orm:"column(waybill_vendor_id)"` - CourierName string `orm:"size(32)"` - CourierMobile string `orm:"size(32)"` - Status int - VendorStatus string `orm:"size(16)"` - ActualFee int64 + ID int64 `orm:"column(id)"` + VendorOrderID string `orm:"column(vendor_order_id);size(48)"` + OrderVendorID int `orm:"column(order_vendor_id)"` + VendorWaybillID string `orm:"column(vendor_waybill_id);size(48)"` + VendorWaybillID2 string `orm:"column(vendor_waybill_id2);size(48)"` // 某些平台有多个ID,比如美团配送,当前美团配送的 delivery_id存这里 + WaybillVendorID int `orm:"column(waybill_vendor_id)"` + CourierName string `orm:"size(32)"` + CourierMobile string `orm:"size(32)"` + Status int // 参见WaybillStatus*相关的常量定义 + VendorStatus string `orm:"size(16)"` + ActualFee int64 // 实际要支付给快递公司的实际费用 + DesiredFee int64 // 根据合同计算出来的预期费用 DuplicatedCount int // 重复新定单消息数,这个一般不是由于消息重发赞成的(消息重发由OrderStatus过滤),一般是业务逻辑赞成的 WaybillCreatedAt time.Time `orm:"type(datetime);index"` WaybillFinishedAt time.Time `orm:"type(datetime)"` diff --git a/routers/router.go b/routers/router.go index d8e854ce3..dddd4dcc8 100644 --- a/routers/router.go +++ b/routers/router.go @@ -37,6 +37,6 @@ func init() { ) beego.AddNamespace(nsJd, nsElm, nsMtps, nsDada) beego.Get("/", func(ctx *beecontext.Context) { - ctx.WriteString("pong") + ctx.WriteString("pong\n") }) }