diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index b56b0b6f2..e5e3e561c 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -74,11 +74,11 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo ConsigneeAddress: userMap["address"].(string), CoordinateType: model.CoordinateTypeBaiDu, BuyerComment: utils.TrimBlankChar(utils.Interface2String(orderMap["remark"])), - ExpectedDeliveredTime: getTimeFromTimestampStr(utils.Interface2String(orderMap["send_time"])), + ExpectedDeliveredTime: getTimeFromInterface(orderMap["send_time"]), PickDeadline: utils.DefaultTimeValue, VendorStatus: utils.Int64ToStr(utils.MustInterface2Int64(orderMap["status"])), OrderSeq: int(utils.Str2Int64(utils.Interface2String(orderMap["order_index"]))), - StatusTime: getTimeFromTimestampStr(utils.Interface2String(orderMap["create_time"])), + StatusTime: getTimeFromInterface(orderMap["create_time"]), OriginalData: string(utils.MustMarshal(result)), ActualPayPrice: utils.MustInterface2Int64(orderMap["user_fee"]), Skus: []*model.OrderSku{}, @@ -299,8 +299,13 @@ func (c *PurchaseHandler) postFakeFinishedPickupMsg(vendorOrderID string) { }) } -func getTimeFromTimestampStr(sendTime string) time.Time { - timeStamp := utils.Str2Int64WithDefault(sendTime, 0) +func getTimeFromInterface(timeValue interface{}) time.Time { + var timeStamp int64 + if timeStr, ok := timeValue.(string); ok { + timeStamp = utils.Str2Int64WithDefault(timeStr, 0) + } else { + timeStamp = utils.Interface2Int64WithDefault(timeValue, 0) + } if timeStamp < 1538103149 { // 立即达订单给的是1(而不是空,0),1538103149不是特殊值,只是一个任意之前的时间,这样写可以处理 return utils.DefaultTimeValue }