From cca504b84583f8f8289b34e794939b8590a16446 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 23 五月 2023 14:34:22 +0800
Subject: [PATCH] optimzie exit room

---
 service-community/src/main/java/com/java110/community/cmd/visit/QueryUndoVisitCmd.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/visit/QueryUndoVisitCmd.java b/service-community/src/main/java/com/java110/community/cmd/visit/QueryUndoVisitCmd.java
index fdbc6a2..9fe022d 100644
--- a/service-community/src/main/java/com/java110/community/cmd/visit/QueryUndoVisitCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/visit/QueryUndoVisitCmd.java
@@ -7,6 +7,7 @@
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.itemRelease.ItemReleaseDto;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.visit.VisitDto;
 import com.java110.dto.visitSetting.VisitSettingDto;
 import com.java110.dto.workflow.WorkflowDto;
@@ -16,8 +17,10 @@
 import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
 import com.java110.intf.community.IVisitV1InnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import com.java110.vo.api.visit.ApiVisitDataVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +49,9 @@
 
     @Autowired
     private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
@@ -87,7 +93,10 @@
             refreshFormData(datas, reqJson);
 
             // 杈撳叆flowId
-            refreshSetting(datas,reqJson);
+            refreshSetting(datas, reqJson);
+
+            //鍒锋柊 涓氫富
+            refreshOwners(datas, reqJson);
         } else {
             datas = new ArrayList<>();
         }
@@ -96,6 +105,39 @@
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
         context.setResponseEntity(responseEntity);
+
+    }
+
+
+    private void refreshOwners(List<JSONObject> datas, JSONObject reqJson) {
+
+        if (datas == null || datas.size() < 1) {
+            return;
+        }
+
+        List<String> ownerIds = new ArrayList<>();
+        for (JSONObject apiVisitDataVo : datas) {
+            ownerIds.add(apiVisitDataVo.getString("ownerId"));
+        }
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setOwnerIds(ownerIds.toArray(new String[ownerIds.size()]));
+        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+
+        for (JSONObject apiVisitDataVo : datas) {
+            if (apiVisitDataVo.containsKey("ownerId") && StringUtil.isEmpty(apiVisitDataVo.getString("ownerId"))) {
+                for (OwnerDto tmpOwnerDto : ownerDtos) {
+                    if (!StringUtil.isEmpty(apiVisitDataVo.getString("ownerId")) &&
+                            !StringUtil.isEmpty(tmpOwnerDto.getOwnerId()) && !apiVisitDataVo.getString("ownerId").equals(tmpOwnerDto.getOwnerId())) {
+                        continue;
+                    }
+                    apiVisitDataVo.put("ownerName", tmpOwnerDto.getName());
+                    apiVisitDataVo.put("ownerTel", tmpOwnerDto.getLink());
+                }
+            }
+        }
 
     }
 
@@ -134,12 +176,12 @@
             return;
         }
 
-        if(datas == null || datas.size() < 1){
+        if (datas == null || datas.size() < 1) {
             return;
         }
 
-        for(JSONObject data : datas){
-            data.put("flowId",visitSettingDtos.get(0).getFlowId());
+        for (JSONObject data : datas) {
+            data.put("flowId", visitSettingDtos.get(0).getFlowId());
         }
 
     }

--
Gitblit v1.8.0