- handle jd order don't have orderPurchaseTime field

This commit is contained in:
gazebo
2019-02-17 09:35:58 +08:00
parent dfc4577a3e
commit 9c8c8cf13e

View File

@@ -95,6 +95,11 @@ func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err
func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) {
result := orderData
orderID := utils.Int64ToStr(utils.MustInterface2Int64(result["orderId"]))
const defaultStatusTimeField = "orderPurchaseTime"
statusTimeField := defaultStatusTimeField
if result[statusTimeField] == nil { // 814560888003021 orderPurchaseTime为空
statusTimeField = "orderStartTime"
}
order = &model.GoodsOrder{
VendorOrderID: orderID,
VendorID: model.VendorIDJD,
@@ -107,10 +112,10 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
CoordinateType: model.CoordinateTypeMars,
BuyerComment: utils.TrimBlankChar(utils.Interface2String(result["orderBuyerRemark"])),
ExpectedDeliveredTime: utils.Str2TimeWithDefault(utils.Interface2String(result["orderPreEndDeliveryTime"]), utils.DefaultTimeValue),
PickDeadline: utils.Str2TimeWithDefault(utils.Interface2String(result["pickDeadline"]), utils.DefaultTimeValue),
PickDeadline: utils.Str2TimeWithDefault(utils.Interface2String(result["pickDeadline"]), utils.DefaultTimeValue), // 813951615000022 pickDeadline为空
VendorStatus: utils.Int64ToStr(utils.MustInterface2Int64(result["orderStatus"])),
OrderSeq: int(utils.MustInterface2Int64(result["orderNum"])),
StatusTime: utils.Str2Time(result["orderPurchaseTime"].(string)),
StatusTime: utils.Str2Time(result[statusTimeField].(string)),
OriginalData: string(utils.MustMarshal(result)),
ActualPayPrice: utils.MustInterface2Int64(result["orderBuyerPayableMoney"]),
Skus: []*model.OrderSku{},