Kaynağa Gözat

修改积分生成接口

jk-GitHub-coder 4 yıl önce
ebeveyn
işleme
69a52a1d73

+ 5 - 0
YijiaRestful/pom.xml

@@ -127,6 +127,11 @@
             <artifactId>commons-lang3</artifactId>
             <version>3.11</version>
         </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 95 - 104
YijiaRestful/src/main/java/com/platform/yijia/controller/PayController.java

@@ -677,10 +677,12 @@ public class PayController {
                                 }
                                 customerPoints.setCustomerName(infoMap.get("consumer").toString());
                                 customerPoints.setMobilePhone(infoMap.get("mobilePhone").toString());   //存入手机号
+                                customerPoints.setStationName(infoMap.get("stationName").toString());
 
                                 customerPointsRecord.setCustomerName(infoMap.get("consumer").toString());       //客户名称
                                 customerPointsRecord.setRecordType("+");            // "+"表示增加积分
                                 customerPointsRecord.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));
+                                customerPointsRecord.setStationName(infoMap.get("stationName").toString());
                                 customerPointsRecord.setCreateTime(new Date());
 
                                 if(infoMap.containsKey("userType") && infoMap.get("userType") !=null){
@@ -705,131 +707,120 @@ public class PayController {
                                     String currentTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); //当前时间
                                     List<IntegralRuleDetail> integralRuleDetailList = rule.get(0).getIntegralRuleDetailList();  //积分规则详细计算信息
                                     if(integralRuleDetailList !=null && integralRuleDetailList.size() > 0){
-                                        boolean b =false;
                                         BigDecimal realAmt = new BigDecimal(infoMap.get("amt").toString());  //本次消费实收金额
                                         BigDecimal receivableAmt = new BigDecimal(infoMap.get("receivableAmt").toString());  //本次消费实收金额
                                         BigDecimal orderLiters = new BigDecimal(infoMap.get("orderLiters").toString());    //本次加油升数
+                                        //循环规则明细
                                         for(IntegralRuleDetail integralRuleDetail : integralRuleDetailList){
                                             //规则类型
                                             String ruleType = integralRuleDetail.getRuleType();
-                                            switch (ruleType){
-                                                case "1":   //以订单实付累计
-                                                    //已存在:现有余额积分 + 本次消费所获得的积分
-                                                    if(realAmt.compareTo(integralRuleDetail.getRuleTerms()) ==1){
-                                                        if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
-                                                            //计算积分并取整
-                                                            BigDecimal integral = realAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
-                                                            //设置积分多倍时间时
-                                                            if(datePicker !=null){
-                                                                for(String str: datePicker){
-                                                                    if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
-                                                                        integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
-                                                                        break;
-                                                                    }
-                                                                }
+                                            if(ruleType !=null && ruleType =="1" && realAmt.compareTo(integralRuleDetail.getRuleTerms()) ==1){
+                                                //以实收金额为准时
+                                                if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
+                                                    //计算积分并取整
+                                                    BigDecimal integral = realAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                                    //设置积分多倍时间时
+                                                    if(datePicker !=null){
+                                                        for(String str: datePicker){
+                                                            //如果当前时间在改日期比例时间内
+                                                            if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                                                integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                                                break;
                                                             }
-                                                            customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
-                                                        }else {
-                                                            //计算积分并取整
-                                                            BigDecimal integral = realAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
-                                                            //设置积分多倍时间时
-                                                            if(datePicker !=null){
-                                                                for(String str: datePicker){
-                                                                    if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
-                                                                        integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
-                                                                        break;
-                                                                    }
-                                                                }
+                                                        }
+                                                    }
+                                                    customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                                    break;
+                                                }else {
+                                                    //计算积分并取整
+                                                    BigDecimal integral = realAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                                    //设置积分多倍时间时
+                                                    if(datePicker !=null){
+                                                        for(String str: datePicker){
+                                                            if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                                                integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                                                break;
                                                             }
-                                                            customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
                                                         }
-                                                        b=true;
                                                     }
+                                                    customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
                                                     break;
-                                                case "2":   //以订单应付累计
-                                                    //已存在:现有余额积分 + 本次消费所获得的积分
-                                                    if(receivableAmt.compareTo(integralRuleDetail.getRuleTerms()) ==1){
-                                                        if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
-                                                            //计算积分并取整
-                                                            BigDecimal integral = receivableAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
-                                                            //设置积分多倍时间时
-                                                            if(datePicker !=null){
-                                                                for(String str: datePicker){
-                                                                    if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
-                                                                        integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
-                                                                        break;
-                                                                    }
-                                                                }
+                                                }
+                                            }else if(ruleType !=null && ruleType =="2" && receivableAmt.compareTo(integralRuleDetail.getRuleTerms()) ==1){
+                                                //应收金额为准时
+                                                if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
+                                                    //计算积分并取整
+                                                    BigDecimal integral = receivableAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                                    //设置积分多倍时间时
+                                                    if(datePicker !=null){
+                                                        for(String str: datePicker){
+                                                            if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                                                integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                                                break;
                                                             }
-                                                            customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
-                                                            break;
-                                                        }else {
-                                                            //计算积分并取整
-                                                            BigDecimal integral = receivableAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
-                                                            //设置积分多倍时间时
-                                                            if(datePicker !=null){
-                                                                for(String str: datePicker){
-                                                                    if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
-                                                                        integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
-                                                                        break;
-                                                                    }
-                                                                }
+                                                        }
+                                                    }
+                                                    customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                                    break;
+                                                }else {
+                                                    //计算积分并取整
+                                                    BigDecimal integral = receivableAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                                    //设置积分多倍时间时
+                                                    if(datePicker !=null){
+                                                        for(String str: datePicker){
+                                                            if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                                                integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                                                break;
                                                             }
-                                                            customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
                                                         }
-                                                        b=true;
                                                     }
+                                                    customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
                                                     break;
-                                                case "3":   //以加油升数
-                                                    if(orderLiters.compareTo(integralRuleDetail.getRuleTerms()) ==1){
-                                                        //此处使用等级与不使用等级时参数存储获取逻辑写重原因:省去一次数据库访问
-                                                        if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
-                                                            //计算积分并取整
-                                                            BigDecimal integral = orderLiters.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
-                                                            //设置积分多倍时间时
-                                                            if(datePicker !=null){
-                                                                for(String str: datePicker){
-                                                                    if (str.contains(currentTime) && rule.get(0).getIntegralProportion() !=null ){
-                                                                        integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
-                                                                        break;
-                                                                    }
-                                                                }
+                                                }
+
+                                            }else if(ruleType !=null && ruleType =="3" && orderLiters.compareTo(integralRuleDetail.getRuleTerms()) ==1){
+                                                //加油升数为准时
+                                                if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
+                                                    //计算积分并取整
+                                                    BigDecimal integral = orderLiters.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                                    //设置积分多倍时间时
+                                                    if(datePicker !=null){
+                                                        for(String str: datePicker){
+                                                            if (str.contains(currentTime) && rule.get(0).getIntegralProportion() !=null ){
+                                                                integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                                                break;
                                                             }
-                                                            customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
-                                                            break;
-                                                        }else {
-                                                            //计算积分并取整
-                                                            BigDecimal integral = orderLiters.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
-                                                            //设置积分多倍时间时
-                                                            if(datePicker !=null){
-                                                                for(String str: datePicker){
-                                                                    if (str.contains(currentTime) && rule.get(0).getIntegralProportion() !=null ){
-                                                                        integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
-                                                                        break;
-                                                                    }
-                                                                }
+                                                        }
+                                                    }
+                                                    customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                                    break;
+                                                }else {
+                                                    //计算积分并取整
+                                                    BigDecimal integral = orderLiters.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                                    //设置积分多倍时间时
+                                                    if(datePicker !=null){
+                                                        for(String str: datePicker){
+                                                            if (str.contains(currentTime) && rule.get(0).getIntegralProportion() !=null ){
+                                                                integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                                                break;
                                                             }
-                                                            customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
-                                                            customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
                                                         }
-                                                        b=true;
                                                     }
+                                                    customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                                    customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
                                                     break;
-                                            }
-                                            // b=true是跳出循环
-                                            if(b){
-                                                break;
+                                                }
                                             }
                                         }
                                     }

