From e773bd21fad4f99149402114cb8f825192506b53 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 08 五月 2019 01:06:32 +0800
Subject: [PATCH] 加入小区房屋查询接口

---
 CommunityService/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java |   64 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/CommunityService/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java b/CommunityService/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java
index b5c8ada..3f5ab70 100644
--- a/CommunityService/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java
+++ b/CommunityService/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java
@@ -1,12 +1,15 @@
 package com.java110.community.smo.impl;
 
 
+import com.java110.common.constant.StatusConstant;
 import com.java110.common.util.BeanConvertUtil;
+import com.java110.community.dao.IRoomAttrServiceDao;
 import com.java110.community.dao.IRoomServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.smo.room.IRoomInnerServiceSMO;
 import com.java110.core.smo.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
+import com.java110.dto.RoomAttrDto;
 import com.java110.dto.RoomDto;
 import com.java110.dto.UserDto;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,7 +17,9 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -29,6 +34,9 @@
 
     @Autowired
     private IRoomServiceDao roomServiceDaoImpl;
+
+    @Autowired
+    private IRoomAttrServiceDao roomAttrServiceDaoImpl;
 
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
@@ -51,12 +59,18 @@
             return rooms;
         }
 
+        String[] roomIds = getRoomIds(rooms);
+        Map attrParamInfo = new HashMap();
+        attrParamInfo.put("roomIds", roomIds);
+        attrParamInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
+        List<RoomAttrDto> roomAttrDtos = BeanConvertUtil.covertBeanList(roomAttrServiceDaoImpl.getRoomAttrInfo(attrParamInfo), RoomAttrDto.class);
+
         String[] userIds = getUserIds(rooms);
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
 
         for (RoomDto room : rooms) {
-            refreshRoom(room, users);
+            refreshRoom(room, users, roomAttrDtos);
         }
         return rooms;
     }
@@ -64,14 +78,33 @@
     /**
      * 浠庣敤鎴峰垪琛ㄤ腑鏌ヨ鐢ㄦ埛锛屽皢鐢ㄦ埛涓殑淇℃伅 鍒锋柊鍒� floor瀵硅薄涓�
      *
-     * @param room  灏忓尯灏忓尯鎴垮眿淇℃伅
-     * @param users 鐢ㄦ埛鍒楄〃
+     * @param room         灏忓尯灏忓尯鎴垮眿淇℃伅
+     * @param users        鐢ㄦ埛鍒楄〃
+     * @param roomAttrDtos 鎴垮眿灞炴�т俊鎭�
      */
-    private void refreshRoom(RoomDto room, List<UserDto> users) {
+    private void refreshRoom(RoomDto room, List<UserDto> users, List<RoomAttrDto> roomAttrDtos) {
         for (UserDto user : users) {
             if (room.getUserId().equals(user.getUserId())) {
                 BeanConvertUtil.covertBean(user, room);
             }
+        }
+
+        if (roomAttrDtos == null || roomAttrDtos.size() == 0) {
+            return;
+        }
+
+        for (RoomAttrDto roomAttrDto : roomAttrDtos) {
+            if (!roomAttrDto.getRoomId().equals(room.getRoomId())) {
+                continue;
+            }
+
+            List<RoomAttrDto> tmpRoomAttrDtos = room.getRoomAttrDto();
+
+            if (tmpRoomAttrDtos == null) {
+                tmpRoomAttrDtos = new ArrayList<>();
+            }
+
+            tmpRoomAttrDtos.add(roomAttrDto);
         }
     }
 
@@ -88,6 +121,21 @@
         }
 
         return userIds.toArray(new String[userIds.size()]);
+    }
+
+    /**
+     * 鑾峰彇roomId 淇℃伅
+     *
+     * @param rooms 鎴垮眿淇℃伅
+     * @return roomIds
+     */
+    private String[] getRoomIds(List<RoomDto> rooms) {
+        List<String> roomIds = new ArrayList<String>();
+        for (RoomDto room : rooms) {
+            roomIds.add(room.getRoomId());
+        }
+
+        return roomIds.toArray(new String[roomIds.size()]);
     }
 
     @Override
@@ -110,4 +158,12 @@
     public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
         this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
     }
+
+    public IRoomAttrServiceDao getRoomAttrServiceDaoImpl() {
+        return roomAttrServiceDaoImpl;
+    }
+
+    public void setRoomAttrServiceDaoImpl(IRoomAttrServiceDao roomAttrServiceDaoImpl) {
+        this.roomAttrServiceDaoImpl = roomAttrServiceDaoImpl;
+    }
 }

--
Gitblit v1.8.0