Pārlūkot izejas kodu

停车场新增时-进出场最长间隔时长变成0的BUG修复

hbjzws 1 gadu atpakaļ
vecāks
revīzija
2de10d3b16

+ 28 - 15
src/main/java/com/charging/chargingparking/service/impl/ParkingFeeServiceImpl.java

@@ -267,14 +267,7 @@ public class ParkingFeeServiceImpl extends ServiceImpl<ParkingFeeMapper, Parking
                         feeList.add(parkingFeeSubDTO);
                         feeList.add(parkingFeeSubDTO);
                     }
                     }
 
 
-                    //add by hbjzws 2023-03-25 关于2小时内免费的事宜-汽油车
-                    if (!"1".equals(parkingFee.getParkId())&&parkingFee.getFreeDuration() != 0 && parkingTimeInt > parkingFee.getFreeDuration()) {
-                        ParkingFeeSubDTO parkingFeeSubDTO = new ParkingFeeSubDTO();
-                        parkingFeeSubDTO.setMinSection(0);
-                        parkingFeeSubDTO.setMaxSection(parkingFee.getFreeDuration());
-                        parkingFeeSubDTO.setParkingCost(BigDecimal.ZERO);
-                        feeList.add(parkingFeeSubDTO);
-                    }
+
                     if (feeList.size()==0){
                     if (feeList.size()==0){
                         QueryWrapper<ParkingFeeSub> parkingFeeSubQueryWrapper = new QueryWrapper<>();
                         QueryWrapper<ParkingFeeSub> parkingFeeSubQueryWrapper = new QueryWrapper<>();
                         parkingFeeSubQueryWrapper.eq("park_id", parkingRecord.getParkId());
                         parkingFeeSubQueryWrapper.eq("park_id", parkingRecord.getParkId());
@@ -286,6 +279,16 @@ public class ParkingFeeServiceImpl extends ServiceImpl<ParkingFeeMapper, Parking
                             feeList.addAll(parkingFeeSubDTOList);
                             feeList.addAll(parkingFeeSubDTOList);
                         }
                         }
                     }
                     }
+                    if (feeList.size()==0){
+                        //add by hbjzws 2023-03-25 关于2小时内免费的事宜-汽油车
+                        if (!"1".equals(parkingFee.getParkId())&&parkingFee.getFreeDuration() != 0 && parkingTimeInt > parkingFee.getFreeDuration()) {
+                            ParkingFeeSubDTO parkingFeeSubDTO = new ParkingFeeSubDTO();
+                            parkingFeeSubDTO.setMinSection(0);
+                            parkingFeeSubDTO.setMaxSection(parkingFee.getFreeDuration());
+                            parkingFeeSubDTO.setParkingCost(BigDecimal.ZERO);
+                            feeList.add(parkingFeeSubDTO);
+                        }
+                    }
                 }
                 }
                 //新能源
                 //新能源
                 if (parkingRecord.getCarNum().length() == 8) {
                 if (parkingRecord.getCarNum().length() == 8) {
@@ -301,13 +304,13 @@ public class ParkingFeeServiceImpl extends ServiceImpl<ParkingFeeMapper, Parking
                         feeList.add(parkingFeeSubDTO);
                         feeList.add(parkingFeeSubDTO);
                     }
                     }
                     //add by hbjzws 2023-03-25 关于2小时内免费的事宜-新能源车
                     //add by hbjzws 2023-03-25 关于2小时内免费的事宜-新能源车
