From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java |   88 ++++++++++++++++++++++++++++----------------
 1 files changed, 56 insertions(+), 32 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java b/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java
index 0a8e2a7..a1f3ebc 100644
--- a/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java
@@ -3,14 +3,12 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.FloorDto;
 import com.java110.dto.RoomDto;
-import com.java110.dto.UnitDto;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
 import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.intf.community.IFloorInnerServiceSMO;
 import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
@@ -22,9 +20,10 @@
 import com.java110.utils.exception.SMOException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.api.ApiRoomDataVo;
 import com.java110.vo.api.ApiRoomVo;
-import com.java110.vo.api.ApiUnitVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -34,7 +33,7 @@
 import java.util.Map;
 
 @Java110Cmd(serviceCode = "room.queryRooms")
-public class QueryRoomsCmd extends AbstractServiceCmdListener {
+public class QueryRoomsCmd extends Cmd {
     @Autowired
     private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
 
@@ -84,14 +83,24 @@
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         RoomDto roomDto = BeanConvertUtil.covertBean(reqJson, RoomDto.class);
 
+        //瀵艰嚧涓氬姟鍙楃悊鎼滅储鏌ヨ
+//        if (reqJson.containsKey("flag") && reqJson.getString("flag").equals("1")) {
+//            if (reqJson.containsKey("roomNumLike") && !StringUtil.isEmpty(reqJson.getString("roomNumLike"))) {
+//                String[] roomNumLikes = reqJson.getString("roomNumLike").split("-");
+//                roomDto.setFloorNum(roomNumLikes[0]);
+//                roomDto.setUnitNum(roomNumLikes[1]);
+//                roomDto.setRoomNum(roomNumLikes[2]);
+//                roomDto.setRoomNumLike("");
+//            }
+//        }
         ApiRoomVo apiRoomVo = new ApiRoomVo();
         //鏌ヨ鎬昏褰曟暟
-        int total = roomInnerServiceSMOImpl.queryRoomsCount(BeanConvertUtil.covertBean(reqJson, RoomDto.class));
+        int total = roomInnerServiceSMOImpl.queryRoomsCount(roomDto);
         apiRoomVo.setTotal(total);
         List<RoomDto> roomDtoList = null;
         if (total > 0) {
             roomDtoList = roomInnerServiceSMOImpl.queryRooms(roomDto);
-            refreshRoomOwners(reqJson.getString("userId"), reqJson.getString("communityId"), roomDtoList);
+            refreshRoomOwners(reqJson.getString("loginUserId"), reqJson.getString("communityId"), roomDtoList);
         } else {
             roomDtoList = new ArrayList<>();
         }
@@ -110,6 +119,13 @@
      * @param roomDtos
      */
     private void refreshRoomOwners(String userId, String communityId, List<RoomDto> roomDtos) {
+
+        /**
+         * 閲忓お澶ф椂 鏌ヨ 浼氭瘮杈冩參锛屽鏋滃叾浠栧湴鏂规湁bug 鍒囨崲 鏌ヨ鎶ヨ〃鍘伙紝涓嶈兘闈犺繖涓帴鍙f煡璇㈠ぇ閲忔暟鎹�
+         */
+        if (roomDtos == null || roomDtos.size() > 20) {
+            return;
+        }
         List<String> roomIds = new ArrayList<>();
         for (RoomDto roomDto : roomDtos) {
             roomIds.add(roomDto.getRoomId());
@@ -121,33 +137,41 @@
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
         for (RoomDto roomDto : roomDtos) {
             for (OwnerDto tmpOwnerDto : ownerDtos) {
-                if (roomDto.getRoomId().equals(tmpOwnerDto.getRoomId())) {
-                    roomDto.setOwnerId(tmpOwnerDto.getOwnerId());
-                    roomDto.setOwnerName(tmpOwnerDto.getName());
-                    //瀵逛笟涓昏韩浠借瘉鍙烽殣钘忓鐞�
-                    String idCard = tmpOwnerDto.getIdCard();
-                    if (mark.size() == 0 && idCard != null && !idCard.equals("") && idCard.length() > 15) {
-                        idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
-                    }
-                    //瀵逛笟涓绘墜鏈哄彿闅愯棌澶勭悊
-                    String link = tmpOwnerDto.getLink();
-                    if (mark.size() == 0 && link != null && !link.equals("") && link.length() > 10) {
-                        link = link.substring(0, 3) + "****" + link.substring(7);
-                    }
-                    roomDto.setIdCard(idCard);
-                    roomDto.setLink(link);
+                if (!roomDto.getRoomId().equals(tmpOwnerDto.getRoomId())) {
+                    continue;
                 }
+                try {
+                    roomDto.setStartTime(DateUtil.getDateFromString(tmpOwnerDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
+                    roomDto.setEndTime(DateUtil.getDateFromString(tmpOwnerDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
+                } catch (Exception e) {
+                    //
+                }
+                roomDto.setOwnerId(tmpOwnerDto.getOwnerId());
+                roomDto.setOwnerName(tmpOwnerDto.getName());
+                //瀵逛笟涓昏韩浠借瘉鍙烽殣钘忓鐞�
+                String idCard = tmpOwnerDto.getIdCard();
+                if (mark.size() == 0 && idCard != null && !idCard.equals("") && idCard.length() > 15) {
+                    idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
+                }
+                //瀵逛笟涓绘墜鏈哄彿闅愯棌澶勭悊
+                String link = tmpOwnerDto.getLink();
+                if (mark.size() == 0 && link != null && !link.equals("") && link.length() > 10) {
+                    link = link.substring(0, 3) + "****" + link.substring(7);
+                }
+                roomDto.setIdCard(idCard);
+                roomDto.setLink(link);
+
                 //鍟嗛摵绫诲瀷鏌ヨ璧风鏃堕棿
-                if (roomDto.getRoomType().equals(RoomDto.ROOM_TYPE_SHOPS)) {
-                    OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
-                    ownerRoomRelDto.setRoomId(roomDto.getRoomId());
-                    ownerRoomRelDto.setStatusCd("0");
-                    List<OwnerRoomRelDto> ownerRoomRelDtoList = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
-                    if (ownerRoomRelDtoList != null && ownerRoomRelDtoList.size() == 1) {
-                        roomDto.setStartTime(ownerRoomRelDtoList.get(0).getStartTime());
-                        roomDto.setEndTime(ownerRoomRelDtoList.get(0).getEndTime());
-                    }
-                }
+//                if (roomDto.getRoomType().equals(RoomDto.ROOM_TYPE_SHOPS)) {
+//                    OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+//                    ownerRoomRelDto.setRoomId(roomDto.getRoomId());
+//                    ownerRoomRelDto.setStatusCd("0");
+//                    List<OwnerRoomRelDto> ownerRoomRelDtoList = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+//                    if (ownerRoomRelDtoList != null && ownerRoomRelDtoList.size() == 1) {
+//                        roomDto.setStartTime(ownerRoomRelDtoList.get(0).getStartTime());
+//                        roomDto.setEndTime(ownerRoomRelDtoList.get(0).getEndTime());
+//                    }
+//                }
             }
         }
     }

--
Gitblit v1.8.0