- empty scheduler added.

This commit is contained in:
gazebo
2018-07-12 20:53:22 +08:00
parent 1c6ba2e43a
commit 52248ca427
13 changed files with 338 additions and 238 deletions

View File

@@ -5,7 +5,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/controller"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/business/scheduler"
"git.rosy.net.cn/jx-callback/globals/api"
)
@@ -13,7 +13,7 @@ type OrderController struct {
}
func init() {
controller.OrderManager.RegisterPurchasePlatform(controller.VendorIDELM, new(OrderController))
scheduler.CurrentScheduler.RegisterPurchasePlatform(model.VendorIDELM, new(OrderController))
}
func (c *OrderController) OnOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
@@ -24,25 +24,27 @@ func (c *OrderController) OnOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
}
func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
if jdapi.OrderStatusNew == msg.StatusID || jdapi.OrderStatusAdjust == msg.StatusID {
if jdapi.OrderStatusNew == msg.StatusID {
retVal = c.onOrderNew(msg)
} else if jdapi.OrderStatusAdjust == msg.StatusID {
retVal = c.onOrderAdjust(msg)
} else {
status := c.callbackMsg2Status(msg)
switch msg.StatusID {
case jdapi.OrderStatusWaitOutStore:
status.Status = controller.OrderStatusAccepted
status.Status = model.OrderStatusAccepted
case jdapi.OrderStatusFinishedPickup:
status.Status = controller.OrderStatusFinishedPickup
status.Status = model.OrderStatusFinishedPickup
case jdapi.OrderStatusDelivering:
status.Status = controller.OrderStatusDelivering
status.Status = model.OrderStatusDelivering
case jdapi.OrderStatusDelivered:
status.Status = controller.OrderStatusDelivered
status.Status = model.OrderStatusDelivered
case jdapi.OrderStatusCanceled:
status.Status = controller.OrderStatusCanceled
status.Status = model.OrderStatusCanceled
case jdapi.OrderStatusUserApplyCancel:
status.Status = controller.OrderStatusApplyCancel
status.Status = model.OrderStatusApplyCancel
default:
status.Status = controller.OrderStatusUnknown
status.Status = model.OrderStatusUnknown
}
retVal = jdapi.Err2CallbackResponse(controller.OrderManager.OnOrderStatusChanged(status), status.VendorStatus)
}
@@ -55,7 +57,7 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
if err == nil {
order = &model.GoodsOrder{
VendorOrderID: msg.BillID,
VendorID: controller.VendorIDJD,
VendorID: model.VendorIDJD,
VendorStoreID: result["produceStationNo"].(string),
StoreID: int(utils.Str2Int64WithDefault(utils.Interface2String(result["produceStationNoIsv"]), 0)),
StoreName: result["produceStationName"].(string),
@@ -64,7 +66,7 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
ConsigneeAddress: result["buyerFullAddress"].(string),
ConsigneeLat: controller.StandardCoordinate2Int(utils.MustInterface2Float64(result["buyerLat"])),
ConsigneeLng: controller.StandardCoordinate2Int(utils.MustInterface2Float64(result["buyerLng"])),
CoordinateType: controller.CoordinateTypeMars,
CoordinateType: model.CoordinateTypeMars,
VendorStatus: msg.StatusID,
OrderCreatedAt: utils.Str2Time(result["orderStartTime"].(string)),
OriginalData: string(utils.MustMarshal(result)),
@@ -75,7 +77,7 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
product := product2.(map[string]interface{})
sku := &model.OrderSku{
VendorOrderID: msg.BillID,
VendorID: controller.VendorIDJD,
VendorID: model.VendorIDJD,
Count: int(utils.MustInterface2Int64(product["skuCount"])),
SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(product["skuIdIsv"]), 0)),
VendorSkuID: utils.Int64ToStr(utils.MustInterface2Int64(product["skuId"])),
@@ -98,9 +100,8 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
order, orderSkus, err := c.getOrderInfo(msg)
if err == nil {
order.Status = model.OrderStatusNew
err = controller.OrderManager.OnOrderNew(order, orderSkus)
} else {
globals.SugarLogger.Debugf("get order error:%v", err)
}
return jdapi.Err2CallbackResponse(err, "jd onOrderNew")
}
@@ -108,23 +109,33 @@ func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jda
func (c *OrderController) onOrderAdjust(msg *jdapi.CallbackOrderMsg) *jdapi.CallbackResponse {
order, orderSkus, err := c.getOrderInfo(msg)
if err == nil {
order.Status = model.OrderStatusAdjust
err = controller.OrderManager.OnOrderAdjust(order, orderSkus)
}
return jdapi.Err2CallbackResponse(err, "jd onOrderAdjust")
}
// PurchasePlatformHandler
func (c *OrderController) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) {
api.JdAPI.OrderAcceptOperate(order.VendorOrderID, isAcceptIt)
}
func (c *OrderController) callbackMsg2Status(msg *jdapi.CallbackOrderMsg) *model.OrderStatus {
orderStatus := &model.OrderStatus{
VendorOrderID: msg.BillID,
VendorID: controller.VendorIDJD,
OrderType: controller.OrderTypeOrder,
VendorID: model.VendorIDJD,
OrderType: model.OrderTypeOrder,
VendorStatus: msg.StatusID,
StatusTime: utils.Str2Time(msg.Timestamp),
}
return orderStatus
}
// PurchasePlatformHandler
func (c *OrderController) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) (err error) {
_, err = api.JdAPI.OrderAcceptOperate(order.VendorOrderID, isAcceptIt)
return err
}
func (c *OrderController) ForcePickUp(order *model.GoodsOrder) (err error) {
return nil
}
func (c *OrderController) SwtichSelfDeliver(order *model.GoodsOrder) (err error) {
return nil
}