From 6543cd42661e2f55b28bdc354022a57885d549de Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 04 三月 2021 09:19:49 +0800
Subject: [PATCH] 优化公摊问题

---
 service-fee/src/main/java/com/java110/fee/bmo/feeDiscountRule/impl/GetFeeDiscountRuleBMOImpl.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/bmo/feeDiscountRule/impl/GetFeeDiscountRuleBMOImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/feeDiscountRule/impl/GetFeeDiscountRuleBMOImpl.java
index e3a0659..76c1bdf 100644
--- a/service-fee/src/main/java/com/java110/fee/bmo/feeDiscountRule/impl/GetFeeDiscountRuleBMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/feeDiscountRule/impl/GetFeeDiscountRuleBMOImpl.java
@@ -1,8 +1,10 @@
 package com.java110.fee.bmo.feeDiscountRule.impl;
 
 import com.java110.dto.feeDiscountRule.FeeDiscountRuleDto;
+import com.java110.dto.feeDiscountRuleSpec.FeeDiscountRuleSpecDto;
 import com.java110.fee.bmo.feeDiscountRule.IGetFeeDiscountRuleBMO;
 import com.java110.intf.fee.IFeeDiscountRuleInnerServiceSMO;
+import com.java110.intf.fee.IFeeDiscountRuleSpecInnerServiceSMO;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -18,6 +20,9 @@
     @Autowired
     private IFeeDiscountRuleInnerServiceSMO feeDiscountRuleInnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeDiscountRuleSpecInnerServiceSMO feeDiscountRuleSpecInnerServiceSMOImpl;
+
     /**
      * @param feeDiscountRuleDto
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
@@ -30,6 +35,8 @@
         List<FeeDiscountRuleDto> feeDiscountRuleDtos = null;
         if (count > 0) {
             feeDiscountRuleDtos = feeDiscountRuleInnerServiceSMOImpl.queryFeeDiscountRules(feeDiscountRuleDto);
+
+            freshRuleSpec(feeDiscountRuleDtos);
         } else {
             feeDiscountRuleDtos = new ArrayList<>();
         }
@@ -41,4 +48,32 @@
         return responseEntity;
     }
 
+    private void freshRuleSpec(List<FeeDiscountRuleDto> feeDiscountRuleDtos) {
+
+        List<String> ruleIds = new ArrayList<>();
+        for (FeeDiscountRuleDto feeDiscountRuleDto : feeDiscountRuleDtos) {
+            ruleIds.add(feeDiscountRuleDto.getRuleId());
+        }
+
+        if (ruleIds.size() < 1) {
+            return;
+        }
+
+
+        FeeDiscountRuleSpecDto feeDiscountRuleSpecDto = new FeeDiscountRuleSpecDto();
+        feeDiscountRuleSpecDto.setRuleIds(ruleIds.toArray(new String[ruleIds.size()]));
+        List<FeeDiscountRuleSpecDto> feeDiscountRuleSpecDtos
+                = feeDiscountRuleSpecInnerServiceSMOImpl.queryFeeDiscountRuleSpecs(feeDiscountRuleSpecDto);
+        List<FeeDiscountRuleSpecDto> tmpSpecs = null;
+        for (FeeDiscountRuleDto feeDiscountRuleDto : feeDiscountRuleDtos) {
+            tmpSpecs = new ArrayList<>();
+            for (FeeDiscountRuleSpecDto tmpFeeDiscountRuleSpecDto : feeDiscountRuleSpecDtos) {
+                if (feeDiscountRuleDto.getRuleId().equals(tmpFeeDiscountRuleSpecDto.getRuleId())) {
+                    tmpSpecs.add(tmpFeeDiscountRuleSpecDto);
+                }
+            }
+            feeDiscountRuleDto.setFeeDiscountRuleSpecs(tmpSpecs);
+        }
+    }
+
 }

--
Gitblit v1.8.0