From 00334dc3709c454daed8d3487808e47ece7e0a64 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 19 十二月 2024 13:44:33 +0800
Subject: [PATCH] 物业缴租金自动延期房屋有效期

---
 service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeConfirmCmd.java |  115 ++++++---------------------------------------------------
 1 files changed, 13 insertions(+), 102 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeConfirmCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeConfirmCmd.java
index 3f1844f..05a4a97 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeConfirmCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeConfirmCmd.java
@@ -21,6 +21,7 @@
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
 import com.java110.fee.bmo.fee.IFeeBMO;
+import com.java110.fee.bmo.fee.IFinishFeeNotify;
 import com.java110.intf.acct.IAccountInnerServiceSMO;
 import com.java110.intf.acct.ICouponUserDetailV1InnerServiceSMO;
 import com.java110.intf.acct.ICouponUserV1InnerServiceSMO;
@@ -104,6 +105,9 @@
     @Autowired
     private IFeeAccountDetailServiceSMO feeAccountDetailServiceSMOImpl;
 
+    @Autowired
+    private IFinishFeeNotify finishFeeNotifyImpl;
+
     //榛樿搴忓垪
     protected static final int DEFAULT_SEQ = 1;
 
@@ -146,63 +150,14 @@
         feeBMOImpl.addFeePreDetail(paramObj);
         feeBMOImpl.modifyPreFee(paramObj);
 
-        dealOwnerCartEndTime(paramObj);
+        //todo 涓哄仠杞﹁垂鍗曠嫭澶勭悊
+        finishFeeNotifyImpl.updateCarEndTime(paramObj.getString("feeId"), paramObj.getString("communityId"));
 
-        //鍒ゆ柇鏄惁鏈夋淳鍗曞睘鎬D
-        FeeAttrDto feeAttrDto = new FeeAttrDto();
-        feeAttrDto.setCommunityId(paramObj.getString("communityId"));
-        feeAttrDto.setFeeId(paramObj.getString("feeId"));
-        feeAttrDto.setSpecCd(FeeAttrDto.SPEC_CD_REPAIR);
-        List<FeeAttrDto> feeAttrDtos = feeAttrInnerServiceSMOImpl.queryFeeAttrs(feeAttrDto);
-        //淇敼 娲惧崟鐘舵��
-        if (feeAttrDtos != null && feeAttrDtos.size() > 0) {
-            RepairPoolPo repairPoolPo = new RepairPoolPo();
-            repairPoolPo.setRepairId(feeAttrDtos.get(0).getValue());
-            repairPoolPo.setCommunityId(paramObj.getString("communityId"));
-            repairPoolPo.setState(RepairDto.STATE_APPRAISE);
-            int flag = repairPoolNewV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo);
-            if (flag < 1) {
-                throw new CmdException("鏇存柊寰俊娲惧崟姹犱俊鎭け璐�");
-            }
-            RepairUserDto repairUserDto = new RepairUserDto();
-            repairUserDto.setRepairId(feeAttrDtos.get(0).getValue());
-            repairUserDto.setState(RepairUserDto.STATE_PAY_FEE);
-            //鏌ヨ寰呮敮浠樼姸鎬佺殑璁板綍
-            List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
-            Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒锛�");
-            RepairUserPo repairUserPo = new RepairUserPo();
-            repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
-            repairUserPo.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
-            //濡傛灉鏄緟璇勪环鐘舵�侊紝灏辨洿鏂扮粨鏉熸椂闂�
-            repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-            DecimalFormat df = new DecimalFormat("0.00");
-            BigDecimal payment_amount = new BigDecimal(paramObj.getString("receivableAmount"));
-            repairUserPo.setContext("宸叉敮浠�" + df.format(payment_amount) + "鍏�");
-            flag = repairUserNewV1InnerServiceSMOImpl.updateRepairUserNew(repairUserPo);
-            if (flag < 1) {
-                throw new CmdException("鏇存柊寰俊娲惧崟姹犱俊鎭け璐�");
-            }
-            //鏂板寰呰瘎浠风姸鎬�
-            RepairUserPo repairUser = new RepairUserPo();
-            repairUser.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
-            repairUser.setStartTime(repairUserPo.getEndTime());
-            repairUser.setState(RepairUserDto.STATE_EVALUATE);
-            repairUser.setContext("寰呰瘎浠�");
-            repairUser.setCommunityId(paramObj.getString("communityId"));
-            repairUser.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-            repairUser.setRepairId(repairUserDtoList.get(0).getRepairId());
-            repairUser.setStaffId(repairUserDtoList.get(0).getStaffId());
-            repairUser.setStaffName(repairUserDtoList.get(0).getStaffName());
-            repairUser.setPreStaffId(repairUserDtoList.get(0).getStaffId());
-            repairUser.setPreStaffName(repairUserDtoList.get(0).getStaffName());
-            repairUser.setPreRuId(repairUserDtoList.get(0).getRuId());
-            repairUser.setRepairEvent("auditUser");
-            repairUser.setbId("-1");
-            flag = repairUserNewV1InnerServiceSMOImpl.saveRepairUserNew(repairUser);
-            if (flag < 1) {
-                throw new CmdException("鏇存柊寰俊娲惧崟姹犱俊鎭け璐�");
-            }
-        }
+        //todo 淇敼鎶ヤ慨鍗�
+        finishFeeNotifyImpl.updateRepair(paramObj.getString("feeId"), paramObj.getString("communityId"), paramObj.getString("receivedAmount"));
+
+        //todo 绉熼噾寤舵湡鎴垮眿缁撴潫鏃堕棿
+        finishFeeNotifyImpl.updateRoomEndTime(paramObj.getString("feeId"), paramObj.getString("communityId"));
 
         //鏌ヨ pay_fee_detail 鏄惁缂磋垂
         FeeDetailDto feeDetailDto = new FeeDetailDto();
