From a40c2eb885bcdb697c2e16dae4f43cb6cd718973 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 22 一月 2024 11:28:03 +0800
Subject: [PATCH] 优化小区数据

---
 service-job/src/main/java/com/java110/job/adapt/fee/RoomCreatePayFeeAdapt.java |   43 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/fee/RoomCreatePayFeeAdapt.java b/service-job/src/main/java/com/java110/job/adapt/fee/RoomCreatePayFeeAdapt.java
index 9420d64..9413d99 100644
--- a/service-job/src/main/java/com/java110/job/adapt/fee/RoomCreatePayFeeAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/fee/RoomCreatePayFeeAdapt.java
@@ -18,10 +18,7 @@
 import com.java110.dto.user.UserDto;
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.community.IRoomV1InnerServiceSMO;
-import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
-import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
-import com.java110.intf.fee.IPayFeeMonthInnerServiceSMO;
+import com.java110.intf.fee.*;
 import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
 import com.java110.intf.user.*;
 import com.java110.job.adapt.DatabusAdaptImpl;
@@ -82,6 +79,12 @@
     @Autowired
     private IPayFeeMonthInnerServiceSMO payFeeMonthInnerServiceSMOImpl;
 
+
+    @Autowired
+    private IRuleGeneratorPayFeeBillV1InnerServiceSMO ruleGeneratorPayFeeBillV1InnerServiceSMOImpl;
+    @Autowired
+    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
     @Override
     public void execute(Business business, List<Business> businesses) throws ParseException {
         JSONObject data = business.getData();
@@ -131,15 +134,23 @@
             }
         }
 
-        // todo
+        // todo 灏佽 payFeePo 鍜� attrs
 
         List<PayFeePo> feePos = new ArrayList<>();
         List<FeeAttrPo> feeAttrsPos = new ArrayList<>();
 
+
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setCommunityId(data.getString("communityId"));
+        feeConfigDto.setConfigId(data.getString("configId"));
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+        Assert.listOnlyOne(feeConfigDtos, "褰撳墠璐圭敤椤笽D涓嶅瓨鍦ㄦ垨瀛樺湪澶氭潯" + data.getString("configId"));
+
+
         int saveFlag = 0;
         for (int roomIndex = 0; roomIndex < roomDtos.size(); roomIndex++) {
             //todo 鍔犲叆 鎴垮眿璐圭敤
-            feePos.add(addRoomFee(roomDtos.get(roomIndex), data));
+            feePos.add(addRoomFee(roomDtos.get(roomIndex), data, feeConfigDtos.get(0)));
             if (!StringUtil.isEmpty(roomDtos.get(roomIndex).getOwnerId())) {
                 if (!FeeDto.FEE_FLAG_CYCLE.equals(data.getString("feeFlag"))) {
                     feeAttrsPos.add(addFeeAttr(data, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME, data.containsKey("endTime") ? data.getString("endTime") : data.getString("configEndTime")));
@@ -173,7 +184,8 @@
 
     }
 
-    private PayFeePo addRoomFee(RoomDto roomDto, JSONObject paramInJson) {
+    private PayFeePo addRoomFee(RoomDto roomDto, JSONObject paramInJson, FeeConfigDto feeConfigDto) {
+
         String time = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A);
         if (paramInJson.containsKey("feeEndDate")) {
             time = paramInJson.getString("feeEndDate");
@@ -200,7 +212,13 @@
         businessUnit.put("batchId", paramInJson.getString("batchId"));
         businessUnit.put("userId", paramInJson.getString("userId"));
         paramInJson.put("feeId", businessUnit.getString("feeId"));
-        return BeanConvertUtil.covertBean(paramInJson, PayFeePo.class)
+        if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDto.getFeeFlag())
+                && !StringUtil.isEmpty(paramInJson.getString("endTime"))) {
+            paramInJson.put("maxTime", paramInJson.getString("endTime"));
+        } else {
+            paramInJson.put("maxTime", feeConfigDto.getEndTime());
+        }
+        return BeanConvertUtil.covertBean(businessUnit, PayFeePo.class);
     }
 
     private FeeAttrPo addFeeAttr(JSONObject paramInJson, String specCd, String value) {
@@ -218,6 +236,15 @@
         if (feePos == null || feePos.isEmpty()) {
             return 1;
         }
+
+        //todo 璐﹀崟妯″紡
+        String billModal = ruleGeneratorPayFeeBillV1InnerServiceSMOImpl.needGeneratorBillData(feePos);
+
+        if ("Y".equals(billModal)) {
+            return 1;
+        }
+
+
         int flag = feeInnerServiceSMOImpl.saveFee(feePos);
         if (flag < 1) {
             return flag;

--
Gitblit v1.8.0