From 6eb064b4aa583bc8be55b23a82badc5d8442cbb1 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期三, 25 五月 2022 15:27:38 +0800
Subject: [PATCH] 1、优化访客预约等相关设置2、增加积分抵扣

---
 service-api/src/main/java/com/java110/api/listener/visit/ListVisitsListener.java |   63 ++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 19 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/listener/visit/ListVisitsListener.java b/service-api/src/main/java/com/java110/api/listener/visit/ListVisitsListener.java
index 5e771cb..453278e 100755
--- a/service-api/src/main/java/com/java110/api/listener/visit/ListVisitsListener.java
+++ b/service-api/src/main/java/com/java110/api/listener/visit/ListVisitsListener.java
@@ -2,12 +2,14 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.factory.CommunitySettingFactory;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.intf.community.IVisitInnerServiceSMO;
 import com.java110.dto.visit.VisitDto;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.api.visit.ApiVisitDataVo;
 import com.java110.vo.api.visit.ApiVisitVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +19,9 @@
 import com.java110.utils.constant.ServiceCodeVisitConstant;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 鏌ヨ灏忓尯渚﹀惉绫�
@@ -37,6 +41,12 @@
     public HttpMethod getHttpMethod() {
         return HttpMethod.GET;
     }
+
+    //閿�
+    public static final String CAR_FREE_TIME = "CAR_FREE_TIME";
+
+    //閿�
+    public static final String VISIT_NUMBER = "VISIT_NUMBER";
 
     @Override
     public int getOrder() {
@@ -58,27 +68,42 @@
 
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        VisitDto visitDto = BeanConvertUtil.covertBean(reqJson, VisitDto.class);
-
-        int count = visitInnerServiceSMOImpl.queryVisitsCount(visitDto);
-
-        List<ApiVisitDataVo> visits = null;
-
-        if (count > 0) {
-            visits = BeanConvertUtil.covertBeanList(visitInnerServiceSMOImpl.queryVisits(visitDto), ApiVisitDataVo.class);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>("", HttpStatus.OK);
+        if (reqJson.containsKey("addVisitType") && !StringUtil.isEmpty(reqJson.getString("addVisitType"))
+                && "initAddVisitParameter".equals(reqJson.getString("addVisitType"))) {
+            //棰勭害杞﹀厤璐规椂闀�
+            String freeTime = CommunitySettingFactory.getValue(reqJson.getString("communityId"), CAR_FREE_TIME);
+            //棰勭害杞﹀厤璐规鏁�
+            int number = Integer.parseInt(CommunitySettingFactory.getValue(reqJson.getString("communityId"), VISIT_NUMBER));
+            Map initAddVisitParameter = new HashMap();
+            initAddVisitParameter.put("freeTime", freeTime);
+            initAddVisitParameter.put("freeTimes", number);
+            responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(initAddVisitParameter), HttpStatus.OK);
         } else {
-            visits = new ArrayList<>();
+            VisitDto visitDto = BeanConvertUtil.covertBean(reqJson, VisitDto.class);
+            int count = visitInnerServiceSMOImpl.queryVisitsCount(visitDto);
+
+            List<ApiVisitDataVo> visits = new ArrayList<>();
+            if (count > 0) {
+                List<VisitDto> visitDtos = visitInnerServiceSMOImpl.queryVisits(visitDto);
+                for (VisitDto visit : visitDtos) {
+                    ApiVisitDataVo apiVisitDataVo = BeanConvertUtil.covertBean(visit, ApiVisitDataVo.class);
+                    if (!StringUtil.isEmpty(visit.getFileSaveName())) {
+                        apiVisitDataVo.setUrl("/callComponent/download/getFile/file?fileId=" + visit.getFileSaveName() + "&communityId=-1");
+                    }
+                    visits.add(apiVisitDataVo);
+                }
+            } else {
+                visits = new ArrayList<>();
+            }
+
+            ApiVisitVo apiVisitVo = new ApiVisitVo();
+            apiVisitVo.setTotal(count);
+            apiVisitVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
+            apiVisitVo.setVisits(visits);
+
+            responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiVisitVo), HttpStatus.OK);
         }
-
-        ApiVisitVo apiVisitVo = new ApiVisitVo();
-
-        apiVisitVo.setTotal(count);
-        apiVisitVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
-        apiVisitVo.setVisits(visits);
-
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiVisitVo), HttpStatus.OK);
-
         context.setResponseEntity(responseEntity);
 
     }

--
Gitblit v1.8.0