From ddbc76a644d706e98acd7dd41fc2acd178a6cdd6 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期日, 19 二月 2023 02:20:40 +0800
Subject: [PATCH] 优化代码
---
service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java | 64 ++++++++++++++++++++++---------
1 files changed, 45 insertions(+), 19 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..99417c0 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,16 @@
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.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.IMachineTranslateInnerServiceSMO;
+import com.java110.intf.common.IMachineTranslateV1InnerServiceSMO;
import com.java110.intf.community.IMenuInnerServiceSMO;
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
@@ -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,7 +64,6 @@
@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"));
@@ -70,7 +75,6 @@
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,18 +195,17 @@
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) {
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()]));
@@ -187,7 +214,6 @@
for (RoomDto tRoomDto : roomDtos) {
roomName += (tRoomDto.getFloorNum() + "鏍�" + tRoomDto.getUnitNum() + "鍗曞厓" + tRoomDto.getRoomNum() + "瀹�" + "/");
}
-
roomName = roomName.endsWith("/") ? roomName.substring(0, roomName.length() - 1) : roomName;
ownerCarDto.setRoomName(roomName);
}
--
Gitblit v1.8.0