From 3219ee5eb2c7de1e1401bd94cb4dc4d37195b244 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 13 四月 2022 11:04:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/xinghong-dev'
---
service-api/src/main/java/com/java110/api/listener/visit/SaveVisitListener.java | 63 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/listener/visit/SaveVisitListener.java b/service-api/src/main/java/com/java110/api/listener/visit/SaveVisitListener.java
index e00c55a..802e3f9 100755
--- a/service-api/src/main/java/com/java110/api/listener/visit/SaveVisitListener.java
+++ b/service-api/src/main/java/com/java110/api/listener/visit/SaveVisitListener.java
@@ -6,17 +6,30 @@
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.factory.CommunitySettingFactory;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.visit.VisitDto;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.dto.file.FileDto;
+import com.java110.intf.community.IVisitInnerServiceSMO;
import com.java110.po.file.FileRelPo;
+import com.java110.po.owner.VisitPo;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.ServiceCodeVisitConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.TimeZone;
/**
* 淇濆瓨灏忓尯渚﹀惉
@@ -29,7 +42,16 @@
private IVisitBMO visitBMOImpl;
@Autowired
+ private IVisitInnerServiceSMO visitInnerServiceSMOImpl;
+
+ @Autowired
private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+ //閿�
+ public static final String IS_NEED_REVIEW = "IS_NEED_REVIEW";
+
+ //閿�
+ public static final String VISIT_NUMBER = "VISIT_NUMBER";
@Override
protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
@@ -43,10 +65,40 @@
}
@Override
- protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+ protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) throws ParseException {
reqJson.put("vId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_vId));
+ //鏄惁闇�瑕佸鏍�
+ String val = CommunitySettingFactory.getValue(reqJson.getString("communityId"), IS_NEED_REVIEW);
+ if (!StringUtils.isEmpty(val) && val.equals("true") && reqJson.containsKey("carNum") && !StringUtil.isEmpty(reqJson.getString("carNum"))) {
+ reqJson.put("state", "0"); //0琛ㄧず鏈鏍革紱1琛ㄧず瀹℃牳閫氳繃锛�2琛ㄧず瀹℃牳鎷掔粷
+ } else {
+ reqJson.put("state", "1");
+ }
+ //闅忚浜烘暟
+ if (reqJson.containsKey("entourage") && reqJson.getString("entourage").equals("")) {
+ reqJson.put("entourage", "0");
+ }
+ //鏄惁瓒呰繃瑙勫畾娆℃暟
+ boolean specifiedTimes = false;
+ if (reqJson.containsKey("carNum") && !StringUtil.isEmpty(reqJson.getString("carNum"))) {
+ //鏌ヨ棰勭害杞﹁締鐧昏娆℃暟
+ int number = Integer.parseInt(CommunitySettingFactory.getValue(reqJson.getString("communityId"), VISIT_NUMBER));
+ VisitDto visitDto = new VisitDto();
+ //鏌ヨ褰撳ぉ杞﹁締鐧昏娆℃暟
+ visitDto.setOwnerId(reqJson.getString("ownerId"));
+ visitDto.setCarNumNoEmpty("1");
+ visitDto.setSameDay("1");
+ List<VisitDto> visitDtos = visitInnerServiceSMOImpl.queryVisits(visitDto);
+ int count = visitDtos.size();
+ //棰勭害杞﹁締鐧昏娆℃暟0涓嶅仛闄愬埗
+ if (count >= number && number>0) {
+ if (!StringUtils.isEmpty(val) && val.equals("false")) {
+ reqJson.put("state", "0");
+ }
+ specifiedTimes = true;
+ }
+ }
visitBMOImpl.addVisit(reqJson, context);
-
if (reqJson.containsKey("photo") && !StringUtils.isEmpty(reqJson.getString("photo"))) {
FileDto fileDto = new FileDto();
fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
@@ -68,6 +120,13 @@
FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
super.insert(context, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
}
+ commit(context);
+ if (specifiedTimes) {
+ ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "鐧昏鎴愬姛,鎮ㄥ凡缁忚秴杩囬绾﹁溅杈嗙櫥璁版鏁伴檺鍒讹紝杞﹁締灏嗘棤娉曡嚜鍔ㄥ鏍革紒");
+ context.setResponseEntity(responseEntity);
+ return;
+ }
+
}
@Override
--
Gitblit v1.8.0