From b09e1a8b036553d1e161d127aa738a504593490a Mon Sep 17 00:00:00 2001
From: mrzcc <121184950@qq.com>
Date: 星期三, 19 二月 2020 12:14:55 +0800
Subject: [PATCH] 优化巡检路线查询sql

---
 CommunityService/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java |  140 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 134 insertions(+), 6 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 3f5ab70..48dc39e 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,8 +1,9 @@
 package com.java110.community.smo.impl;
 
 
-import com.java110.common.constant.StatusConstant;
-import com.java110.common.util.BeanConvertUtil;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.StatusConstant;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.community.dao.IRoomAttrServiceDao;
 import com.java110.community.dao.IRoomServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
@@ -11,7 +12,9 @@
 import com.java110.dto.PageDto;
 import com.java110.dto.RoomAttrDto;
 import com.java110.dto.RoomDto;
-import com.java110.dto.UserDto;
+import com.java110.dto.user.UserDto;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -32,6 +35,8 @@
 @RestController
 public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInnerServiceSMO {
 
+    private static final Logger logger = LoggerFactory.getLogger(RoomInnerServiceSMOImpl.class);
+
     @Autowired
     private IRoomServiceDao roomServiceDaoImpl;
 
@@ -50,10 +55,9 @@
 
         if (page != PageDto.DEFAULT_PAGE) {
             roomDto.setPage((page - 1) * roomDto.getRow());
-            roomDto.setRow(page * roomDto.getRow());
         }
 
-        List<RoomDto> rooms = BeanConvertUtil.covertBeanList(roomServiceDaoImpl.getRoomInfo(BeanConvertUtil.beanCovertMap(roomDto)), RoomDto.class);
+        List<RoomDto> rooms = BeanConvertUtil.covertBeanList(roomServiceDaoImpl.getRoomInfoByCommunityId(BeanConvertUtil.beanCovertMap(roomDto)), RoomDto.class);
 
         if (rooms == null || rooms.size() == 0) {
             return rooms;
@@ -70,6 +74,11 @@
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
 
         for (RoomDto room : rooms) {
+            try {
+                room.setApartmentName(MappingCache.getValue(room.getApartment().substring(0, 2).toString()) + MappingCache.getValue(room.getApartment().substring(2, 5).toString()));
+            } catch (Exception e) {
+                logger.error("璁剧疆鎴垮眿鎴峰瀷澶辫触", e);
+            }
             refreshRoom(room, users, roomAttrDtos);
         }
         return rooms;
@@ -140,7 +149,126 @@
 
     @Override
     public int queryRoomsCount(@RequestBody RoomDto roomDto) {
-        return roomServiceDaoImpl.queryRoomsCount(BeanConvertUtil.beanCovertMap(roomDto));
+        return roomServiceDaoImpl.queryRoomsByCommunityIdCount(BeanConvertUtil.beanCovertMap(roomDto));
+    }
+
+    @Override
+    public int queryRoomsWithOutSellCount(@RequestBody RoomDto roomDto) {
+        return roomServiceDaoImpl.queryRoomsWithOutSellByCommunityIdCount(BeanConvertUtil.beanCovertMap(roomDto));
+    }
+
+    @Override
+    public List<RoomDto> queryRoomsWithOutSell(@RequestBody RoomDto roomDto) {
+
+        //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
+
+        int page = roomDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            roomDto.setPage((page - 1) * roomDto.getRow());
+        }
+
+        List<RoomDto> rooms = BeanConvertUtil.covertBeanList(roomServiceDaoImpl.getRoomInfoWithOutSellByCommunityId(BeanConvertUtil.beanCovertMap(roomDto)), RoomDto.class);
+
+        if (rooms == null || rooms.size() == 0) {
+            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) {
+            try {
+                room.setApartmentName(MappingCache.getValue(room.getApartment().substring(0, 2).toString()) + MappingCache.getValue(room.getApartment().substring(2, 5).toString()));
+            } catch (Exception e) {
+                logger.error("璁剧疆鎴垮眿鎴峰瀷澶辫触", e);
+            }
+            refreshRoom(room, users, roomAttrDtos);
+        }
+        return rooms;
+    }
+
+    @Override
+    public int queryRoomsWithSellCount(@RequestBody RoomDto roomDto) {
+        return roomServiceDaoImpl.queryRoomsWithSellByCommunityIdCount(BeanConvertUtil.beanCovertMap(roomDto));
+    }
+
+    @Override
+    public List<RoomDto> queryRoomsWithSell(@RequestBody RoomDto roomDto) {
+
+        //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
+
+        int page = roomDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            roomDto.setPage((page - 1) * roomDto.getRow());
+        }
+
+        List<RoomDto> rooms = BeanConvertUtil.covertBeanList(roomServiceDaoImpl.getRoomInfoWithSellByCommunityId(BeanConvertUtil.beanCovertMap(roomDto)), RoomDto.class);
+
+        if (rooms == null || rooms.size() == 0) {
+            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) {
+            //澶勭悊涓嬫埛鍨嬭浆涔夐棶棰�
+            try {
+                room.setApartmentName(MappingCache.getValue(room.getApartment().substring(0, 2).toString()) + MappingCache.getValue(room.getApartment().substring(2, 5).toString()));
+            } catch (Exception e) {
+                logger.error("璁剧疆鎴垮眿鎴峰瀷澶辫触", e);
+            }
+            refreshRoom(room, users, roomAttrDtos);
+        }
+        return rooms;
+    }
+
+    @Override
+    public List<RoomDto> queryRoomsByOwner(@RequestBody RoomDto roomDto) {
+
+        List<RoomDto> rooms = BeanConvertUtil.covertBeanList(roomServiceDaoImpl.getRoomInfoByOwner(BeanConvertUtil.beanCovertMap(roomDto)),
+                RoomDto.class);
+
+        if (rooms == null || rooms.size() == 0) {
+            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) {
+            //澶勭悊涓嬫埛鍨嬭浆涔夐棶棰�
+            try {
+                room.setApartment(MappingCache.getValue(room.getApartment().substring(0, 2).toString()) + MappingCache.getValue(room.getApartment().substring(2, 5).toString()));
+            } catch (Exception e) {
+                logger.error("璁剧疆鎴垮眿鎴峰瀷澶辫触", e);
+            }
+            refreshRoom(room, users, roomAttrDtos);
+        }
+        return rooms;
     }
 
     public IRoomServiceDao getRoomServiceDaoImpl() {

--
Gitblit v1.8.0