@@ -215,7 +170,7 @@
             //List<ComputeDiscountDto> computeDiscountDtos = (List<ComputeDiscountDto>) paramObj.get("computeDiscountDtos");
             JSONArray computeDiscountDtos = paramObj.getJSONArray("computeDiscountDtos");
             ComputeDiscountDto computeDiscountDto = null;
-            if (computeDiscountDtos != null && computeDiscountDtos.size() > 0) {
+            if (!ListUtil.isNull(computeDiscountDtos)) {
                 for (int accountIndex = 0; accountIndex < computeDiscountDtos.size(); accountIndex++) {
                     computeDiscountDto = BeanConvertUtil.covertBean(computeDiscountDtos.getJSONObject(accountIndex), ComputeDiscountDto.class);
                     if (!StringUtil.isEmpty(computeDiscountDto.getArdId())) {
@@ -237,7 +192,7 @@
         parkingSpaceApplyDto.setFeeId(paramObj.getString("feeId"));
         parkingSpaceApplyDto.setState("2002");//瀹℃牳涓�
         List<ParkingSpaceApplyDto> parkingSpaceApplyDtos = parkingSpaceApplyV1InnerServiceSMOImpl.queryParkingSpaceApplys(parkingSpaceApplyDto);
-        if (parkingSpaceApplyDtos != null && parkingSpaceApplyDtos.size() > 0) {
+        if (!ListUtil.isNull(parkingSpaceApplyDtos)) {
             ParkingSpaceApplyPo parkingSpaceApplyPo = new ParkingSpaceApplyPo();
             parkingSpaceApplyPo.setApplyId(parkingSpaceApplyDtos.get(0).getApplyId());
             parkingSpaceApplyPo.setState("3003");
@@ -417,49 +372,5 @@
         }
     }
 
-    private void dealOwnerCartEndTime(JSONObject paramObj) {
 
-        FeeDto feeDto = new FeeDto();
-        feeDto.setFeeId(paramObj.getString("feeId"));
-        feeDto.setCommunityId(paramObj.getString("communityId"));
-        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
-        if (ListUtil.isNull(feeDtos)) {
-            return;
-        }
-        //涓哄仠杞﹁垂鍗曠嫭澶勭悊
-        if (!FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDtos.get(0).getPayerObjType())) {
-            return;
-        }
-        Date feeEndTime = feeDtos.get(0).getEndTime();
-        OwnerCarDto ownerCarDto = new OwnerCarDto();
-        ownerCarDto.setCommunityId(paramObj.getString("communityId"));
-        ownerCarDto.setCarId(feeDtos.get(0).getPayerObjId());
-        List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
-
-
-        Calendar endTimeCalendar = null;
-        //杞︿綅璐圭敤缁
-        if (ListUtil.isNull(ownerCarDtos)) {
-            return;
-        }
-        for (OwnerCarDto tmpOwnerCarDto : ownerCarDtos) {
-            //鍚庝粯璐� 鎴栬�呬俊鐢ㄦ湡杞﹁締 鍔犱竴涓湀
-            if (FeeConfigDto.PAYMENT_CD_AFTER.equals(feeDtos.get(0).getPaymentCd())
-                    || OwnerCarDto.CAR_TYPE_CREDIT.equals(tmpOwnerCarDto.getCarType())) {
-                endTimeCalendar = Calendar.getInstance();
-                endTimeCalendar.setTime(feeEndTime);
-                endTimeCalendar.add(Calendar.MONTH, 1);
-                feeEndTime = endTimeCalendar.getTime();
-            }
-            if (tmpOwnerCarDto.getEndTime().getTime() < feeEndTime.getTime()) {
-                OwnerCarPo ownerCarPo = new OwnerCarPo();
-                ownerCarPo.setMemberId(tmpOwnerCarDto.getMemberId());
-                ownerCarPo.setEndTime(DateUtil.getFormatTimeString(feeEndTime, DateUtil.DATE_FORMATE_STRING_A));
-                int fage = ownerCarNewV1InnerServiceSMOImpl.updateOwnerCarNew(ownerCarPo);
-                if (fage < 1) {
-                    throw new CmdException("鏇存柊璐圭敤淇℃伅澶辫触");
-                }
-            }
-        }
-    }
 }

--
Gitblit v1.8.0