From 4e43292ef963be988afdb83e3888e91adeac4e17 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 14 九月 2024 15:40:32 +0800
Subject: [PATCH] 优化代码

---
 service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 46 insertions(+), 5 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java b/service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java
index be3f019..46e26ea 100644
--- a/service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java
@@ -6,11 +6,13 @@
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
-import com.java110.dto.RoomDto;
-import com.java110.dto.basePrivilege.BasePrivilegeDto;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.privilege.BasePrivilegeDto;
+import com.java110.dto.machine.MachineTranslateDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.intf.common.IMachineTranslateV1InnerServiceSMO;
 import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
@@ -19,6 +21,7 @@
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +49,9 @@
     @Autowired
     private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
 
+    @Autowired
+    private IMachineTranslateV1InnerServiceSMO machineTranslateV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         Assert.jsonObjectHaveKey(reqJson, "page", "璇锋眰涓湭鍖呭惈page淇℃伅");
@@ -64,7 +70,7 @@
             parkingSpaceDto.setNum(reqJson.getString("num"));
             parkingSpaceDto.setCommunityId(reqJson.getString("communityId"));
             List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
-            if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) {
+            if (ListUtil.isNull(parkingSpaceDtos)) {
                 ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(1, 1, new JSONArray());
                 cmdDataFlowContext.setResponseEntity(responseEntity);
                 return;
@@ -86,6 +92,8 @@
             if (row < 20) {
                 freshPs(ownerCarDtoList);
                 freshRoomInfo(ownerCarDtoList);
+                //鍒峰叆鍚屾鐗╄仈缃戠姸鎬�
+                freshTransactionIotState(ownerCarDtoList);
             }
         } else {
             ownerCarDtoList = new ArrayList<>();
@@ -107,6 +115,39 @@
         }
         ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) total / (double) row), total, ownerCarDtoList);
         cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    private void freshTransactionIotState(List<OwnerCarDto> ownerCarDtoList) {
+        if (ownerCarDtoList == null || ownerCarDtoList.size() < 1) {
+            return;
+        }
+        List<String> memberIds = new ArrayList<>();
+        for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
+            if (StringUtil.isEmpty(ownerCarDto.getPsId())) {
+                continue;
+            }
+            memberIds.add(ownerCarDto.getMemberId());
+        }
+
+        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
+        machineTranslateDto.setObjIds(memberIds.toArray(new String[memberIds.size()]));
+        List<MachineTranslateDto> machineTranslateDtos = machineTranslateV1InnerServiceSMOImpl.queryObjStateInMachineTranslates(machineTranslateDto);
+
+        if (machineTranslateDtos == null || machineTranslateDtos.size() < 1) {
+            return;
+        }
+
+        for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
+            for (MachineTranslateDto tmpMachineTranslateDto : machineTranslateDtos) {
+                if (!ownerCarDto.getMemberId().equals(tmpMachineTranslateDto.getObjId())) {
+                    continue;
+                }
+                ownerCarDto.setIotStateName(tmpMachineTranslateDto.getStateName());
+                ownerCarDto.setIotRemark(tmpMachineTranslateDto.getRemark());
+            }
+        }
+
+
     }
 
     private void freshPs(List<OwnerCarDto> ownerCarDtoList) {
@@ -157,7 +198,7 @@
         ownerRoomRelDto.setPage(1);
         ownerRoomRelDto.setRow(3); //鍙睍绀�3涓埧灞嬩互鍐� 涓嶇劧椤甸潰澶贡
         List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
-        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
+        if (ListUtil.isNull(ownerRoomRelDtos)) {
             ownerCarDto.setRoomName("-");
             return;
         }
@@ -171,7 +212,7 @@
         List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
         String roomName = "";
         for (RoomDto tRoomDto : roomDtos) {
-            roomName += (tRoomDto.getFloorNum() + "鏍�" + tRoomDto.getUnitNum() + "鍗曞厓" + tRoomDto.getRoomNum() + "瀹�" + "/");
+            roomName += (tRoomDto.getFloorNum() + "-" + tRoomDto.getUnitNum() + "-" + tRoomDto.getRoomNum() + "-" + "/");
         }
         roomName = roomName.endsWith("/") ? roomName.substring(0, roomName.length() - 1) : roomName;
         ownerCarDto.setRoomName(roomName);

--
Gitblit v1.8.0