|
@@ -290,9 +290,14 @@ public class PayOrderController {
|
|
|
if(result.containsKey("settlementPrice") && result.get("settlementPrice") !=null && result.get("settlementPrice").toString() !=""){
|
|
|
params.put("settlementPrice", result.get("settlementPrice").toString());
|
|
|
}
|
|
|
+ //driverPriceType 司机价类型(1.直降,2.折扣);
|
|
|
+ if(result.containsKey("driverPriceType") && result.get("driverPriceType") !=null && result.get("driverPriceType").toString() !=""){
|
|
|
+ params.put("driverPriceType", result.get("driverPriceType").toString());
|
|
|
+ }
|
|
|
if(result.containsKey("driverPrice") && result.get("driverPrice") !=null && result.get("driverPrice").toString() !=""){
|
|
|
params.put("driverPrice", result.get("driverPrice").toString());
|
|
|
}
|
|
|
+
|
|
|
payOrderResultInfo = this.calculateLngGroupStaDiscount(params);
|
|
|
|
|
|
}else {
|
|
@@ -397,15 +402,35 @@ public class PayOrderController {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if(params.containsKey("driverPrice") && params.get("driverPrice").toString() !=null && params.get("driverPrice").toString() !=""){
|
|
|
- //司机价
|
|
|
- discountPrice = sellPrice.multiply(new BigDecimal(params.get("driverPrice").toString())).divide(new BigDecimal("100"));
|
|
|
- amt = sellAmt.multiply(new BigDecimal(params.get("driverPrice").toString())).divide(new BigDecimal("100"));
|
|
|
- //driverDiscountAmt = sellDiscountAmt.multiply(new BigDecimal("1").subtract(new BigDecimal(params.get("driverPrice").toString()).divide(new BigDecimal("100"))));
|
|
|
- discountAmt = receivableAmt.subtract(amt);
|
|
|
- driverDiscountAmt = discountAmt.subtract(sellDiscountAmt);
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- discountPrice = discountPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //driverPriceType: 司机价类型(1.直降,2.折扣);
|
|
|
+ if(params.containsKey("driverPriceType") && params.get("driverPriceType") !=null && params.get("driverPriceType").toString() !=""){
|
|
|
+ String driverPriceType = params.get("driverPriceType").toString();
|
|
|
+ switch (driverPriceType){
|
|
|
+ case "1":
|
|
|
+ if(params.containsKey("driverPrice") && params.get("driverPrice").toString() !=null && params.get("driverPrice").toString() !=""){
|
|
|
+ //司机价
|
|
|
+ discountPrice = sellPrice.subtract(new BigDecimal(params.get("driverPrice").toString())).divide(new BigDecimal("100"));
|
|
|
+ amt = discountPrice.multiply(oilLiters);
|
|
|
+ //driverDiscountAmt = sellDiscountAmt.multiply(new BigDecimal("1").subtract(new BigDecimal(params.get("driverPrice").toString()).divide(new BigDecimal("100"))));
|
|
|
+ discountAmt = receivableAmt.subtract(amt);
|
|
|
+ driverDiscountAmt = discountAmt.subtract(sellDiscountAmt);
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountPrice = discountPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "2": //折扣
|
|
|
+ if(params.containsKey("driverPrice") && params.get("driverPrice").toString() !=null && params.get("driverPrice").toString() !=""){
|
|
|
+ //司机价
|
|
|
+ discountPrice = sellPrice.multiply(new BigDecimal(params.get("driverPrice").toString())).divide(new BigDecimal("100"));
|
|
|
+ amt = sellAmt.multiply(new BigDecimal(params.get("driverPrice").toString())).divide(new BigDecimal("100"));
|
|
|
+ //driverDiscountAmt = sellDiscountAmt.multiply(new BigDecimal("1").subtract(new BigDecimal(params.get("driverPrice").toString()).divide(new BigDecimal("100"))));
|
|
|
+ discountAmt = receivableAmt.subtract(amt);
|
|
|
+ driverDiscountAmt = discountAmt.subtract(sellDiscountAmt);
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountPrice = discountPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
sellAmt =sellAmt.signum() == -1 ? new BigDecimal("0.01"): sellAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
amt =amt.signum() == -1 ? new BigDecimal("0.01"): amt.setScale(2, BigDecimal.ROUND_HALF_UP);
|