From 7935724516cb699835da888d59cd5b7bec5c6049 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 12 九月 2024 12:07:29 +0800
Subject: [PATCH] 完成业主功能的优化
---
service-user/src/main/java/com/java110/user/bmo/owner/impl/QueryOwnerStatisticsBMOImpl.java | 48 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 39 insertions(+), 9 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/bmo/owner/impl/QueryOwnerStatisticsBMOImpl.java b/service-user/src/main/java/com/java110/user/bmo/owner/impl/QueryOwnerStatisticsBMOImpl.java
index 19a8a4a..411e79a 100644
--- a/service-user/src/main/java/com/java110/user/bmo/owner/impl/QueryOwnerStatisticsBMOImpl.java
+++ b/service-user/src/main/java/com/java110/user/bmo/owner/impl/QueryOwnerStatisticsBMOImpl.java
@@ -1,13 +1,15 @@
package com.java110.user.bmo.owner.impl;
import com.java110.dto.owner.OwnerDto;
-import com.java110.intf.community.IComplaintV1InnerServiceSMO;
+import com.java110.intf.store.IComplaintV1InnerServiceSMO;
import com.java110.intf.community.IRepairPoolV1InnerServiceSMO;
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
+import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO;
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
import com.java110.user.bmo.owner.IQueryOwnerStatisticsBMO;
+import com.java110.utils.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -39,6 +41,9 @@
@Autowired
private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
+ @Autowired
+ private IContractInnerServiceSMO contractInnerServiceSMOImpl;
+
@Override
public List<OwnerDto> query(List<OwnerDto> ownerDtos) {
@@ -51,10 +56,12 @@
return ownerDtos;
}
List<String> ownerIds = new ArrayList<>();
+ List<String> memberIds = new ArrayList<>();
List<String> ownerTels = new ArrayList<>();
for(OwnerDto ownerDto : ownerDtos){
ownerIds.add(ownerDto.getOwnerId());
ownerTels.add(ownerDto.getLink());
+ memberIds.add(ownerDto.getMemberId());
}
@@ -65,18 +72,36 @@
queryOwnerMemberCount(ownerIds,ownerDtos);
// 鏌ヨ 杞﹁締鏁�
- queryCarCount(ownerIds,ownerDtos);
+ queryCarCount(memberIds,ownerDtos);
// 鏌ヨ 鎶曡瘔鏁�
- queryComplaintCount(ownerTels,ownerDtos);
+ //queryComplaintCount(ownerTels,ownerDtos);
// 鏌ヨ 鎶ヤ慨鏁�
- queryRepairCount(ownerTels,ownerDtos);
+ //queryRepairCount(ownerTels,ownerDtos);
// 鏌ヨ涓氫富娆犺垂
queryOwnerOweFee(ownerIds,ownerDtos);
+ // 鏌ヨ涓氫富鍚堝悓
+ //queryOwnerContractCount(ownerIds,ownerDtos);
+
return ownerDtos;
+ }
+
+ private void queryOwnerContractCount(List<String> ownerIds, List<OwnerDto> ownerDtos) {
+ Map info = new HashMap();
+ info.put("communityId",ownerDtos.get(0).getCommunityId());
+ info.put("ownerIds",ownerIds.toArray(new String[ownerIds.size()]));
+ List<Map> contractsCount = contractInnerServiceSMOImpl.queryContractsByOwnerIds(info);
+
+ for(OwnerDto ownerDto : ownerDtos) {
+ for (Map count : contractsCount) {
+ if(ownerDto.getOwnerId().equals(count.get("ownerId"))){
+ ownerDto.setContractCount(count.get("contractCount").toString());
+ }
+ }
+ }
}
/**
@@ -146,16 +171,16 @@
/**
* 鏌ヨ涓氫富杞﹁締鏁�
- * @param ownerIds
+ * @param memberIds
* @param ownerDtos
*/
- private void queryCarCount(List<String> ownerIds, List<OwnerDto> ownerDtos) {
+ private void queryCarCount(List<String> memberIds, List<OwnerDto> ownerDtos) {
- List<Map> memberCounts = ownerCarV1InnerServiceSMOImpl.queryOwnerCarCountByOwnerIds(ownerIds);
+ List<Map> memberCounts = ownerCarV1InnerServiceSMOImpl.queryOwnerCarCountByOwnerIds(memberIds);
for(OwnerDto ownerDto : ownerDtos) {
for (Map count : memberCounts) {
- if(ownerDto.getOwnerId().equals(count.get("ownerId"))){
+ if(ownerDto.getMemberId().equals(count.get("ownerId"))){
ownerDto.setCarCount(count.get("carCount").toString());
}
}
@@ -172,6 +197,10 @@
List<Map> memberCounts = ownerV1InnerServiceSMOImpl.queryOwnerMembersCount(ownerIds);
for(OwnerDto ownerDto : ownerDtos) {
+ if(OwnerDto.OWNER_TYPE_CD_MEMBER.equals(ownerDto.getOwnerTypeCd())){
+ ownerDto.setMemberCount("0");
+ continue;
+ }
for (Map count : memberCounts) {
if(ownerDto.getOwnerId().equals(count.get("ownerId"))){
ownerDto.setMemberCount(count.get("memberCount").toString());
@@ -192,7 +221,8 @@
for(OwnerDto ownerDto : ownerDtos) {
for (Map count : ownerRoomCounts) {
- if(ownerDto.getOwnerId().equals(count.get("ownerId"))){
+ if(!StringUtil.isEmpty(ownerDto.getOwnerId()) && !StringUtil.isEmpty(count.get("ownerId").toString()))
+ if(ownerDto.getOwnerId().equals(count.get("ownerId").toString())){
ownerDto.setRoomCount(count.get("roomCount").toString());
}
}
--
Gitblit v1.8.0