diff --git a/business/partner/delivery/sfps/waybill.go b/business/partner/delivery/sfps/waybill.go index 19205d908..fced88465 100644 --- a/business/partner/delivery/sfps/waybill.go +++ b/business/partner/delivery/sfps/waybill.go @@ -92,16 +92,17 @@ func (d DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee i var ( weight int + flag = false productDetail []*sfps2.ProductDetail + param = &sfps2.CreateOrderReq{} ) if order.Weight >= 49500 || order.Weight <= model.NO { weight = 49500 } else { weight = order.Weight } - - param := &sfps2.CreateOrderReq{ - ShopId: sfps2.SFShopStoreID, + param = &sfps2.CreateOrderReq{ + //ShopId: sfps2.SFShopStoreID, ShopOrderId: order.VendorOrderID, OrderSource: GetVendorSource(order.VendorID), OrderTime: order.CreatedAt.Unix(), @@ -130,7 +131,19 @@ func (d DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee i ProductTypeNum: int64(order.SkuCount), }, } - + // 城市维度获取顺丰门店id + if len(store.CityName) > 0 { + for k, v := range sfps2.SFCityStoreIDs { + globals.SugarLogger.Debugf("sfps GetWaybillFee store.CityName==%s,k=%s", store.CityName, k) + if strings.Contains(store.CityName, k) || store.CityName == k { + param.ShopId = v + flag = true + } + } + } + if flag == false || len(store.CityName) == 0 { + return nil, errors.New("此城市暂时不在,顺丰配送业务范围") + } if len(order.Skus) != model.NO { for _, v := range order.Skus { productDetail = append(productDetail, &sfps2.ProductDetail{ @@ -203,7 +216,8 @@ func (d DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int, func (d DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) { var ( weight int - param *sfps2.PreCreateOrderReq + flag = false + //param = &sfps2.PreCreateOrderReq{} ) // 默认重量 @@ -217,19 +231,7 @@ func (d DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo if err != nil { return nil, err } - // 城市维度获取顺丰门店id - if len(store.CityName) > 0 { - for k, v := range sfps2.SFCityStoreIDs { - if strings.Contains(k, store.CityName) { - param.ShopId = v - } else { - return nil, errors.New("此城市暂时不在顺丰配送业务范围") - } - } - } else { - return nil, errors.New("门店不允许没有城市名,请检查门店信息") - } - param = &sfps2.PreCreateOrderReq{ + param := &sfps2.PreCreateOrderReq{ //ShopId: sfps2.SFShopStoreID, UserLng: utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLng)), UserLat: utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLat)), @@ -247,6 +249,19 @@ func (d DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo ShopLng: utils.Float64ToStr(jxutils.IntCoordinate2Standard(store.Lng)), }, } + // 城市维度获取顺丰门店id + if len(store.CityName) > 0 { + for k, v := range sfps2.SFCityStoreIDs { + globals.SugarLogger.Debugf("sfps GetWaybillFee store.CityName==%s,k=%s", store.CityName, k) + if strings.Contains(store.CityName, k) || store.CityName == k { + param.ShopId = v + flag = true + } + } + } + if flag == false || len(store.CityName) == 0 { + return nil, errors.New("此城市暂时不在,顺丰配送业务范围") + } deliveryFeeInfo = &partner.WaybillFeeInfo{} price, err := api.SfPsAPI.PreCreateOrder(param) deliveryFeeInfo.DeliveryFee = utils.Float64TwoInt64(price)