|
@@ -193,7 +193,7 @@ public class PayOrderController {
|
|
//查询用户电子会员卡余额
|
|
//查询用户电子会员卡余额
|
|
public Map<String, String> selectCardBalance(Integer stationId, String oilName, String unionId) {
|
|
public Map<String, String> selectCardBalance(Integer stationId, String oilName, String unionId) {
|
|
String cardOilsType ="";
|
|
String cardOilsType ="";
|
|
- switch (oilName){ //根据油品名称存储电子卡油品类型 1.柴油 2 汽油
|
|
|
|
|
|
+ switch (oilName){
|
|
case "92#":
|
|
case "92#":
|
|
cardOilsType ="1";
|
|
cardOilsType ="1";
|
|
break;
|
|
break;
|
|
@@ -504,8 +504,12 @@ public class PayOrderController {
|
|
if(customerGradeInfo != null && customerGradeInfo.size() >0){ //已存在客户等级信息
|
|
if(customerGradeInfo != null && customerGradeInfo.size() >0){ //已存在客户等级信息
|
|
//使用客户已存在的等级计算优惠
|
|
//使用客户已存在的等级计算优惠
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
- discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ if(customerGradeInfo.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
|
+ discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }else {
|
|
|
|
+ discountAmt =new BigDecimal("0.00");
|
|
|
|
+ }
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -520,8 +524,15 @@ public class PayOrderController {
|
|
if(customerGradeList !=null && customerGradeList.size() >0){
|
|
if(customerGradeList !=null && customerGradeList.size() >0){
|
|
//用户第一次购买 取等级最低初始会员的优惠条件计算
|
|
//用户第一次购买 取等级最低初始会员的优惠条件计算
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
- discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+
|
|
|
|
+ if(customerGradeInfo.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
|
+ discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }else {
|
|
|
|
+ discountAmt =new BigDecimal("0.00");
|
|
|
|
+ }
|
|
|
|
+// discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
+// discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -767,8 +778,12 @@ public class PayOrderController {
|
|
if(customerGradeInfo != null && customerGradeInfo.size() >0){ //已存在客户等级信息
|
|
if(customerGradeInfo != null && customerGradeInfo.size() >0){ //已存在客户等级信息
|
|
//使用客户已存在的等级计算优惠
|
|
//使用客户已存在的等级计算优惠
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
- discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ if(customerGradeInfo.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
|
+ discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }else {
|
|
|
|
+ discountAmt =new BigDecimal("0.00");
|
|
|
|
+ }
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -783,8 +798,12 @@ public class PayOrderController {
|
|
if(customerGradeList !=null && customerGradeList.size() >0){
|
|
if(customerGradeList !=null && customerGradeList.size() >0){
|
|
//用户第一次购买 取等级最低初始会员的优惠条件计算
|
|
//用户第一次购买 取等级最低初始会员的优惠条件计算
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
- discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ if(customerGradeInfo.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
|
+ discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }else {
|
|
|
|
+ discountAmt =new BigDecimal("0.00");
|
|
|
|
+ }
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
//discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|