java110 лет назад: 5
Родитель
Сommit
8a18fb0eb7

+ 11 - 2
service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java

@@ -16,7 +16,11 @@ import com.java110.dto.repair.RepairDto;
 import com.java110.entity.center.AppService;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.*;
+import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.fee.IFeeReceiptDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeReceiptInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.po.car.OwnerCarPo;
 import com.java110.po.feeReceipt.FeeReceiptPo;
@@ -119,9 +123,14 @@ public class PayFeeListener extends AbstractServiceApiDataFlowListener {
 
         //折扣管理
         if (paramObj.containsKey("selectDiscount")) {
+            JSONObject discountBusiness = null;
             JSONArray selectDiscounts = paramObj.getJSONArray("selectDiscount");
             for (int discountIndex = 0; discountIndex < selectDiscounts.size(); discountIndex++) {
-                businesses.add(payFeeDetailDiscountBMOImpl.addPayFeeDetailDiscount(paramObj, selectDiscounts.getJSONObject(discountIndex), dataFlowContext));
+                discountBusiness = payFeeDetailDiscountBMOImpl.addPayFeeDetailDiscount(paramObj,
+                        selectDiscounts.getJSONObject(discountIndex), dataFlowContext);
+                if (discountBusiness != null) {
+                    businesses.add(discountBusiness);
+                }
             }
         }
 

+ 9 - 1
service-fee/src/main/java/com/java110/fee/discount/impl/DiscountFeeRule.java

@@ -73,7 +73,15 @@ public class DiscountFeeRule implements IComputeDiscount {
         }
 
         if (feeDiscountDto.getCycles() < month) {
-            return null;
+            ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto();
+            computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId());
+            computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_D);
+            computeDiscountDto.setRuleId(feeDiscountDto.getRuleId());
+            computeDiscountDto.setRuleName(feeDiscountDto.getRuleName());
+            computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName());
+            computeDiscountDto.setDiscountPrice(0.0);
+            computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos);
+            return computeDiscountDto;
         }
 
         //查询费用

+ 18 - 2
service-fee/src/main/java/com/java110/fee/discount/impl/LateFeeByDayRule.java

@@ -71,13 +71,29 @@ public class LateFeeByDayRule implements IComputeDiscount {
         Date endTime = feeDtos.get(0).getEndTime();
 
         if (endTime.getTime() > curTime.getTime()) {
-            return null;
+            ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto();
+            computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId());
+            computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_V);
+            computeDiscountDto.setRuleId(feeDiscountDto.getRuleId());
+            computeDiscountDto.setRuleName(feeDiscountDto.getRuleName());
+            computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName());
+            computeDiscountDto.setDiscountPrice(0.0);
+            computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos);
+            return computeDiscountDto;
         }
         //查询费用
         int day = DateUtil.daysBetween(curTime, endTime);
 
         if (day < 1) {
-            return null;
+            ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto();
+            computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId());
+            computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_V);
+            computeDiscountDto.setRuleId(feeDiscountDto.getRuleId());
+            computeDiscountDto.setRuleName(feeDiscountDto.getRuleName());
+            computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName());
+            computeDiscountDto.setDiscountPrice(0.0);
+            computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos);
+            return computeDiscountDto;
         }
 
         double price = computeFeeSMOImpl.getFeePrice(feeDtos.get(0));

+ 9 - 1
service-fee/src/main/java/com/java110/fee/discount/impl/LateFeeByMonthRule.java

@@ -71,7 +71,15 @@ public class LateFeeByMonthRule implements IComputeDiscount {
         Date endTime = feeDtos.get(0).getEndTime();
 
         if (endTime.getTime() > curTime.getTime()) {
-            return null;
+            ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto();
+            computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId());
+            computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_V);
+            computeDiscountDto.setRuleId(feeDiscountDto.getRuleId());
+            computeDiscountDto.setRuleName(feeDiscountDto.getRuleName());
+            computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName());
+            computeDiscountDto.setDiscountPrice(0.0);
+            computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos);
+            return computeDiscountDto;
         }
         //查询费用
         Double month = computeFeeSMOImpl.dayCompare(curTime, endTime);

+ 9 - 1
service-fee/src/main/java/com/java110/fee/discount/impl/ReductionFeeRule.java

@@ -68,7 +68,15 @@ public class ReductionFeeRule implements IComputeDiscount {
         }
 
         if (feeDiscountDto.getCycles() < month) {
-            return null;
+            ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto();
+            computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId());
+            computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_D);
+            computeDiscountDto.setRuleId(feeDiscountDto.getRuleId());
+            computeDiscountDto.setRuleName(feeDiscountDto.getRuleName());
+            computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName());
+            computeDiscountDto.setDiscountPrice(0.0);
+            computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos);
+            return computeDiscountDto;
         }
 
         Double cycle = feeDiscountDto.getCycles() / month;