|
@@ -2771,16 +2771,6 @@ public class FrontOrderServiceImpl implements FrontOrderService {
|
|
|
orderInfoVo.setFreightFee(freightFee);
|
|
|
|
|
|
}
|
|
|
-
|
|
|
- private BigDecimal getOverLoadFee(String lat1,String long1,String lat2,String long2,RiderFeeConfig riderFeeConfig){
|
|
|
- BigDecimal overloadFee=BigDecimal.ZERO;
|
|
|
- Double distance = GeoUtils.haversineDistance( Double.parseDouble(lat1), Double.parseDouble(long1) , Double.parseDouble(lat2), Double.parseDouble(long2));
|
|
|
- if(ObjectUtil.isNotNull(riderFeeConfig.getDistanceInKm())&&distance>riderFeeConfig.getDistanceInKm()){
|
|
|
- int overload=distance.intValue()-riderFeeConfig.getDistanceInKm().intValue();
|
|
|
- overloadFee=new BigDecimal(overload).multiply(new BigDecimal(riderFeeConfig.getFeePerKm()));
|
|
|
- }
|
|
|
- return overloadFee.setScale(2, RoundingMode.HALF_UP);
|
|
|
- }
|
|
|
/**
|
|
|
* 校验预下单商品信息
|
|
|
*
|
|
@@ -3156,14 +3146,14 @@ public class FrontOrderServiceImpl implements FrontOrderService {
|
|
|
// priceResponse.setPackingFee(new BigDecimal(merchantMarket.getPackingFee()));
|
|
|
// }
|
|
|
});
|
|
|
-
|
|
|
- BigDecimal firstDeduc = orderInfoVo.getMerchantOrderVoList().stream()
|
|
|
- .map(e -> {
|
|
|
- return ObjectUtil.isNull(e.getFirstDeduc())?BigDecimal.ZERO:e.getFirstDeduc();
|
|
|
- })
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- //计算打包费
|
|
|
-
|
|
|
+ BigDecimal firstDeduc=orderInfoVo.getFirstDeduc();
|
|
|
+ if(firstDeduc.compareTo(BigDecimal.ZERO)==0) {
|
|
|
+ firstDeduc = orderInfoVo.getMerchantOrderVoList().stream()
|
|
|
+ .map(e -> {
|
|
|
+ return ObjectUtil.isNull(e.getFirstDeduc()) ? BigDecimal.ZERO : e.getFirstDeduc();
|
|
|
+ })
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
//计算运费
|
|
|
getFreightFee_V_1_8(orderInfoVo, userAddress, user.getIsPaidMember());
|
|
|
priceResponse.setFreightFee(orderInfoVo.getFreightFee());
|
|
@@ -3188,7 +3178,7 @@ public class FrontOrderServiceImpl implements FrontOrderService {
|
|
|
priceResponse.setPlatCouponUserList(computedPriceGetPlatOrderList(orderInfoVo, user.getIsPaidMember()));
|
|
|
}
|
|
|
// 积分部分
|
|
|
- BigDecimal payPrice = orderInfoVo.getProTotalFee().subtract(orderInfoVo.getSvipDiscountPrice()).subtract(priceResponse.getCouponFee());
|
|
|
+ BigDecimal payPrice = orderInfoVo.getProTotalFee().subtract(orderInfoVo.getSvipDiscountPrice()).subtract(priceResponse.getCouponFee()).subtract(firstDeduc);
|
|
|
priceResponse.setIsUseIntegral(request.getIsUseIntegral());
|
|
|
priceResponse.setProTotalFee(orderInfoVo.getProTotalFee());
|
|
|
|