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 |   74 +++++++++++++++++++++++++------------
 1 files changed, 50 insertions(+), 24 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 0188210..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
@@ -4,13 +4,15 @@
 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.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;
@@ -29,7 +32,7 @@
 import java.util.Map;
 
 @Java110Cmd(serviceCode = "owner.queryOwnerCars")
-public class QueryOwnerCarsCmd extends AbstractServiceCmdListener {
+public class QueryOwnerCarsCmd extends Cmd {
 
     @Autowired
     private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
@@ -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淇℃伅");
@@ -58,19 +64,17 @@
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         int row = reqJson.getInteger("row");
-
         if (reqJson.containsKey("num") && !StringUtil.isEmpty(reqJson.getString("num"))) {
             ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
             parkingSpaceDto.setAreaNum(reqJson.getString("areaNum"));
             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;
             }
-
             reqJson.put("psId", parkingSpaceDtos.get(0).getPsId());
         }
         OwnerCarDto ownerCarDto = BeanConvertUtil.covertBean(reqJson, OwnerCarDto.class);
@@ -78,19 +82,18 @@
             ownerCarDto.setCarTypeCd("");
             ownerCarDto.setCarTypeCds(reqJson.getString("carTypeCds").split(","));
         }
-
         //鏌ヨ鎬昏褰曟暟
         int total = ownerCarInnerServiceSMOImpl.queryOwnerCarsCount(ownerCarDto);
 //        int count = 0;
         List<OwnerCarDto> ownerCarDtoList = null;
-
         if (total > 0) {
             ownerCarDtoList = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
-
             //灏忓尯20鏉℃椂鍒锋埧灞嬪拰杞︿綅淇℃伅
             if (row < 20) {
                 freshPs(ownerCarDtoList);
                 freshRoomInfo(ownerCarDtoList);
+                //鍒峰叆鍚屾鐗╄仈缃戠姸鎬�
+                freshTransactionIotState(ownerCarDtoList);
             }
         } else {
             ownerCarDtoList = new ArrayList<>();
@@ -110,17 +113,47 @@
                 }
             }
         }
-
         ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) total / (double) row), total, ownerCarDtoList);
         cmdDataFlowContext.setResponseEntity(responseEntity);
     }
 
-    private void freshPs(List<OwnerCarDto> ownerCarDtoList) {
-
+    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) {
+        if (ownerCarDtoList == null || ownerCarDtoList.size() < 1) {
+            return;
+        }
         List<String> psIds = new ArrayList<>();
         for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
             if (StringUtil.isEmpty(ownerCarDto.getPsId())) {
@@ -128,12 +161,10 @@
             }
             psIds.add(ownerCarDto.getPsId());
         }
-
         ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
         parkingSpaceDto.setCommunityId(ownerCarDtoList.get(0).getCommunityId());
         parkingSpaceDto.setPsIds(psIds.toArray(new String[psIds.size()]));
         List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
-
         for (ParkingSpaceDto tmpParkingSpaceDto : parkingSpaceDtos) {
             for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
                 if (tmpParkingSpaceDto.getPsId().equals(ownerCarDto.getPsId())) {
@@ -151,12 +182,9 @@
      * @param ownerCarDtos
      */
     private void freshRoomInfo(List<OwnerCarDto> ownerCarDtos) {
-
         for (OwnerCarDto ownerCarDto : ownerCarDtos) {
-
             doFreshRoomInfo(ownerCarDto);
         }
-
     }
 
     /**
@@ -167,27 +195,25 @@
     private void doFreshRoomInfo(OwnerCarDto ownerCarDto) {
         OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
         ownerRoomRelDto.setOwnerId(ownerCarDto.getOwnerId());
-
+        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;
         }
-
         List<String> roomIds = new ArrayList<>();
         for (OwnerRoomRelDto tOwnerRoomRelDto : ownerRoomRelDtos) {
             roomIds.add(tOwnerRoomRelDto.getRoomId());
         }
-
         RoomDto roomDto = new RoomDto();
         roomDto.setCommunityId(ownerCarDto.getCommunityId());
         roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
         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