From a6a9dd4a9c1e4c3fb3d8f2eca522be25424fc5e2 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 16 八月 2020 14:02:12 +0800
Subject: [PATCH] 优化代码

---
 service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java |   94 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 65 insertions(+), 29 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java b/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java
index 26095ec..ee6b27c 100644
--- a/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java
+++ b/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java
@@ -1,18 +1,20 @@
 package com.java110.user.smo.impl;
 
 
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.CommunityMemberDto;
+import com.java110.dto.PageDto;
+import com.java110.dto.owner.OwnerAttrDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.user.IOwnerAttrInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.user.dao.IOwnerServiceDao;
 import com.java110.utils.constant.OwnerTypeConstant;
 import com.java110.utils.constant.StatusConstant;
 import com.java110.utils.util.BeanConvertUtil;
-import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.intf.community.ICommunityInnerServiceSMO;
-import com.java110.intf.user.IOwnerInnerServiceSMO;
-import com.java110.intf.user.IUserInnerServiceSMO;
-import com.java110.dto.CommunityMemberDto;
-import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.PageDto;
-import com.java110.dto.user.UserDto;
-import com.java110.user.dao.IOwnerServiceDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -36,6 +38,9 @@
     private IOwnerServiceDao ownerServiceDaoImpl;
 
     @Autowired
+    private IOwnerAttrInnerServiceSMO ownerAttrInnerServiceSMOImpl;
+
+    @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
 
@@ -45,19 +50,6 @@
     @Override
     public List<OwnerDto> queryOwners(@RequestBody OwnerDto ownerDto) {
 
-        //communityInnerServiceSMOImpl.getCommunityMembers()
-        //璋冪敤 灏忓尯鏈嶅姟鏌ヨ 灏忓尯鎴愬憳涓氫富淇℃伅
-       /* CommunityMemberDto communityMemberDto = BeanConvertUtil.covertBean(ownerDto, CommunityMemberDto.class);
-        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.OWNER);
-        if (StringUtils.isEmpty(communityMemberDto.getMemberId()) && !StringUtils.isEmpty(ownerDto.getOwnerId())) {
-            communityMemberDto.setMemberId(ownerDto.getOwnerId());
-        }
-        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
-
-        if (communityMemberDtos == null || communityMemberDtos.size() < 1) {
-            return null;
-        }*/
-
         int page = ownerDto.getPage();
 
         if (page != PageDto.DEFAULT_PAGE) {
@@ -65,9 +57,9 @@
         }
 
         Map ownerInfo = BeanConvertUtil.beanCovertMap(ownerDto);
-        ownerInfo.put("communityId",ownerDto.getCommunityId());
+        ownerInfo.put("communityId", ownerDto.getCommunityId());
         ownerInfo.put("ownerTypeCd", OwnerTypeConstant.OWNER);
-       // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
+        // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
         //ownerInfo.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
         ownerInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
 
@@ -80,9 +72,14 @@
         String[] userIds = getUserIds(owners);
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
+        String[] memberIds = getMemberIds(owners);
+        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
+        ownerAttrDto.setMemberIds(memberIds);
+        ownerAttrDto.setCommunityId(ownerDto.getCommunityId());
+        List<OwnerAttrDto> ownerAttrDtos = ownerAttrInnerServiceSMOImpl.queryOwnerAttrs(ownerAttrDto);
 
         for (OwnerDto owner : owners) {
-            refreshOwner(owner, users);
+            refreshOwner(owner, users, ownerAttrDtos);
         }
         return owners;
     }
@@ -97,9 +94,14 @@
         String[] userIds = getUserIds(owners);
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
+        String[] memberIds = getMemberIds(owners);
+        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
+        ownerAttrDto.setMemberIds(memberIds);
+        ownerAttrDto.setCommunityId(ownerDto.getCommunityId());
+        List<OwnerAttrDto> ownerAttrDtos = ownerAttrInnerServiceSMOImpl.queryOwnerAttrs(ownerAttrDto);
 
         for (OwnerDto owner : owners) {
-            refreshOwner(owner, users);
+            refreshOwner(owner, users,ownerAttrDtos);
         }
         return owners;
     }
@@ -110,13 +112,26 @@
      * @param owner 灏忓尯涓氫富淇℃伅
      * @param users 鐢ㄦ埛鍒楄〃
      */
-    private void refreshOwner(OwnerDto owner, List<UserDto> users) {
+    private void refreshOwner(OwnerDto owner, List<UserDto> users, List<OwnerAttrDto> ownerAttrDtos) {
         for (UserDto user : users) {
             if (owner.getUserId().equals(user.getUserId())) {
                 //BeanConvertUtil.covertBean(user, owner);
                 owner.setUserName(user.getUserName());
+                break;
             }
         }
+
+        if (ownerAttrDtos == null || ownerAttrDtos.size() < 1) {
+            return;
+        }
+        List<OwnerAttrDto> tmpOwnerAttrDtos = new ArrayList<>();
+        for (OwnerAttrDto ownerAttrDto : ownerAttrDtos) {
+            if (ownerAttrDto.getMemberId().equals(owner.getMemberId())) {
+                tmpOwnerAttrDtos.add(ownerAttrDto);
+            }
+        }
+
+        owner.setOwnerAttrDtos(tmpOwnerAttrDtos);
     }
 
     /**
@@ -149,6 +164,21 @@
         return userIds.toArray(new String[userIds.size()]);
     }
 
+    /**
+     * 鑾峰彇鎵归噺userId
+     *
+     * @param owners 灏忓尯妤间俊鎭�
+     * @return 鎵归噺userIds 淇℃伅
+     */
+    private String[] getMemberIds(List<OwnerDto> owners) {
+        List<String> memberIds = new ArrayList<String>();
+        for (OwnerDto owner : owners) {
+            memberIds.add(owner.getMemberId());
+        }
+
+        return memberIds.toArray(new String[memberIds.size()]);
+    }
+
     @Override
     public int queryOwnersCount(@RequestBody OwnerDto ownerDto) {
 
@@ -164,7 +194,7 @@
         }
 
         Map ownerInfo = BeanConvertUtil.beanCovertMap(ownerDto);
-        ownerInfo.put("communityId",ownerDto.getCommunityId());
+        ownerInfo.put("communityId", ownerDto.getCommunityId());
         ownerInfo.put("ownerTypeCd", OwnerTypeConstant.OWNER);
         // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
         //ownerInfo.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
@@ -206,8 +236,14 @@
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
 
+        String[] memberIds = getMemberIds(owners);
+        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
+        ownerAttrDto.setMemberIds(memberIds);
+        ownerAttrDto.setCommunityId(ownerDto.getCommunityId());
+        List<OwnerAttrDto> ownerAttrDtos = ownerAttrInnerServiceSMOImpl.queryOwnerAttrs(ownerAttrDto);
+
         for (OwnerDto owner : owners) {
-            refreshOwner(owner, users);
+            refreshOwner(owner, users,ownerAttrDtos);
         }
         return owners;
     }

--
Gitblit v1.8.0