From 0b04f664887c73e90bf684a4e69c0fdbfe26349d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 29 三月 2023 13:35:20 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-community/src/main/java/com/java110/community/cmd/communitySpace/SaveCommunitySpacePersonCmd.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/communitySpace/SaveCommunitySpacePersonCmd.java b/service-community/src/main/java/com/java110/community/cmd/communitySpace/SaveCommunitySpacePersonCmd.java
index 733a726..f28cc50 100644
--- a/service-community/src/main/java/com/java110/community/cmd/communitySpace/SaveCommunitySpacePersonCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/communitySpace/SaveCommunitySpacePersonCmd.java
@@ -15,6 +15,7 @@
  */
 package com.java110.community.cmd.communitySpace;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
@@ -24,8 +25,11 @@
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.doc.annotation.*;
 import com.java110.dto.communitySpacePerson.CommunitySpacePersonDto;
+import com.java110.dto.communitySpacePersonTime.CommunitySpacePersonTimeDto;
+import com.java110.intf.community.ICommunitySpacePersonTimeV1InnerServiceSMO;
 import com.java110.intf.community.ICommunitySpacePersonV1InnerServiceSMO;
 import com.java110.po.communitySpacePerson.CommunitySpacePersonPo;
+import com.java110.po.communitySpacePersonTime.CommunitySpacePersonTimePo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -57,6 +61,9 @@
         @Java110ParamDoc(name = "receivableAmount", length = 30, remark = "搴旀敹閲戦"),
         @Java110ParamDoc(name = "receivedAmount", length = 30, remark = "瀹炴敹閲戦"),
         @Java110ParamDoc(name = "spaceId", length = 30, remark = "鍦哄湴ID"),
+        @Java110ParamDoc(name = "openTimes",type="Array", length = 30, remark = "鍦哄湴ID"),
+        @Java110ParamDoc(parentNodeName = "openTimes",name = "hours", length = 30, remark = "棰勭害鏃堕棿"),
+
 })
 
 @Java110ResponseDoc(
@@ -92,6 +99,9 @@
     @Autowired
     private ICommunitySpacePersonV1InnerServiceSMO communitySpacePersonV1InnerServiceSMOImpl;
 
+    @Autowired
+    private ICommunitySpacePersonTimeV1InnerServiceSMO communitySpacePersonTimeV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "spaceId", "璇锋眰鎶ユ枃涓湭鍖呭惈spaceId");
@@ -103,6 +113,34 @@
         Assert.hasKeyAndValue(reqJson, "payWay", "璇锋眰鎶ユ枃涓湭鍖呭惈payWay");
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
 
+        if(!reqJson.containsKey("openTimes")){
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return ;
+        }
+
+        JSONArray openTimes = reqJson.getJSONArray("openTimes");
+
+        if(openTimes == null || openTimes.size() <1){
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return ;
+        }
+        CommunitySpacePersonTimeDto communitySpacePersonTimeDto = null;
+        int flag = 0;
+        for(int timeIndex = 0 ;timeIndex < openTimes.size(); timeIndex++) {
+            if("N".equals(openTimes.getJSONObject(timeIndex).getString("isOpen"))){
+                continue;
+            }
+            communitySpacePersonTimeDto = new CommunitySpacePersonTimeDto();
+            communitySpacePersonTimeDto.setCommunityId(reqJson.getString("communityId"));
+            communitySpacePersonTimeDto.setAppointmentTime(reqJson.getString("appointmentTime"));
+            communitySpacePersonTimeDto.setHours(openTimes.getJSONObject(timeIndex).getString("hours"));
+            communitySpacePersonTimeDto.setSpaceId(reqJson.getString("spaceId"));
+            flag = communitySpacePersonTimeV1InnerServiceSMOImpl.queryCommunitySpacePersonTimesCount(communitySpacePersonTimeDto);
+            if(flag > 0){
+                throw new CmdException(reqJson.getString("appointmentTime")+","+openTimes.getJSONObject(timeIndex).getString("hours")+"宸茬粡琚绾�");
+            }
+        }
+
     }
 
     @Override
@@ -113,6 +151,7 @@
 
         CommunitySpacePersonPo communitySpacePersonPo = BeanConvertUtil.covertBean(reqJson, CommunitySpacePersonPo.class);
         communitySpacePersonPo.setCspId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        communitySpacePersonPo.setOrderId(GenerateCodeFactory.getGeneratorId("11"));
         if(StringUtil.isEmpty(communitySpacePersonPo.getState())){
             communitySpacePersonPo.setState(CommunitySpacePersonDto.STATE_W);
         }
@@ -122,6 +161,32 @@
             throw new CmdException("淇濆瓨鏁版嵁澶辫触");
         }
 
+        if(!reqJson.containsKey("openTimes")){
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return ;
+        }
+
+        JSONArray openTimes = reqJson.getJSONArray("openTimes");
+
+        if(openTimes == null || openTimes.size() <1){
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return ;
+        }
+        CommunitySpacePersonTimePo communitySpacePersonTimePo = null;
+        for(int timeIndex = 0 ;timeIndex < openTimes.size(); timeIndex++) {
+            if("N".equals(openTimes.getJSONObject(timeIndex).getString("isOpen"))){
+                continue;
+            }
+            communitySpacePersonTimePo = new CommunitySpacePersonTimePo();
+            communitySpacePersonTimePo.setCommunityId(communitySpacePersonPo.getCommunityId());
+            communitySpacePersonTimePo.setCspId(communitySpacePersonPo.getCspId());
+            communitySpacePersonTimePo.setHours(openTimes.getJSONObject(timeIndex).getString("hours"));
+            communitySpacePersonTimePo.setSpaceId(communitySpacePersonPo.getSpaceId());
+            communitySpacePersonTimePo.setTimeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            communitySpacePersonTimePo.setState(CommunitySpacePersonTimeDto.STATE_WAIT_CONFIRM);
+            communitySpacePersonTimeV1InnerServiceSMOImpl.saveCommunitySpacePersonTime(communitySpacePersonTimePo);
+        }
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

--
Gitblit v1.8.0