From ae42d2da37fe9d161e7058b51367b95f24c3d97a Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 13 六月 2023 15:11:36 +0800
Subject: [PATCH] optimize

---
 service-common/src/main/java/com/java110/common/cmd/machineRecord/ListMachineRecordsCmd.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/machineRecord/ListMachineRecordsCmd.java b/service-common/src/main/java/com/java110/common/cmd/machineRecord/ListMachineRecordsCmd.java
index 2802582..b1f2f1b 100644
--- a/service-common/src/main/java/com/java110/common/cmd/machineRecord/ListMachineRecordsCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/machineRecord/ListMachineRecordsCmd.java
@@ -5,8 +5,16 @@
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.community.CommunityLocationDto;
+import com.java110.dto.file.FileRelDto;
+import com.java110.dto.machine.MachineDto;
 import com.java110.dto.machine.MachineRecordDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.common.IMachineRecordInnerServiceSMO;
+import com.java110.intf.community.ICommunityLocationInnerServiceSMO;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -25,6 +33,12 @@
     @Autowired
     private IMachineRecordInnerServiceSMO machineRecordInnerServiceSMOImpl;
 
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityLocationInnerServiceSMO communityLocationInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         super.validatePageInfo(reqJson);
@@ -41,6 +55,8 @@
 
         if (count > 0) {
             machineRecords = BeanConvertUtil.covertBeanList(machineRecordInnerServiceSMOImpl.queryMachineRecords(machineRecordDto), ApiMachineRecordDataVo.class);
+            freshFaceUrl(machineRecords);
+            refreshMachineLocation(machineRecords);
         } else {
             machineRecords = new ArrayList<>();
         }
@@ -55,4 +71,57 @@
 
         context.setResponseEntity(responseEntity);
     }
+
+    private void refreshMachineLocation(List<ApiMachineRecordDataVo> machineRecords) {
+        for (ApiMachineRecordDataVo machineDto : machineRecords) {
+            getMachineLocation(machineDto);
+        }
+    }
+
+    private void getMachineLocation(ApiMachineRecordDataVo machineDto) {
+        CommunityLocationDto communityLocationDto = new CommunityLocationDto();
+        communityLocationDto.setCommunityId(machineDto.getCommunityId());
+        communityLocationDto.setLocationId(machineDto.getLocationTypeCd());
+        List<CommunityLocationDto> communityLocationDtos = communityLocationInnerServiceSMOImpl.queryCommunityLocations(communityLocationDto);
+
+        if (communityLocationDtos == null || communityLocationDtos.size() < 1) {
+            return;
+        }
+
+        machineDto.setLocationObjName(communityLocationDtos.get(0).getLocationName());
+    }
+
+    private void freshFaceUrl(List<ApiMachineRecordDataVo> machineRecords) {
+
+        List<String> recordIds = new ArrayList<>();
+
+        for (ApiMachineRecordDataVo tmpOwnerDto : machineRecords) {
+            recordIds.add(tmpOwnerDto.getMachineRecordId());
+        }
+
+        FileRelDto fileRelDto = new FileRelDto();
+        //fileRelDto.setObjId(owners.get(0).getMemberId());
+        fileRelDto.setObjIds(recordIds.toArray(new String[recordIds.size()]));
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+
+        if (fileRelDtos == null || fileRelDtos.size() < 1) {
+            return ;
+        }
+
+        String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN,"IMG_PATH");
+
+        for (ApiMachineRecordDataVo tmpOwnerDto : machineRecords) {
+            for (FileRelDto tmpFileRelDto : fileRelDtos) {
+                if (!tmpOwnerDto.getMachineRecordId().equals(tmpFileRelDto.getObjId())) {
+                    continue;
+                }
+
+                if (tmpFileRelDto.getFileSaveName().startsWith("http")) {
+                    tmpOwnerDto.setFaceUrl(tmpFileRelDto.getFileSaveName());
+                } else {
+                    tmpOwnerDto.setFaceUrl(imgUrl + tmpFileRelDto.getFileSaveName());
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.8.0