From 8749db96edc44e76a9b2ecaf0332e8c0f34fbb5b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 08 八月 2023 14:58:59 +0800
Subject: [PATCH] 优化代码

---
 service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java |  190 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 136 insertions(+), 54 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java b/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java
old mode 100644
new mode 100755
index 775e0df..9ced7dd
--- a/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java
@@ -3,10 +3,15 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
-import com.java110.dto.fee.*;
-import com.java110.dto.user.UserDto;
+import com.java110.dto.fee.BillDto;
+import com.java110.dto.fee.BillOweFeeDto;
+import com.java110.dto.fee.FeeAttrDto;
+import com.java110.dto.fee.FeeConfigDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.fee.dao.IFeeAttrServiceDao;
 import com.java110.fee.dao.IFeeServiceDao;
 import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
@@ -44,12 +49,14 @@
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeAttrServiceDao feeAttrServiceDaoImpl;
+
 
     @Override
     public List<FeeDto> queryFees(@RequestBody FeeDto feeDto) {
 
         //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
-
         int page = feeDto.getPage();
 
         if (page != PageDto.DEFAULT_PAGE) {
@@ -62,13 +69,65 @@
             return fees;
         }
 
-        String[] userIds = getUserIds(fees);
-        //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
-        List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
+//        String[] userIds = getUserIds(fees);
+//        //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
+//        List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
 
         for (FeeDto fee : fees) {
-            refreshFee(fee, users);
+            refreshFee(fee);
         }
+
+        List<String> feeIds = new ArrayList<>();
+        for (FeeDto tmpFeeDto : fees) {
+            feeIds.add(tmpFeeDto.getFeeId());
+        }
+
+        Map info = new HashMap();
+        info.put("feeIds", feeIds);
+        info.put("communityId", feeDto.getCommunityId());
+
+        List<Map> attrMaps = feeAttrServiceDaoImpl.getFeeAttrInfo(info);
+
+        List<FeeAttrDto> feeAttrDtos = BeanConvertUtil.covertBeanList(attrMaps, FeeAttrDto.class);
+        List<FeeAttrDto> tmpFeeAttrDtos = null;
+        String payerObjName = "";
+        for (FeeDto tmpFeeDto : fees) {
+            tmpFeeAttrDtos = new ArrayList<>();
+            for (FeeAttrDto feeAttrDto : feeAttrDtos) {
+                if (!tmpFeeDto.getFeeId().equals(feeAttrDto.getFeeId())) {
+                    continue;
+                }
+                tmpFeeAttrDtos.add(feeAttrDto);
+                if(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME.equals(feeAttrDto.getSpecCd())){
+                    payerObjName = feeAttrDto.getValue();
+                }
+            }
+            tmpFeeDto.setPayerObjName(payerObjName);
+            tmpFeeDto.setFeeAttrDtos(tmpFeeAttrDtos);
+        }
+        return fees;
+    }
+
+    @Override
+    public List<FeeDto> querySimpleFees(@RequestBody FeeDto feeDto) {
+
+        //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
+        int page = feeDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            feeDto.setPage((page - 1) * feeDto.getRow());
+        }
+
+        List<FeeDto> fees = BeanConvertUtil.covertBeanList(feeServiceDaoImpl.getFeeInfo(BeanConvertUtil.beanCovertMap(feeDto)), FeeDto.class);
+
+
+        for (FeeDto tmpFeeDto : fees) {
+            if (!StringUtil.isEmpty(tmpFeeDto.getImportFeeName())) {
+                //fee.setFeeName(fee.getImportFeeName() + "(" + fee.getFeeName() + ")");
+                tmpFeeDto.setFeeName(tmpFeeDto.getImportFeeName());
+            }
+        }
+
         return fees;
     }
 
@@ -84,15 +143,15 @@
     /**
      * 浠庣敤鎴峰垪琛ㄤ腑鏌ヨ鐢ㄦ埛锛屽皢鐢ㄦ埛涓殑淇℃伅 鍒锋柊鍒� floor瀵硅薄涓�
      *
-     * @param fee   灏忓尯璐圭敤淇℃伅
-     * @param users 鐢ㄦ埛鍒楄〃
+     * @param fee 灏忓尯璐圭敤淇℃伅
+     *            //@param users 鐢ㄦ埛鍒楄〃
      */
