From 4e992596dd378bb68021875a90801b4c7ecaf288 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 06 十二月 2024 00:52:07 +0800
Subject: [PATCH] 扣款只扣物业费和水电费扣款

---
 service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java |   48 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java b/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java
index 2d94f4a..a710af4 100755
--- a/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java
+++ b/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java
@@ -1,11 +1,13 @@
 package com.java110.user.bmo.owner.impl;
 
-import com.java110.dto.RoomDto;
-import com.java110.dto.basePrivilege.BasePrivilegeDto;
+import com.java110.dto.account.AccountDto;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.privilege.BasePrivilegeDto;
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.intf.acct.IAccountInnerServiceSMO;
 import com.java110.intf.common.IFileInnerServiceSMO;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.community.IMenuInnerServiceSMO;
@@ -16,11 +18,13 @@
 import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.user.bmo.owner.IComprehensiveQuery;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.ListUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -63,6 +67,9 @@
     @Autowired
     private IContractInnerServiceSMO contractInnerServiceSMOImpl;
 
+    @Autowired
+    private IAccountInnerServiceSMO accountInnerServiceSMOImpl;
+
     @Override
     public ResponseEntity<String> query(String communityId, String searchValue, String searchType, String userId, String storeId) {
         OwnerDto ownerDto = null;
@@ -98,7 +105,28 @@
                 ownerDto = queryByContract(communityId, searchValue, userId, storeId);
                 break;
         }
+
+        if (ownerDto == null) {
+            return ResultVo.createResponseEntity(1, 1, ownerDto);
+        }
+        //todo 鏌ヨ璐︽埛浣欓
+        AccountDto accountDto = new AccountDto();
+        accountDto.setObjId(ownerDto.getMemberId());
+        accountDto.setPartId(communityId);
+        List<AccountDto> accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
+        if (ListUtil.isNull(accountDtos)) {
+            return ResultVo.createResponseEntity(1, 1, ownerDto);
+        }
+        BigDecimal accountDec = new BigDecimal("0");
+        for (AccountDto tmpAccountDto : accountDtos) {
+            accountDec = accountDec.add(new BigDecimal(tmpAccountDto.getAmount()));
+        }
+        accountDec = accountDec.setScale(2, BigDecimal.ROUND_HALF_UP);
+
+        ownerDto.setAcctAmount(accountDec.doubleValue() + "");
+
         return ResultVo.createResponseEntity(1, 1, ownerDto);
+
     }
 
     /**
@@ -112,7 +140,7 @@
         OwnerDto ownerDto = new OwnerDto();
         ownerDto.setCommunityId(communityId);
         ownerDto.setIdCard(searchValue);
-        ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER, OwnerDto.OWNER_TYPE_CD_RENTING});
+        ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER});
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
         Assert.listOnlyOne(ownerDtos, "鏈壘鍒版垚鍛樹俊鎭垨鑰呮煡璇㈠埌澶氭潯锛岃鎹㈠叾浠栨潯浠舵煡璇�");
         OwnerDto owner = queryByOwnerId(communityId, ownerDtos.get(0).getOwnerId());
@@ -144,7 +172,7 @@
         OwnerDto ownerDto = new OwnerDto();
         ownerDto.setCommunityId(communityId);
         ownerDto.setLink(searchValue);
-        ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER, OwnerDto.OWNER_TYPE_CD_RENTING});
+        ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER});
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
         Assert.listOnlyOne(ownerDtos, "鏈壘鍒版垚鍛樹俊鎭垨鑰呮煡璇㈠埌澶氭潯锛岃鎹㈠叾浠栨潯浠舵煡璇�");
         OwnerDto owner = queryByOwnerId(communityId, ownerDtos.get(0).getOwnerId());
@@ -177,9 +205,9 @@
         OwnerDto ownerDto = new OwnerDto();
         ownerDto.setCommunityId(communityId);
         ownerDto.setName(searchValue);
-        ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER, OwnerDto.OWNER_TYPE_CD_RENTING});
+        ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER});
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
-        Assert.isNotNull(ownerDtos,"鏈壘鍒版垚鍛樹俊鎭紝璇锋崲鍏朵粬鏉′欢鏌ヨ");
+        Assert.isNotNull(ownerDtos, "鏈壘鍒版垚鍛樹俊鎭紝璇锋崲鍏朵粬鏉′欢鏌ヨ");
         //Assert.listOnlyOne(ownerDtos, "鏈壘鍒版垚鍛樹俊鎭垨鑰呮煡璇㈠埌澶氭潯锛岃鎹㈠叾浠栨潯浠舵煡璇�");
         OwnerDto owner = queryByOwnerId(communityId, ownerDtos.get(0).getOwnerId());
         //鏌ヨ鏄惁鏈夎劚鏁忔潈闄�
@@ -450,7 +478,7 @@
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍟嗛摵 濡� 1-1");
         }
 
-        String[] values = searchValue.split("-",3);
+        String[] values = searchValue.split("-", 3);
 
         if (values.length != 2) {
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍟嗛摵 濡� 1-1");
@@ -510,7 +538,7 @@
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍗曞厓-鎴垮眿 濡� 1-1-1");
         }
 
-        String[] values = searchValue.split("-",3);
+        String[] values = searchValue.split("-", 3);
 
         if (values.length != 3) {
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍗曞厓-鎴垮眿 濡� 1-1-1");
@@ -524,7 +552,7 @@
 
         List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
         //Assert.listOnlyOne(roomDtos, "鏈壘鍒版埧灞嬩俊鎭�");
-        if(roomDtos == null || roomDtos.size() < 1){
+        if (roomDtos == null || roomDtos.size() < 1) {
             throw new IllegalArgumentException("鏈壘鍒版埧灞嬩俊鎭�");
         }
 
@@ -534,7 +562,7 @@
         ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
         //Assert.listOnlyOne(ownerDtos, "鏈壘鍒颁笟涓讳俊鎭�");
-        if(ownerDtos == null || ownerDtos.size() < 1){
+        if (ownerDtos == null || ownerDtos.size() < 1) {
             throw new IllegalArgumentException("鏈壘鍒颁笟涓讳俊鎭�");
         }
 

--
Gitblit v1.8.0