- 处理微商城订单为自提单的情况
This commit is contained in:
@@ -52,7 +52,7 @@ func (p *PurchaseHandler) onOrderMsg(msg *weimobapi.CallbackMsg) (response *weim
|
|||||||
orderMapData, err = api.WeimobAPI.QueryOrderDetail(msg.OrderNo, false)
|
orderMapData, err = api.WeimobAPI.QueryOrderDetail(msg.OrderNo, false)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
status = p.callbackMsg2Status(msg, orderMapData)
|
status = p.callbackMsg2Status(msg, orderMapData)
|
||||||
if status.Status == model.OrderStatusNew {
|
if msg.Event == weimobapi.MsgEventCreateOrder || status.Status == model.OrderStatusNew {
|
||||||
order := p.Map2Order(orderMapData)
|
order := p.Map2Order(orderMapData)
|
||||||
order.StatusTime = msg.StatusTime
|
order.StatusTime = msg.StatusTime
|
||||||
err = partner.CurOrderManager.OnOrderNew(order, status)
|
err = partner.CurOrderManager.OnOrderNew(order, status)
|
||||||
@@ -115,20 +115,13 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
|
|||||||
result := orderData
|
result := orderData
|
||||||
vendorOrderID := utils.Int64ToStr(utils.MustInterface2Int64(result["orderNo"]))
|
vendorOrderID := utils.Int64ToStr(utils.MustInterface2Int64(result["orderNo"]))
|
||||||
deliveryDetail := result["deliveryDetail"].(map[string]interface{})
|
deliveryDetail := result["deliveryDetail"].(map[string]interface{})
|
||||||
logisticsDeliveryDetail := deliveryDetail["logisticsDeliveryDetail"].(map[string]interface{})
|
logisticsDeliveryDetail, _ := deliveryDetail["logisticsDeliveryDetail"].(map[string]interface{})
|
||||||
// paymentInfo := result["paymentInfo"].(map[string]interface{})
|
// paymentInfo := result["paymentInfo"].(map[string]interface{})
|
||||||
order = &model.GoodsOrder{
|
order = &model.GoodsOrder{
|
||||||
VendorOrderID: vendorOrderID,
|
VendorOrderID: vendorOrderID,
|
||||||
VendorID: model.VendorIDWSC,
|
VendorID: model.VendorIDWSC,
|
||||||
VendorStoreID: utils.Int64ToStr(utils.MustInterface2Int64(result["processStoreId"])), // 这个不是通常意义上的vendor store id
|
VendorStoreID: utils.Int64ToStr(utils.MustInterface2Int64(result["processStoreId"])), // 这个不是通常意义上的vendor store id
|
||||||
// StoreID
|
// StoreID
|
||||||
StoreName: utils.Interface2String(logisticsDeliveryDetail["processStoreTitle"]),
|
|
||||||
ConsigneeName: utils.Interface2String(logisticsDeliveryDetail["receiverName"]),
|
|
||||||
ConsigneeMobile: utils.Interface2String(logisticsDeliveryDetail["receiverMobile"]),
|
|
||||||
ConsigneeAddress: utils.Interface2String(logisticsDeliveryDetail["receiverAddress"]),
|
|
||||||
CoordinateType: model.CoordinateTypeMars,
|
|
||||||
ConsigneeLng: jxutils.StandardCoordinate2Int(utils.Str2Float64(utils.Interface2String(logisticsDeliveryDetail["receiverLongitude"]))),
|
|
||||||
ConsigneeLat: jxutils.StandardCoordinate2Int(utils.Str2Float64(utils.Interface2String(logisticsDeliveryDetail["receiverLatitude"]))),
|
|
||||||
BuyerComment: utils.Interface2String(result["buyerRemark"]),
|
BuyerComment: utils.Interface2String(result["buyerRemark"]),
|
||||||
ExpectedDeliveredTime: utils.DefaultTimeValue,
|
ExpectedDeliveredTime: utils.DefaultTimeValue,
|
||||||
PickDeadline: utils.DefaultTimeValue,
|
PickDeadline: utils.DefaultTimeValue,
|
||||||
@@ -138,9 +131,23 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
|
|||||||
ActualPayPrice: jxutils.StandardPrice2Int(utils.MustInterface2Float64(result["totalAmount"])),
|
ActualPayPrice: jxutils.StandardPrice2Int(utils.MustInterface2Float64(result["totalAmount"])),
|
||||||
BusinessType: model.BusinessTypeImmediate,
|
BusinessType: model.BusinessTypeImmediate,
|
||||||
}
|
}
|
||||||
// if expectDeliveryTimeStr, ok := logisticsDeliveryDetail["expectDeliveryTime"].(string); ok {
|
if logisticsDeliveryDetail != nil {
|
||||||
// if expectDeliveryTimeStr =
|
order.StoreName = utils.Interface2String(logisticsDeliveryDetail["processStoreTitle"])
|
||||||
// }
|
order.ConsigneeName = utils.Interface2String(logisticsDeliveryDetail["receiverName"])
|
||||||
|
order.ConsigneeMobile = utils.Interface2String(logisticsDeliveryDetail["receiverMobile"])
|
||||||
|
order.ConsigneeAddress = utils.Interface2String(logisticsDeliveryDetail["receiverAddress"])
|
||||||
|
order.ConsigneeLng = jxutils.StandardCoordinate2Int(utils.Str2Float64(utils.Interface2String(logisticsDeliveryDetail["receiverLongitude"])))
|
||||||
|
order.ConsigneeLat = jxutils.StandardCoordinate2Int(utils.Str2Float64(utils.Interface2String(logisticsDeliveryDetail["receiverLatitude"])))
|
||||||
|
order.CoordinateType = model.CoordinateTypeMars
|
||||||
|
// if expectDeliveryTimeStr, ok := logisticsDeliveryDetail["expectDeliveryTime"].(string); ok {
|
||||||
|
// if expectDeliveryTimeStr =
|
||||||
|
// }
|
||||||
|
} else {
|
||||||
|
selfPickupDetail, _ := deliveryDetail["selfPickupDetail"].(map[string]interface{})
|
||||||
|
if selfPickupDetail != nil {
|
||||||
|
order.StoreName = utils.Interface2String(selfPickupDetail["selfPickupSiteName"])
|
||||||
|
}
|
||||||
|
}
|
||||||
order.Status = p.GetStatusFromVendorStatus(order.VendorStatus)
|
order.Status = p.GetStatusFromVendorStatus(order.VendorStatus)
|
||||||
itemList := result["itemList"].([]interface{})
|
itemList := result["itemList"].([]interface{})
|
||||||
for _, v := range itemList {
|
for _, v := range itemList {
|
||||||
@@ -160,8 +167,11 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
|
|||||||
order.Skus = append(order.Skus, sku)
|
order.Skus = append(order.Skus, sku)
|
||||||
}
|
}
|
||||||
jxutils.RefreshOrderSkuRelated(order)
|
jxutils.RefreshOrderSkuRelated(order)
|
||||||
p.arrangeSaleStore(order, utils.Interface2String(logisticsDeliveryDetail["receiverCity"]), utils.Interface2String(logisticsDeliveryDetail["receiverProvince"]))
|
if logisticsDeliveryDetail != nil {
|
||||||
|
p.arrangeSaleStore(order, utils.Interface2String(logisticsDeliveryDetail["receiverCity"]), utils.Interface2String(logisticsDeliveryDetail["receiverProvince"]))
|
||||||
|
}
|
||||||
p.setStoreOrderSeq(order)
|
p.setStoreOrderSeq(order)
|
||||||
|
globals.SugarLogger.Debug(utils.Format4Output(order, false))
|
||||||
return order
|
return order
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user