-    private void refreshFee(FeeDto fee, List<UserDto> users) {
-        for (UserDto user : users) {
-            if (fee.getUserId().equals(user.getUserId())) {
-                BeanConvertUtil.covertBean(user, fee);
-            }
-        }
+    private void refreshFee(FeeDto fee) {
+//        for (UserDto user : users) {
+//            if (fee.getUserId().equals(user.getUserId())) {
+//                BeanConvertUtil.covertBean(user, fee);
+//            }
+//        }
 
         if (!StringUtil.isEmpty(fee.getImportFeeName())) {
             //fee.setFeeName(fee.getImportFeeName() + "(" + fee.getFeeName() + ")");
@@ -171,6 +230,43 @@
 
     }
 
+    @Override
+    public int computeBillOweFeeCount(@RequestBody FeeDto feeDto) {
+        return feeServiceDaoImpl.computeBillOweFeeCount(BeanConvertUtil.beanCovertMap(feeDto));
+    }
+
+
+    @Override
+    public List<FeeDto> computeBillOweFee(@RequestBody FeeDto feeDto) {
+        int page = feeDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            feeDto.setPage((page - 1) * feeDto.getRow());
+        }
+
+        List<FeeDto> fees = BeanConvertUtil.covertBeanList(feeServiceDaoImpl.computeBillOweFee(BeanConvertUtil.beanCovertMap(feeDto)), FeeDto.class);
+
+        return fees;
+    }
+
+    @Override
+    public List<FeeDto> computeEveryOweFee(FeeDto feeDto) {
+        int page = feeDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            feeDto.setPage((page - 1) * feeDto.getRow());
+        }
+
+        List<FeeDto> fees = BeanConvertUtil.covertBeanList(feeServiceDaoImpl.computeEveryOweFee(BeanConvertUtil.beanCovertMap(feeDto)), FeeDto.class);
+
+        return fees;
+    }
+
+    @Override
+    public int computeEveryOweFeeCount(FeeDto feeDto) {
+        return feeServiceDaoImpl.computeEveryOweFeeCount(BeanConvertUtil.beanCovertMap(feeDto));
+    }
+
 
     @Override
     public int queryBillOweFeeCount(@RequestBody BillOweFeeDto billDto) {
@@ -228,6 +324,7 @@
     }
 
     @Override
+    @Java110Transactional
     public int updateFee(@RequestBody PayFeePo payFeePo) {
         feeServiceDaoImpl.updateFeeInfoInstance(BeanConvertUtil.beanCovertMap(payFeePo));
         return 1;
@@ -243,6 +340,21 @@
         Map info = new HashMap();
         info.put("payFeePos", fees);
         return feeServiceDaoImpl.insertFees(info);
+    }
+
+    @Override
+    @Java110Transactional
+    public int saveOneFee(@RequestBody PayFeePo payFeePo) {
+        List<Map> fees = new ArrayList<>();
+        fees.add(BeanConvertUtil.beanCovertMap(payFeePo));
+        Map info = new HashMap();
+        info.put("payFeePos", fees);
+        return feeServiceDaoImpl.insertFees(info);
+    }
+
+    @Override
+    public int deleteFeesByBatch(@RequestBody PayFeePo payFeePo) {
+        return feeServiceDaoImpl.deleteFeesByBatch(BeanConvertUtil.beanCovertMap(payFeePo));
     }
 
     @Override
@@ -267,51 +379,21 @@
         return data;
     }
 
+
     private void dealFeeConfig(JSONArray data, FeeConfigDto tmpFeeConfigDto) {
-        String billType = tmpFeeConfigDto.getBillType();
         JSONObject config = new JSONObject();
-        if (FeeConfigDto.BILL_TYPE_EVERY.equals(billType)) {
-            Map info = new HashMap();
-            info.put("configId", tmpFeeConfigDto.getConfigId());
-            info.put("communityId", tmpFeeConfigDto.getCommunityId());
-            info.put("arrearsEndTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-            info.put("state", FeeDto.STATE_DOING);
-            int oweFeeCount = feeServiceDaoImpl.queryFeesCount(info);
-            config.put("oweFeeCount", oweFeeCount);
-
-            info.put("noArrearsEndTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
-            info.put("state", FeeDto.STATE_DOING);
-            int feeCount = feeServiceDaoImpl.queryFeesCount(info);
-            config.put("feeCount", feeCount);
-
-            config.put("feeName", tmpFeeConfigDto.getFeeName());
-            data.add(config);
-            return;
-        }
-        BillDto billDto = new BillDto();
-        billDto.setConfigId(tmpFeeConfigDto.getConfigId());
-        billDto.setCommunityId(tmpFeeConfigDto.getCommunityId());
-        billDto.setCurBill("T");
-        List<Map> bills = feeServiceDaoImpl.queryBills(BeanConvertUtil.beanCovertMap(billDto));
-        if (bills == null || bills.size() < 1) {
-            config.put("oweFeeCount", 0);
-            config.put("feeCount", 0);
-            config.put("feeName", tmpFeeConfigDto.getFeeName());
-            return;
-        }
-
-        Map tmpBillDto = bills.get(0);
         Map info = new HashMap();
-        info.put("billId", tmpBillDto.get("billId"));
-        info.put("communityId", tmpFeeConfigDto.getCommunityId());
-        int oweFeeCount = feeServiceDaoImpl.queryBillOweFeeCount(info);
-
-        config.put("oweFeeCount", oweFeeCount);
         info.put("configId", tmpFeeConfigDto.getConfigId());
         info.put("communityId", tmpFeeConfigDto.getCommunityId());
+        info.put("arrearsEndTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
         info.put("state", FeeDto.STATE_DOING);
-        int feeTotalCount = feeServiceDaoImpl.queryFeesCount(info);
-        config.put("feeCount", feeTotalCount - oweFeeCount);
+        int oweFeeCount = feeServiceDaoImpl.queryFeesCount(info);
+        config.put("oweFeeCount", oweFeeCount);
+
+        info.put("noArrearsEndTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        info.put("state", FeeDto.STATE_DOING);
+        int feeCount = feeServiceDaoImpl.queryFeesCount(info);
+        config.put("feeCount", feeCount);
 
         config.put("feeName", tmpFeeConfigDto.getFeeName());
         data.add(config);

--
Gitblit v1.8.0