From 5075e695fdbc738bdac890a81be6be942bfaf80c Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 11 八月 2022 22:52:48 +0800
Subject: [PATCH] 优化 修改

---
 service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java |   71 ++++++++++++++++++++++++++++++++++-
 1 files changed, 68 insertions(+), 3 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 c636440..26e6c09 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
@@ -7,6 +7,7 @@
 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.intf.community.IFloorInnerServiceSMO;
@@ -21,8 +22,10 @@
 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 org.apache.kafka.common.protocol.types.Field;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -33,12 +36,12 @@
 
 @Java110Cmd(serviceCode = "room.queryRooms")
 public class QueryRoomsCmd extends Cmd {
+
     @Autowired
     private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
 
     @Autowired
     private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
-
 
     @Autowired
     private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
@@ -82,9 +85,71 @@
     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("");
+//            }
+//        }
+        String roomId = "";
+        String unitId = "";
+        if (reqJson.containsKey("flag") && !StringUtil.isEmpty(reqJson.getString("flag")) && reqJson.getString("flag").equals("0")
+                && reqJson.containsKey("floorNum") && !StringUtil.isEmpty(reqJson.getString("floorNum"))
+                && reqJson.containsKey("unitNum") && !StringUtil.isEmpty(reqJson.getString("unitNum"))
+                && reqJson.containsKey("roomNum") && !StringUtil.isEmpty(reqJson.getString("roomNum"))) {
+            FloorDto floorDto = new FloorDto();
+            floorDto.setFloorNum(reqJson.getString("floorNum"));
+            floorDto.setCommunityId(reqJson.getString("communityId"));
+            List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
+            if (floorDtos != null && floorDtos.size() > 0) {
+                for (FloorDto floor : floorDtos) {
+                    UnitDto unitDto = new UnitDto();
+                    unitDto.setFloorId(floor.getFloorId());
+                    unitDto.setUnitNum(reqJson.getString("unitNum"));
+                    List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
+                    if (unitDtos != null && unitDtos.size() > 0) {
+                        for (UnitDto unit : unitDtos) {
+                            RoomDto room = new RoomDto();
+                            room.setUnitId(unit.getUnitId());
+                            room.setRoomNum(reqJson.getString("roomNum"));
+                            room.setCommunityId(reqJson.getString("communityId"));
+                            List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(room);
+                            if (roomDtos != null && roomDtos.size() == 1) {
+                                unitId = roomDtos.get(0).getUnitId();
+                                roomId = roomDtos.get(0).getRoomId();
+                            } else {
+                                continue;
+                            }
+                        }
+                    }
+                }
+            }
+            roomDto.setRoomId(roomId);
+            roomDto.setUnitId(unitId);
+        }
+        if (reqJson.containsKey("flag") && !StringUtil.isEmpty(reqJson.getString("flag")) && reqJson.getString("flag").equals("1")) {
+            if (reqJson.containsKey("roomNum") && !StringUtil.isEmpty(reqJson.getString("roomNum"))) {
+                String[] roomNums = reqJson.getString("roomNum").split("-");
+                if (roomNums != null && roomNums.length == 3) {
+                    roomDto.setFloorNum(roomNums[0]);
+                    roomDto.setUnitNum(roomNums[1]);
+                    roomDto.setRoomNum(roomNums[2]);
+                } else {
+                    throw new IllegalArgumentException("鎴垮眿缂栧彿閿欒锛�");
+                }
+            } else {
+                roomDto.setUnitNum("");
+                roomDto.setFloorNum("");
+                roomDto.setRoomNum("");
+            }
+        }
         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) {
@@ -132,7 +197,7 @@
                 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){
+                } catch (Exception e) {
                     //
                 }
                 roomDto.setOwnerId(tmpOwnerDto.getOwnerId());

--
Gitblit v1.8.0