+ 240 - 22
YijiaRestful/src/test/java/com/palatform/yijia/YijiaApplicationTests.java

@@ -1,35 +1,253 @@
 package com.palatform.yijia;
+import com.platform.yijia.YijiaApplication;
+import com.platform.yijia.pojo.*;
+import com.platform.yijia.service.CustomerPointsRecordService;
+import com.platform.yijia.service.CustomerPointsService;
+import com.platform.yijia.service.IntegralRuleService;
+import com.platform.yijia.service.StationService;
 import com.platform.yijia.utils.weixinapp.WxPushUtil;
+import javafx.application.Application;
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.stereotype.Component;
+import org.springframework.test.context.junit4.SpringRunner;
 
-import javax.swing.plaf.IconUIResource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-class YijiaApplicationTests {
-
-    public static void main(String[] args) {
-        boolean b= false;
-        for (int i=0; i<=10; i++){
-            switch (i){
-                case 1:
-                    break;
-                case 3:
-                    System.out.println("3333333");
-                    b=true;
-                    break;
-                case 4:
-                    System.out.println("4444444");
-                    break;
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = YijiaApplication.class)
+public  class YijiaApplicationTests {
+
+    @Resource
+    private IntegralRuleService integralRuleService;
+    @Resource
+    private CustomerPointsService customerPointsService;
+    @Resource
+    private CustomerPointsRecordService customerPointsRecordService;
+    @Resource
+    private StationService stationService;
+    @Resource
+    private WxPushUtil wxPushUtil;
+//    @Resource
+//    private CustomerManage customerManage;
+
+    @Test
+    public void testIntegral() {
+
+    /*//================================================================================================================================
+        CustomerManage customerManage = new CustomerManage();
+        //customerManage.setGrade("铜牌");
+        String discountPlanType ="1";
+        Map infoMap = new HashMap();
+        infoMap.put("stationId", 1);
+        infoMap.put("oilName", "92#");
+        infoMap.put("consumer", "M");
+        infoMap.put("mobilePhone", "18654585051");
+        infoMap.put("userType", "2");
+        infoMap.put("amt", "200");
+        infoMap.put("receivableAmt", "300");
+        infoMap.put("orderLiters", "55");
+
+
+
+        //客户积分
+        IntegralRule integralRule  =new IntegralRule();
+        integralRule.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));
+        integralRule.setOilName(infoMap.get("oilName").toString());
+        //获取该油站的积分规则
+        List<IntegralRule> rule = integralRuleService.getIntegralRule(integralRule);
+        if(rule !=null && rule.size() > 0 && rule.get(0).getEmptyDate().compareTo(new Date()) ==1){
+            CustomerPoints customerPoints = new CustomerPoints();       //客户积分实体表
+            CustomerPointsRecord customerPointsRecord = new CustomerPointsRecord();     //客户积分记录实体表
+            if(infoMap.containsKey("unionId")){
+                customerPoints.setUnionId(infoMap.get("unionId").toString());
+                customerPointsRecord.setUnionId(infoMap.get("unionId").toString());
             }
-            if(b){
-                break;
+            customerPoints.setCustomerName(infoMap.get("consumer").toString());
+            customerPoints.setMobilePhone(infoMap.get("mobilePhone").toString());   //存入手机号
+
+            customerPointsRecord.setCustomerName(infoMap.get("consumer").toString());       //客户名称
+            customerPointsRecord.setRecordType("+");            // "+"表示增加积分
+            customerPointsRecord.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));
+            customerPointsRecord.setCreateTime(new Date());
+
+            if(infoMap.containsKey("userType") && infoMap.get("userType") !=null){
+                switch (infoMap.get("userType").toString()){
+                    case "1":
+                        customerPoints.setBlogOpenId(infoMap.get("blogOpenid").toString());
+                        break;
+                    case "2":
+                        customerPoints.setMinaOpenId(infoMap.get("minaOpenid").toString());
+                        break;
+                }
             }
 
+            //获取该用户积分信息
+            CustomerPoints customerPointsInfo = customerPointsService.getCustomerPointsInfo(customerPoints);
+            if(customerPointsInfo !=null){
+                //String ruleType = rule.get(0).getRuleType();   //获取积分规则类型
+                String[] datePicker={};     //积分比例时间
+                if(rule.get(0).getDatePicker() != null && rule.get(0).getDatePicker() !=""){
+                    datePicker = rule.get(0).getDatePicker().split(",");
+                }
+                String currentTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); //当前时间
+                List<IntegralRuleDetail> integralRuleDetailList = rule.get(0).getIntegralRuleDetailList();  //积分规则详细计算信息
+                if(integralRuleDetailList !=null && integralRuleDetailList.size() > 0){
+                    BigDecimal realAmt = new BigDecimal(infoMap.get("amt").toString());  //本次消费实收金额
+                    BigDecimal receivableAmt = new BigDecimal(infoMap.get("receivableAmt").toString());  //本次消费实收金额
+                    BigDecimal orderLiters = new BigDecimal(infoMap.get("orderLiters").toString());    //本次加油升数
+                    //循环规则明细
+                    for(IntegralRuleDetail integralRuleDetail : integralRuleDetailList){
+                        //规则类型
+                        String ruleType = integralRuleDetail.getRuleType();
+                        if(ruleType !=null && ruleType.equals("1") && realAmt.compareTo(integralRuleDetail.getRuleTerms()) ==1){
+                            //以实收金额为准时
+                            if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
+                                //计算积分并取整
+                                BigDecimal integral = realAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                //设置积分多倍时间时
+                                if(datePicker !=null){
+                                    for(String str: datePicker){
+                                        //如果当前时间在改日期比例时间内
+                                        if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                            integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                            break;
+                                        }
+                                    }
+                                }
+                                customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                break;
+                            }else {
+                                //计算积分并取整
+                                BigDecimal integral = realAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                //设置积分多倍时间时
+                                if(datePicker !=null){
+                                    for(String str: datePicker){
+                                        if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                            integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                            break;
+                                        }
+                                    }
+                                }
+                                customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                break;
+                            }
+                        }else if(ruleType !=null && ruleType.equals("2") && receivableAmt.compareTo(integralRuleDetail.getRuleTerms()) ==1){
+                            //应收金额为准时
+                            if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
+                                //计算积分并取整
+                                BigDecimal integral = receivableAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                //设置积分多倍时间时
+                                if(datePicker !=null){
+                                    for(String str: datePicker){
+                                        if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                            integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                            break;
+                                        }
+                                    }
+                                }
+                                customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                break;
+                            }else {
+                                //计算积分并取整
+                                BigDecimal integral = receivableAmt.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                //设置积分多倍时间时
+                                if(datePicker !=null){
+                                    for(String str: datePicker){
+                                        if (str.contains(currentTime) && rule.get(0).getIntegralProportion() != null){
+                                            integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                            break;
+                                        }
+                                    }
+                                }
+                                customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                break;
+                            }
+
+                        }else if(ruleType !=null && ruleType.equals("3") && orderLiters.compareTo(integralRuleDetail.getRuleTerms()) ==1){
+                            //加油升数为准时
+                            if(discountPlanType == "1" && integralRuleDetail.getGread() !=null && customerManage.getGrade().equals(integralRuleDetail.getGread())){
+                                //计算积分并取整
+                                BigDecimal integral = orderLiters.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                //设置积分多倍时间时
+                                if(datePicker !=null){
+                                    for(String str: datePicker){
+                                        if (str.contains(currentTime) && rule.get(0).getIntegralProportion() !=null ){
+                                            integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                            break;
+                                        }
+                                    }
+                                }
+                                customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                break;
+                            }else {
+                                //计算积分并取整
+                                BigDecimal integral = orderLiters.divide(integralRuleDetail.getSaleAmt(), 0).multiply(integralRuleDetail.getIntegral()).setScale(0, BigDecimal.ROUND_DOWN);
+                                //设置积分多倍时间时
+                                if(datePicker !=null){
+                                    for(String str: datePicker){
+                                        if (str.contains(currentTime) && rule.get(0).getIntegralProportion() !=null ){
+                                            integral=integral.multiply(new BigDecimal(rule.get(0).getIntegralProportion()));
+                                            break;
+                                        }
+                                    }
+                                }
+                                customerPoints.setPoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPoints.setAccumulatePoints(customerPointsInfo.getPoints() + Integer.valueOf(integral.toString()));
+                                customerPointsRecord.setIntegral(Integer.valueOf(integral.toString()));
+                                break;
+                            }
+                        }
+                    }
+                }
+
+                //更新客户余额积分
+                customerPointsService.updateCustomerPointsInfo(customerPoints);
+                //插入客户积分记录表
+                customerPointsRecordService.insertCustomerPointsInfo(customerPointsRecord);
+
+                //客户公众号积分增加通知
+                String gzhAppId ="";
+                String gzhAppSecret ="";
+                String stationName = "";        //油站名称
+                Map<String, String> m = stationService.getStationAppIdAndAppSecret(Integer.valueOf(infoMap.get("stationId").toString()));
+                if(m !=null && m.containsKey("stationName") && m.containsKey("gzhAppId") && m.containsKey("gzhAppSecret")){
+                    stationName = m.get("stationName");
+                    gzhAppId = m.get("gzhAppId");
+                    gzhAppSecret = m.get("gzhAppSecret");
+                }
+                List<WxMpTemplateData> wxMpTemplate = new ArrayList<>();
+                wxMpTemplate.add(new WxMpTemplateData("first","尊敬的"+infoMap.get("consumer").toString()+",您好:\n" + "您在"+stationName+"的积分最新交易信息如下"));
+                wxMpTemplate.add(new WxMpTemplateData("time", new SimpleDateFormat("yyyy年MM月dd日HH时mm分").format(new Date())));
+                wxMpTemplate.add(new WxMpTemplateData("type", "增加"));
+                wxMpTemplate.add(new WxMpTemplateData("Point", customerPointsRecord.getIntegral().toString()));
+                wxMpTemplate.add(new WxMpTemplateData("From", stationName));
+                wxMpTemplate.add(new WxMpTemplateData("remark",
+                        "截止至" + new SimpleDateFormat(" yyyy年MM月dd日HH时mm分").format(new Date())+",您在"+stationName+"的可用积分为 "+customerPoints.getPoints().toString()+" 分"));
+                String templateId = "G9tN--a3tGM5BN3otqZr73b4ErQCYWISSgyshbTqLYc";  //积分兑换成功通知模板
+                wxPushUtil.push(gzhAppId, gzhAppSecret, templateId, "oJR5R6r4EJhaORFcPap70r_mtFZo", wxMpTemplate);
+            }
         }
 
+*///========================================================================================================================================================//
+