jk-GitHub-coder 4 rokov pred
rodič
commit
0f88d94b33

+ 58 - 63
YijiaRestful/src/main/java/com/platform/yijia/controller/ElectronicMembershipCardController.java

@@ -147,78 +147,73 @@ public class ElectronicMembershipCardController {
                     calendar.setTime(new Date());   //获取当前时间
                     //循环优惠规则明细
                     for (CustomerCardSettingDetail cardDetail : cardRechargeSettingList.get(0).getCustomerCardSettingDetailList()){
-                        if(cardDetail.getStatus() !=null && cardDetail.getStatus().equals("1")){
-                            if(amt.compareTo(cardDetail.getDiscountAmtStart()) ==1 || amt.compareTo(cardDetail.getDiscountAmtStart()) ==0){
-                                //String isDiscountCoupon = cardRechargeSettingList.get(0).getIsDiscountCoupon();       //是否使用优惠券
-                                //充值优惠类型
-                                if(cardDetail.getSettingRuleType().equals("1")){ //按充值金额
-                                    BigDecimal presentAmt = cardDetail.getPresentAmt(); //当前赠送金额
-                                    if(cardRechargeSettingList.get(0).getDiscountTimeSetting().equals("1") && dctime !=null){
-                                        String discountTimeType = cardRechargeSettingList.get(0).getDiscountTimeType();     //获取日期类型
-                                        switch (discountTimeType){
-                                            case "1":   //  1.按周来
-                                                int day_Week = calendar.get(Calendar.DAY_OF_WEEK);
-                                                day_Week= day_Week-1;     //减一原因:数据库存的下标从零开始
-                                                currentTime = String.valueOf(day_Week);
-                                                break;
-                                            case "2":   //  2.每月的多少号
-                                                int day_month = calendar.get(Calendar.DAY_OF_MONTH);
-                                                day_month = day_month-1;        //减一原因:数据库存的下标从零开始
-                                                currentTime = String.valueOf(day_month); //当前时间
-                                                break;
-                                            case "3":   //  3.固定日期
-                                                currentTime =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
-                                                break;
-                                        }
-                                        for (String str : dctime){
-                                            if(str.equals(currentTime)){  //如果当前时间在会员日活动时间内
-                                                //计算会员日内的总赠送积分
-                                                if(cardRechargeSettingList.get(0).getPresentScale() !=null){
-                                                    presentAmt = presentAmt.multiply(new BigDecimal(cardRechargeSettingList.get(0).getPresentScale()).divide(new BigDecimal(100))).add(presentAmt);
-                                                }
-                                                break;
+                        if(amt.compareTo(cardDetail.getDiscountAmtStart()) ==1 || amt.compareTo(cardDetail.getDiscountAmtStart()) ==0){
+                            //String isDiscountCoupon = cardRechargeSettingList.get(0).getIsDiscountCoupon();       //是否使用优惠券
+                            //充值优惠类型
+                            if(cardDetail.getSettingRuleType().equals("1")){ //按充值金额
+                                BigDecimal presentAmt = cardDetail.getPresentAmt(); //当前赠送金额
+                                if(cardRechargeSettingList.get(0).getDiscountTimeSetting().equals("1") && dctime !=null){
+                                    String discountTimeType = cardRechargeSettingList.get(0).getDiscountTimeType();     //获取日期类型
+                                    switch (discountTimeType){
+                                        case "1":   //  1.按周来
+                                            int day_Week = calendar.get(Calendar.DAY_OF_WEEK);
+                                            day_Week= day_Week-1;     //减一原因:数据库存的下标从零开始
+                                            currentTime = String.valueOf(day_Week);
+                                            break;
+                                        case "2":   //  2.每月的多少号
+                                            int day_month = calendar.get(Calendar.DAY_OF_MONTH);
+                                            day_month = day_month-1;        //减一原因:数据库存的下标从零开始
+                                            currentTime = String.valueOf(day_month); //当前时间
+                                            break;
+                                        case "3":   //  3.固定日期
+                                            currentTime =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+                                            break;
+                                    }
+                                    for (String str : dctime){
+                                        if(str.equals(currentTime)){  //如果当前时间在会员日活动时间内
+                                            //计算会员日内的总赠送积分
+                                            if(cardRechargeSettingList.get(0).getPresentScale() !=null){
+                                                presentAmt = presentAmt.multiply(new BigDecimal(cardRechargeSettingList.get(0).getPresentScale()).divide(new BigDecimal(100))).add(presentAmt);
                                             }
+                                            break;
                                         }
                                     }
-                                    customerCardUseRecord.setAmt(amt);
-                                    customerCardUseRecord.setPresentAmt(presentAmt);
-                                }else if(cardDetail.getSettingRuleType().equals("2")){      //按充值金额的比例
-                                    BigDecimal presentAmt = amt.multiply(cardDetail.getPresentAmt().divide(new BigDecimal(100))); //当前赠送金额比例的赠送积分
-                                    if(cardRechargeSettingList.get(0).getDiscountTimeSetting().equals("1") && dctime !=null){
-                                        String discountTimeType = cardRechargeSettingList.get(0).getDiscountTimeType();     //获取日期类型
-                                        switch (discountTimeType){
-                                            case "1":   //  1.按周来
-                                                int day_Week = calendar.get(Calendar.DAY_OF_WEEK);
-                                                day_Week= day_Week-1;     //减一原因:数据库存的下标从零开始
-                                                currentTime = String.valueOf(day_Week);
-                                                break;
-                                            case "2":   //  2.每月的多少号
-                                                int day_month = calendar.get(Calendar.DAY_OF_MONTH);
-                                                day_month = day_month-1;        //减一原因:数据库存的下标从零开始
-                                                currentTime = String.valueOf(day_month); //当前时间
-                                                break;
-                                            case "3":   //  3.固定日期
-                                                currentTime =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
-                                                break;
-                                        }
-                                        for (String str : dctime){
-                                            if(str.equals(currentTime)){  //如果当前时间在会员日活动时间内
-                                                //计算会员日期内的总赠送积分
-                                                if(cardRechargeSettingList.get(0).getPresentScale() !=null){
-                                                    presentAmt = presentAmt.multiply(new BigDecimal(cardRechargeSettingList.get(0).getPresentScale()).divide(new BigDecimal(100))).add(presentAmt);
-                                                }
-                                                break;
+                                }
+                                customerCardUseRecord.setAmt(amt);
+                                customerCardUseRecord.setPresentAmt(presentAmt);
+                            }else if(cardDetail.getSettingRuleType().equals("2")){      //按充值金额的比例
+                                BigDecimal presentAmt = amt.multiply(cardDetail.getPresentAmt().divide(new BigDecimal(100))); //当前赠送金额比例的赠送积分
+                                if(cardRechargeSettingList.get(0).getDiscountTimeSetting().equals("1") && dctime !=null){
+                                    String discountTimeType = cardRechargeSettingList.get(0).getDiscountTimeType();     //获取日期类型
+                                    switch (discountTimeType){
+                                        case "1":   //  1.按周来
+                                            int day_Week = calendar.get(Calendar.DAY_OF_WEEK);
+                                            day_Week= day_Week-1;     //减一原因:数据库存的下标从零开始
+                                            currentTime = String.valueOf(day_Week);
+                                            break;
+                                        case "2":   //  2.每月的多少号
+                                            int day_month = calendar.get(Calendar.DAY_OF_MONTH);
+                                            day_month = day_month-1;        //减一原因:数据库存的下标从零开始
+                                            currentTime = String.valueOf(day_month); //当前时间
+                                            break;
+                                        case "3":   //  3.固定日期
+                                            currentTime =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+                                            break;
+                                    }
+                                    for (String str : dctime){
+                                        if(str.equals(currentTime)){  //如果当前时间在会员日活动时间内
+                                            //计算会员日期内的总赠送积分
+                                            if(cardRechargeSettingList.get(0).getPresentScale() !=null){
+                                                presentAmt = presentAmt.multiply(new BigDecimal(cardRechargeSettingList.get(0).getPresentScale()).divide(new BigDecimal(100))).add(presentAmt);
                                             }
+                                            break;
                                         }
                                     }
-                                    customerCardUseRecord.setAmt(amt);
-                                    customerCardUseRecord.setPresentAmt(presentAmt);
                                 }
-                                break;
-                            }else {
                                 customerCardUseRecord.setAmt(amt);
-                                customerCardUseRecord.setPresentAmt(new BigDecimal(0));
+                                customerCardUseRecord.setPresentAmt(presentAmt);
                             }
+                            break;
                         }else {
                             customerCardUseRecord.setAmt(amt);
                             customerCardUseRecord.setPresentAmt(new BigDecimal(0));

+ 47 - 47
YijiaRestful/src/main/java/com/platform/yijia/controller/PayOrderController.java

@@ -324,11 +324,11 @@ public class PayOrderController {
                     List<Map<String, Object>> customerGradeInfo = customerGradeServices.getCustomerGradeInfo(params);
                     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_UP);
                         discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
-                        discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
+                        discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
                         amt = receivableAmt_b.subtract(discountAmt);
-                        discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
+                        discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
                         resultMap.put("discountAmt", discountAmt.doubleValue());
                         resultMap.put("amt", amt.doubleValue());
                         resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -339,11 +339,11 @@ public class PayOrderController {
                         //如果存在
                         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_UP);   //加油升数
                             discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
-                            discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
+                            discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
                             amt = receivableAmt_b.subtract(discountAmt);
-                            discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
+                            discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
                             resultMap.put("discountAmt", discountAmt.doubleValue());
                             resultMap.put("amt", amt.doubleValue());
                             resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -352,7 +352,7 @@ public class PayOrderController {
                             //不存在
                             resultMap.put("discountAmt", 0);
                             resultMap.put("amt", receivableAmt.doubleValue());
-                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                             resultMap.put("oilLiters", oilLiters.doubleValue());
                             resultMap.put("discountPrice", oilPrice);
                         }
@@ -370,10 +370,10 @@ public class PayOrderController {
                             BigDecimal discountAmt_b = new BigDecimal(m.get("discountAmt").toString());   //条件金额
                             if(receivableAmt_b.compareTo(discountAmt_b) ==1 || receivableAmt_b.compareTo(discountAmt_b) ==0){
                                 BigDecimal gasoilDiscountAmt_b = new BigDecimal(m.get("gasoilDiscountAmt").toString());   //每满多少优惠多少的金额
-                                discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_HALF_UP).multiply(gasoilDiscountAmt_b);  //优惠金额
-                                discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
+                                discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_UP).multiply(gasoilDiscountAmt_b);  //优惠金额
+                                discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
                                 amt = receivableAmt_b.subtract(discountAmt);   //实收金额
-                                oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                                oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                                 discountPrice = amt.divide(oilLiters);        //优惠价格
                                 resultMap.put("discountAmt", discountAmt.doubleValue());
                                 resultMap.put("amt", amt.doubleValue());
@@ -386,7 +386,7 @@ public class PayOrderController {
                         if(flag){
                             resultMap.put("discountAmt", 0);
                             resultMap.put("amt", receivableAmt.doubleValue());
-                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
+                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);
                             resultMap.put("oilLiters", oilLiters.doubleValue());
                             resultMap.put("discountPrice", oilPrice);
                         }
@@ -394,7 +394,7 @@ public class PayOrderController {
                         //没有优惠规则
                         resultMap.put("discountAmt", 0);
                         resultMap.put("amt", receivableAmt.doubleValue());
-                        oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                        oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                         resultMap.put("oilLiters", oilLiters.doubleValue());
                         resultMap.put("discountPrice", oilPrice);
                     }
@@ -412,7 +412,7 @@ public class PayOrderController {
                                 BigDecimal gasoilDiscountAmt_b = new BigDecimal(m.get("gasoilDiscountAmt").toString());   //每满多少优惠多少的金额
                                 discountAmt = gasoilDiscountAmt_b;  //优惠金额
                                 amt = receivableAmt_b.subtract(gasoilDiscountAmt_b);   //实收金额
-                                oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                                oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);   //加油升数
                                 discountPrice = amt.divide(oilLiters);        //优惠价格
                                 resultMap.put("discountAmt", discountAmt.doubleValue());
                                 resultMap.put("amt", amt.doubleValue());
@@ -425,7 +425,7 @@ public class PayOrderController {
                         if(flag){   //用户加油金额不符合优惠条件
                             resultMap.put("discountAmt", 0);
                             resultMap.put("amt", receivableAmt.doubleValue());
-                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                             resultMap.put("oilLiters", oilLiters.doubleValue());
                             resultMap.put("discountPrice", oilPrice);
                         }
@@ -433,7 +433,7 @@ public class PayOrderController {
                         //没有优惠规则
                         resultMap.put("discountAmt", 0);
                         resultMap.put("amt", receivableAmt.doubleValue());
-                        oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                        oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                         resultMap.put("oilLiters", oilLiters.doubleValue());
                         resultMap.put("discountPrice", oilPrice);
                     }
@@ -447,14 +447,14 @@ public class PayOrderController {
                         for(Map m : customerMarkertPlanList_3){
                             BigDecimal discountAmt_b = new BigDecimal(m.get("discountAmt").toString());   //条件金额
                             BigDecimal gasoilDiscountAmt_b = new BigDecimal(m.get("gasoilDiscountAmt").toString());
-                            oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                            oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);   //加油升数
                             if(m.get("discountTerm").toString().equals("1")){   //按升数优惠
                                 if(oilLiters.compareTo(discountAmt_b) ==1 || oilLiters.compareTo(discountAmt_b) ==0){
                                     //计算
                                     discountAmt = oilLiters.multiply(gasoilDiscountAmt_b);
-                                    discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
+                                    discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
                                     amt = receivableAmt_b.subtract(discountAmt);
-                                    discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);        //优惠价格
+                                    discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);        //优惠价格
                                     resultMap.put("discountAmt", discountAmt.doubleValue());
                                     resultMap.put("amt", amt.doubleValue());
                                     resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -465,9 +465,9 @@ public class PayOrderController {
                             }else if(m.get("discountTerm").toString().equals("2")){     //按金额优惠
                                 if(receivableAmt_b.compareTo(discountAmt_b) ==1 || receivableAmt_b.compareTo(discountAmt_b) ==0){
                                     discountAmt = oilLiters.multiply(gasoilDiscountAmt_b);
-                                    discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
+                                    discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
                                     amt = receivableAmt_b.subtract(discountAmt);
-                                    discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);        //优惠价格
+                                    discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);        //优惠价格
                                     resultMap.put("discountAmt", discountAmt.doubleValue());
                                     resultMap.put("amt", amt.doubleValue());
                                     resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -480,7 +480,7 @@ public class PayOrderController {
                         if(flag){
                             resultMap.put("discountAmt", 0);
                             resultMap.put("amt", receivableAmt.doubleValue());
-                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                             resultMap.put("oilLiters", oilLiters.doubleValue());
                             resultMap.put("discountPrice", oilPrice);
                         }
@@ -488,7 +488,7 @@ public class PayOrderController {
                         //没有优惠规则
                         resultMap.put("discountAmt", 0);
                         resultMap.put("amt", receivableAmt.doubleValue());
-                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                         resultMap.put("oilLiters", oilLiters.doubleValue());
                         resultMap.put("discountPrice", oilPrice);
                     }
@@ -573,7 +573,7 @@ public class PayOrderController {
                     List<Map<String, Object>> customerGradeInfo = customerGradeServices.getCustomerGradeInfo(params);
                     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_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);
@@ -592,7 +592,7 @@ public class PayOrderController {
                         //如果存在
                         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_UP);   //加油升数
 
                             if(customerGradeList.get(0).get("gasoilDiscountLitre") !=null){
                                 discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
@@ -610,7 +610,7 @@ public class PayOrderController {
                             //不存在
                             resultMap.put("discountAmt", 0);
                             resultMap.put("amt", receivableAmt.doubleValue());
-                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                            oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                             resultMap.put("oilLiters", oilLiters.doubleValue());
                             resultMap.put("discountPrice", oilPrice);
                         }
@@ -631,7 +631,7 @@ public class PayOrderController {
                             discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_HALF_UP).multiply(gasoilDiscountAmt_b);  //优惠金额
                             discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
                             amt = receivableAmt_b.subtract(discountAmt);   //实收金额
-                            oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                            oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                             discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
                             switch (vipDiscountyPlus){
                                 case "1":
@@ -666,7 +666,7 @@ public class PayOrderController {
                                 case "2":
                                     resultMap.put("discountAmt", 0);
                                     resultMap.put("amt", receivableAmt.doubleValue());
-                                    oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                                    oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                                     resultMap.put("oilLiters", oilLiters.doubleValue());
                                     resultMap.put("discountPrice", oilPrice);
                                     break;
@@ -694,15 +694,15 @@ public class PayOrderController {
                             BigDecimal gasoilDiscountAmt_b = new BigDecimal(customerMarkertPlanList_2.get(0).get("gasoilDiscountAmt").toString());   //满多少优惠多少的金额
                             discountAmt = gasoilDiscountAmt_b;  //优惠金额
                             amt = receivableAmt_b.subtract(gasoilDiscountAmt_b);   //实收金额
-                            oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);   //加油升数
-                            discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
+                            oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);   //加油升数
+                            discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
                             switch (vipDiscountyPlus){
                                 case "1":
                                     Map<String, Object> map = this.calcuteDengJiZhiJiang(params);
                                     discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
                                     amt = receivableAmt_b.subtract(discountAmt);
                                     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_UP);
                                     resultMap.put("discountAmt", discountAmt.doubleValue());
                                     resultMap.put("amt", amt.doubleValue());
                                     resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -723,7 +723,7 @@ public class PayOrderController {
                                     discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
                                     amt = receivableAmt_b.subtract(discountAmt);
                                     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_UP);
                                     resultMap.put("discountAmt", discountAmt.doubleValue());
                                     resultMap.put("amt", amt.doubleValue());
                                     resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -732,7 +732,7 @@ public class PayOrderController {
                                 case "2":
                                     resultMap.put("discountAmt", 0);
                                     resultMap.put("amt", receivableAmt.doubleValue());
-                                    oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                                    oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                                     resultMap.put("oilLiters", oilLiters.doubleValue());
                                     resultMap.put("discountPrice", oilPrice);
                                     break;
@@ -756,7 +756,7 @@ public class PayOrderController {
                         String vipDiscountyPlus_4 = customerMarkertPlanList_3.get(0).get("vipDiscountyPlus").toString();
                         BigDecimal discountAmt_b = new BigDecimal(customerMarkertPlanList_3.get(0).get("discountAmt").toString());   //条件金额
                         BigDecimal gasoilDiscountAmt_b = new BigDecimal(customerMarkertPlanList_3.get(0).get("gasoilDiscountAmt").toString());
-                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);   //加油升数
                         if(customerMarkertPlanList_3.get(0).get("discountTerm").toString().equals("1")){   //按升数优惠
                             if(oilLiters.compareTo(discountAmt_b) ==1 || oilLiters.compareTo(discountAmt_b) ==0){
                                 //计算
@@ -764,14 +764,14 @@ public class PayOrderController {
                                 discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
                                 amt = receivableAmt_b.subtract(discountAmt);
                                 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_UP);        //优惠价格
 
                                 if(vipDiscountyPlus_4.equals("1")){
                                     Map<String, Object> map = this.calcuteDengJiZhiJiang(params);
                                     discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
                                     amt = receivableAmt_b.subtract(discountAmt);
                                     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_UP);
                                 }
                                 resultMap.put("discountAmt", discountAmt.doubleValue());
                                 resultMap.put("amt", amt.doubleValue());
@@ -794,7 +794,7 @@ public class PayOrderController {
                                     case "2":
                                         resultMap.put("discountAmt", 0);
                                         resultMap.put("amt", receivableAmt.doubleValue());
-                                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                                         resultMap.put("oilLiters", oilLiters.doubleValue());
                                         resultMap.put("discountPrice", oilPrice);
                                         break;
@@ -805,14 +805,14 @@ public class PayOrderController {
                                 discountAmt = oilLiters.multiply(gasoilDiscountAmt_b);
                                 discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
                                 amt = receivableAmt_b.subtract(discountAmt);
-                                discountPrice = oilLiters !=new BigDecimal("0.00") ? amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP) : new BigDecimal(oilPrice);
+                                discountPrice = oilLiters !=new BigDecimal("0.00") ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
                                 //是否共享会员优惠叠加
                                 if(vipDiscountyPlus_4.equals("1")){
                                     Map<String, Object> map = this.calcuteDengJiZhiJiang(params);
                                     discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
                                     amt = receivableAmt_b.subtract(discountAmt);
                                     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_UP);
                                 }
                                 resultMap.put("discountAmt", discountAmt.doubleValue());
                                 resultMap.put("amt", amt.doubleValue());
@@ -835,7 +835,7 @@ public class PayOrderController {
                                     case "2":
                                         resultMap.put("discountAmt", 0);
                                         resultMap.put("amt", receivableAmt.doubleValue());
-                                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                                         resultMap.put("oilLiters", oilLiters.doubleValue());
                                         resultMap.put("discountPrice", oilPrice);
                                         break;
@@ -872,7 +872,7 @@ public class PayOrderController {
         List<Map<String, Object>> customerGradeInfo = customerGradeServices.getCustomerGradeInfo(params);
         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_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);
@@ -881,7 +881,7 @@ public class PayOrderController {
             }
             amt = receivableAmt_b.subtract(discountAmt);
             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_UP);
             resultMap.put("discountAmt", discountAmt.doubleValue());
             resultMap.put("amt", amt.doubleValue());
             resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -892,7 +892,7 @@ public class PayOrderController {
             //如果存在
             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_UP);   //加油升数
                 if(customerGradeList.get(0).get("gasoilDiscountLitre") !=null){
                     discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
                     discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
@@ -901,7 +901,7 @@ public class PayOrderController {
                 }
                 amt = receivableAmt_b.subtract(discountAmt);
                 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_UP);
                 resultMap.put("discountAmt", discountAmt.doubleValue());
                 resultMap.put("amt", amt.doubleValue());
                 resultMap.put("oilLiters", oilLiters.doubleValue());
@@ -910,7 +910,7 @@ public class PayOrderController {
                 //不存在
                 resultMap.put("discountAmt", 0);
                 resultMap.put("amt", receivableAmt.doubleValue());
-                oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
+                oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
                 resultMap.put("oilLiters", oilLiters.doubleValue());
                 resultMap.put("discountPrice", oilPrice);
             }
@@ -939,10 +939,10 @@ public class PayOrderController {
             BigDecimal discountAmt_b = new BigDecimal(customerMarkertPlanList_1.get(0).get("discountAmt").toString());   //条件金额
             if(receivableAmt_b.compareTo(discountAmt_b) ==1 || receivableAmt_b.compareTo(discountAmt_b) ==0){
                 BigDecimal gasoilDiscountAmt_b = new BigDecimal(customerMarkertPlanList_1.get(0).get("gasoilDiscountAmt").toString());   //每满多少优惠多少的金额
-                discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_HALF_UP).multiply(gasoilDiscountAmt_b);  //优惠金额
+                discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_UP).multiply(gasoilDiscountAmt_b);  //优惠金额
                 discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
                 amt = receivableAmt_b.subtract(discountAmt);   //实收金额
-                oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                 discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
                 switch (vipDiscountyPlus){
                     case "1":
@@ -977,7 +977,7 @@ public class PayOrderController {
                     case "2":
                         resultMap.put("discountAmt", 0);
                         resultMap.put("amt", receivableAmt.doubleValue());
-                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);   //加油升数
+                        oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);   //加油升数
                         resultMap.put("oilLiters", oilLiters.doubleValue());
                         resultMap.put("discountPrice", oilPrice);
                         break;

+ 0 - 1
YijiaRestful/src/main/resources/mapper/IntegralShopPicMapper.xml

@@ -23,7 +23,6 @@
     FROM
         integral_shop_pic
     <where>
-         img_status = "1"
       <if test="stationId !=null and stationId !=''">
          AND station_id = #{stationId}
       </if>