-                    if (!"1".equals(parkingFee.getParkId())&&parkingFee.getNewEnergyFreeDuration() != 0 && parkingTimeInt > parkingFee.getNewEnergyFreeDuration()) {
-                        ParkingFeeSubDTO parkingFeeSubDTO = new ParkingFeeSubDTO();
-                        parkingFeeSubDTO.setMinSection(0);
-                        parkingFeeSubDTO.setMaxSection(parkingFee.getNewEnergyFreeDuration());
-                        parkingFeeSubDTO.setParkingCost(BigDecimal.ZERO);
-                        feeList.add(parkingFeeSubDTO);
-                    }
+//                    if (!"1".equals(parkingFee.getParkId())&&parkingFee.getNewEnergyFreeDuration() != 0 && parkingTimeInt > parkingFee.getNewEnergyFreeDuration()) {
+//                        ParkingFeeSubDTO parkingFeeSubDTO = new ParkingFeeSubDTO();
+//                        parkingFeeSubDTO.setMinSection(0);
+//                        parkingFeeSubDTO.setMaxSection(parkingFee.getNewEnergyFreeDuration());
+//                        parkingFeeSubDTO.setParkingCost(BigDecimal.ZERO);
+//                        feeList.add(parkingFeeSubDTO);
+//                    }
                     if (feeList.size()==0){
                     if (feeList.size()==0){
                         QueryWrapper<ParkingFeeSub> parkingFeeSubQueryWrapper = new QueryWrapper<>();
                         QueryWrapper<ParkingFeeSub> parkingFeeSubQueryWrapper = new QueryWrapper<>();
                         parkingFeeSubQueryWrapper.eq("park_id", parkingRecord.getParkId());
                         parkingFeeSubQueryWrapper.eq("park_id", parkingRecord.getParkId());
@@ -319,6 +322,16 @@ public class ParkingFeeServiceImpl extends ServiceImpl<ParkingFeeMapper, Parking
                             feeList.addAll(parkingFeeSubDTOList);
                             feeList.addAll(parkingFeeSubDTOList);
                         }
                         }
                     }
                     }
+                    if(feeList.size()==0){
+                        //add by hbjzws 2023-03-25 关于2小时内免费的事宜-新能源车
+                    if (!"1".equals(parkingFee.getParkId())&&parkingFee.getNewEnergyFreeDuration() != 0 && parkingTimeInt > parkingFee.getNewEnergyFreeDuration()) {
+                        ParkingFeeSubDTO parkingFeeSubDTO = new ParkingFeeSubDTO();
+                        parkingFeeSubDTO.setMinSection(0);
+                        parkingFeeSubDTO.setMaxSection(parkingFee.getNewEnergyFreeDuration());
+                        parkingFeeSubDTO.setParkingCost(BigDecimal.ZERO);
+                        feeList.add(parkingFeeSubDTO);
+                    }
+                   }
                 }
                 }
                 //无规则
                 //无规则
                 if (feeList.size() == 0) {
                 if (feeList.size() == 0) {

+ 7 - 1
src/test/java/com/charging/chargingparking/ChargingParkingApplicationTests.java

@@ -648,7 +648,13 @@ class ChargingParkingApplicationTests {
         try {
         try {
             //1771830983861047298 鄂DD26100 荆州院子 136分钟   实际9元 应该收费3元 没有充电---------新能源车
             //1771830983861047298 鄂DD26100 荆州院子 136分钟   实际9元 应该收费3元 没有充电---------新能源车
             //1769951488673681409 鄂DD26H6 御河 442分钟-7小时22分钟  实际收费16元 ----------------- 汽油车
             //1769951488673681409 鄂DD26H6 御河 442分钟-7小时22分钟  实际收费16元 ----------------- 汽油车
-            ParkingRecord parkingRecord = parkingRecordService.getById("1771830983861047298");
+            //鄂DD77599 御河社区停车场  1769664940010999810
+            //2024-03-18 22:41:36
+            //4小时37分钟
+            //2024-03-18 18:19:31
+            //2024-03-18 22:41:38
+            //4
+            ParkingRecord parkingRecord = parkingRecordService.getById("1769664940010999810");
             ParkingCostDTO parkingCostDTO  = parkingFeeService.parkingCost2(parkingRecord);
             ParkingCostDTO parkingCostDTO  = parkingFeeService.parkingCost2(parkingRecord);
 
 
             System.out.println(parkingCostDTO);
             System.out.println(parkingCostDTO);