From 615945a678fc8bfd18c6a32226f24f4e8962ad76 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期五, 15 一月 2021 16:04:25 +0800
Subject: [PATCH] 新增空置房申请和验房

---
 service-fee/src/main/java/com/java110/fee/smo/impl/FeeDiscountInnerServiceSMOImpl.java |   55 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/smo/impl/FeeDiscountInnerServiceSMOImpl.java b/service-fee/src/main/java/com/java110/fee/smo/impl/FeeDiscountInnerServiceSMOImpl.java
index 67d3cd1..d92b965 100644
--- a/service-fee/src/main/java/com/java110/fee/smo/impl/FeeDiscountInnerServiceSMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/smo/impl/FeeDiscountInnerServiceSMOImpl.java
@@ -3,6 +3,7 @@
 
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
+import com.java110.dto.applyRoomDiscount.ApplyRoomDiscountDto;
 import com.java110.dto.fee.FeeDetailDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.feeDiscount.ComputeDiscountDto;
@@ -11,20 +12,20 @@
 import com.java110.dto.payFeeConfigDiscount.PayFeeConfigDiscountDto;
 import com.java110.fee.dao.IFeeDiscountServiceDao;
 import com.java110.fee.discount.IComputeDiscount;
-import com.java110.intf.fee.IFeeDiscountInnerServiceSMO;
-import com.java110.intf.fee.IFeeDiscountSpecInnerServiceSMO;
-import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.fee.IPayFeeConfigDiscountInnerServiceSMO;
+import com.java110.intf.fee.*;
 import com.java110.po.feeDiscount.FeeDiscountPo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -50,6 +51,9 @@
 
     @Autowired
     private IFeeDiscountSpecInnerServiceSMO feeDiscountSpecInnerServiceSMOImpl;
+
+    @Autowired
+    private IApplyRoomDiscountInnerServiceSMO applyRoomDiscountInnerServiceSMOImpl;
 
     //鍩�
     public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
@@ -132,15 +136,14 @@
         }
     }
 
-
     /**
      * 璁$畻鎶樻墸
      *
      * @param feeDetailDto
      * @return
      */
-
     public List<ComputeDiscountDto> computeDiscount(@RequestBody FeeDetailDto feeDetailDto) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         List<ComputeDiscountDto> computeDiscountDtos = new ArrayList<>();
         FeeDto feeDto = new FeeDto();
         feeDto.setFeeId(feeDetailDto.getFeeId());
@@ -148,7 +151,6 @@
         feeDto.setState(FeeDto.STATE_DOING);
         List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
         Assert.listOnlyOne(feeDtos, "璐圭敤涓嶅瓨鍦�");
-
         PayFeeConfigDiscountDto payFeeConfigDiscountDto = new PayFeeConfigDiscountDto();
         payFeeConfigDiscountDto.setConfigId(feeDtos.get(0).getConfigId());
         payFeeConfigDiscountDto.setRow(feeDetailDto.getRow());
@@ -156,32 +158,56 @@
         payFeeConfigDiscountDto.setCommunityId(feeDetailDto.getCommunityId());
         Date currentTime = new Date();
         payFeeConfigDiscountDto.setCurrentTime(currentTime);
+        //鏍规嵁璐圭敤鏌ヨ鎶樻墸
         List<PayFeeConfigDiscountDto> payFeeConfigDiscountDtos =
                 payFeeConfigDiscountInnerServiceSMOImpl.queryPayFeeConfigDiscounts(payFeeConfigDiscountDto);
-
         if (payFeeConfigDiscountDtos == null || payFeeConfigDiscountDtos.size() < 1) {
             return computeDiscountDtos;
         }
-
         for (PayFeeConfigDiscountDto tmpPayFeeConfigDiscountDto : payFeeConfigDiscountDtos) {
             doCompute(tmpPayFeeConfigDiscountDto, Double.parseDouble(feeDetailDto.getCycles()), computeDiscountDtos, feeDetailDto.getFeeId());
         }
