- all call CallFuncLogError add order info

- callLegacyMsgHandler, callNewMsgHandler and generateLegacyJxOrder config
- call legacy lefted msg handler in new process(elm urge order and bad comment on jd)
This commit is contained in:
gazebo
2018-07-22 13:45:16 +08:00
parent dcdf432ac9
commit 0cb34fe089
14 changed files with 213 additions and 127 deletions

View File

@@ -12,6 +12,7 @@ import (
"git.rosy.net.cn/jx-callback/business/scheduler"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"git.rosy.net.cn/jx-callback/legacy/freshfood"
)
type OrderController struct {
@@ -49,6 +50,11 @@ func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
status.Status = model.OrderStatusCanceled
case jdapi.OrderStatusUserApplyCancel:
status.Status = model.OrderStatusApplyCancel
case jdapi.OrderStatusAddComment, jdapi.OrderStatusModifyComment:
status.Status = model.OrderStatusUnknown
if globals.ReallyCallPlatformAPI {
freshfood.FreshFoodAPI.JDOrderComment(msg)
}
default:
status.Status = model.OrderStatusUnknown
}
@@ -61,12 +67,12 @@ func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
return retVal
}
func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *model.GoodsOrder, err error) {
result, err := api.JdAPI.QuerySingleOrder(msg.BillID)
func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err error) {
result, err := api.JdAPI.QuerySingleOrder(orderID)
// globals.SugarLogger.Info(result)
if err == nil {
order = &model.GoodsOrder{
VendorOrderID: msg.BillID,
VendorOrderID: orderID,
VendorID: model.VendorIDJD,
VendorStoreID: result["produceStationNo"].(string),
StoreID: int(utils.Str2Int64WithDefault(utils.Interface2String(result["produceStationNoIsv"]), 0)),
@@ -77,7 +83,7 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
CoordinateType: model.CoordinateTypeMars,
BuyerComment: utils.FilterMb4(strings.Trim(utils.Interface2String(result["orderBuyerRemark"]), "\n\r\t ")),
ExpectedDeliveredTime: utils.Str2TimeWithDefault(utils.Interface2String(result["orderPreEndDeliveryTime"]), utils.DefaultTimeValue),
VendorStatus: msg.StatusID,
VendorStatus: utils.Int64ToStr(utils.MustInterface2Int64(result["orderStatus"])),
OrderSeq: int(utils.MustInterface2Int64(result["orderNum"])),
StatusTime: utils.Str2Time(result["orderPurchaseTime"].(string)),
OriginalData: utils.FilterMb4(string(utils.MustMarshal(result))),
@@ -103,7 +109,7 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
for _, product2 := range result["product"].([]interface{}) {
product := product2.(map[string]interface{})
sku := &model.OrderSku{
VendorOrderID: msg.BillID,
VendorOrderID: orderID,
VendorID: model.VendorIDJD,
Count: int(utils.MustInterface2Int64(product["skuCount"])),
SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(product["skuIdIsv"]), 0)),
@@ -128,7 +134,7 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
//
func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
order, err := c.getOrderInfo(msg)
order, err := c.GetOrder(msg.BillID)
if err == nil {
order.Status = model.OrderStatusNew
err = controller.OrderManager.OnOrderNew(order)
@@ -140,7 +146,7 @@ func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jda
}
func (c *OrderController) onOrderAdjust(msg *jdapi.CallbackOrderMsg) *jdapi.CallbackResponse {
order, err := c.getOrderInfo(msg)
order, err := c.GetOrder(msg.BillID)
if err == nil {
order.Status = model.OrderStatusAdjust
err = controller.OrderManager.OnOrderAdjust(order)
@@ -166,41 +172,26 @@ func (c *OrderController) callbackMsg2Status(msg *jdapi.CallbackOrderMsg) *model
// PurchasePlatformHandler
func (c *OrderController) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) (err error) {
globals.SugarLogger.Infof("AcceptOrRefuseOrder order:%v", order.VendorOrderID)
return nil
_, err = api.JdAPI.OrderAcceptOperate(order.VendorOrderID, isAcceptIt)
return err
}
func (c *OrderController) PickedUpGoods(order *model.GoodsOrder) (err error) {
globals.SugarLogger.Infof("PickedUpGoods order:%v", order)
return nil
_, err = api.JdAPI.OrderJDZBDelivery(order.VendorOrderID)
return c.translateOrderRelatedErr(err)
}
func (c *OrderController) Swtich2SelfDeliver(vendorOrderID string) (err error) {
globals.SugarLogger.Infof("Swtich2SelfDeliver order:%v", vendorOrderID)
return nil
_, err = api.JdAPI.ModifySellerDelivery(vendorOrderID)
func (c *OrderController) Swtich2SelfDeliver(order *model.GoodsOrder) (err error) {
_, err = api.JdAPI.ModifySellerDelivery(order.VendorOrderID)
return c.translateOrderRelatedErr(err)
}
func (c *OrderController) SelfDeliverDelievering(order *model.GoodsOrder) (err error) {
globals.SugarLogger.Infof("SelfDeliverDelievering order:%v", order)
return nil
_, err = api.JdAPI.OrderSerllerDelivery(order.VendorOrderID)
return c.translateOrderRelatedErr(err)
}
func (c *OrderController) SelfDeliverDelievered(order *model.GoodsOrder) (err error) {
globals.SugarLogger.Infof("SelfDeliverDelievered order:%v", order)
return nil
_, err = api.JdAPI.DeliveryEndOrder(order.VendorOrderID)
return err
}