-
+        if (!StringUtil.isEmpty(feeDetailDto.getPayerObjType()) && feeDetailDto.getPayerObjType().equals("3333")) {
+            //鏍规嵁鎴垮眿ID,鍘绘姌鎵g敵璇疯〃鏌ヨ鏄惁鏈夋姌鎵�
+            ApplyRoomDiscountDto applyRoomDiscountDto = new ApplyRoomDiscountDto();
+            //瀹℃牳宸查�氳繃
+            applyRoomDiscountDto.setState("4");
+            //灏忓尯ID
+            applyRoomDiscountDto.setCommunityId(feeDetailDto.getCommunityId());
+            //鎴垮眿id
+            applyRoomDiscountDto.setRoomId(feeDetailDto.getPayerObjId());
+            //寮�濮嬫椂闂�
+            applyRoomDiscountDto.setStartTime(simpleDateFormat.format(feeDetailDto.getStartTime()));
+            //缁撴潫鏃堕棿
+            Calendar c = Calendar.getInstance();
+            c.setTime(feeDetailDto.getStartTime());
+            double month = Double.parseDouble(feeDetailDto.getCycles());
+            c.add(Calendar.MONTH, (int) month);
+            Date endTime = c.getTime();
+            applyRoomDiscountDto.setEndTime(simpleDateFormat.format(endTime));
+            //鏌ヨ鎶樻墸鐢宠琛�
+            List<ApplyRoomDiscountDto> applyRoomDiscountDtos = applyRoomDiscountInnerServiceSMOImpl.queryApplyRoomDiscounts(applyRoomDiscountDto);
+            //鍒ゆ柇鏌ヨ鐨勬姌鎵g敵璇疯〃鏄惁鏈夋暟鎹�
+            if (applyRoomDiscountDtos.size() > 0) {
+                //鑾峰彇浼樻儬id
+                String discountId = applyRoomDiscountDtos.get(0).getDiscountId();
+                PayFeeConfigDiscountDto payFeeConfigDiscount = new PayFeeConfigDiscountDto();
+                payFeeConfigDiscount.setCommunityId(applyRoomDiscountDtos.get(0).getCommunityId());
+                payFeeConfigDiscount.setDiscountId(discountId);
+                doCompute(payFeeConfigDiscount, Double.parseDouble(feeDetailDto.getCycles()), computeDiscountDtos, feeDetailDto.getFeeId());
+            }
+        }
         //鍙栧嚭寮�鍏虫槧灏勭殑鍊�
         String value = MappingCache.getValue(DOMAIN_COMMON, DISCOUNT_MODE);
-
         List<ComputeDiscountDto> computeDiscountDtoList = new ArrayList<>();
         for (ComputeDiscountDto computeDiscountDto : computeDiscountDtos) {
             computeDiscountDto.setValue(value);
             computeDiscountDtoList.add(computeDiscountDto);
         }
-
         return computeDiscountDtoList;
-
     }
 
     private void doCompute(PayFeeConfigDiscountDto tmpPayFeeConfigDiscountDto, double cycles, List<ComputeDiscountDto> computeDiscountDtos, String feeId) {
-
         FeeDiscountDto feeDiscountDto = new FeeDiscountDto();
         feeDiscountDto.setCommunityId(tmpPayFeeConfigDiscountDto.getCommunityId());
         feeDiscountDto.setDiscountId(tmpPayFeeConfigDiscountDto.getDiscountId());
@@ -195,7 +221,6 @@
         }
         IComputeDiscount computeDiscount = (IComputeDiscount) ApplicationContextFactory.getBean(feeDiscountDtos.get(0).getBeanImpl());
         ComputeDiscountDto computeDiscountDto = computeDiscount.compute(feeDiscountDtos.get(0));
-
         if (computeDiscountDto == null) {
             return;
         }

--
Gitblit v1.8.0