From 1614684047fa1b2040b6bfaaa557b4468cf4541e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 30 九月 2022 15:55:46 +0800
Subject: [PATCH] 优化代码

---
 service-community/src/main/java/com/java110/community/cmd/communitySpace/ListCommunitySpaceCmd.java |  104 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 70 insertions(+), 34 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/communitySpace/ListCommunitySpaceCmd.java b/service-community/src/main/java/com/java110/community/cmd/communitySpace/ListCommunitySpaceCmd.java
index 7358fee..c57658b 100644
--- a/service-community/src/main/java/com/java110/community/cmd/communitySpace/ListCommunitySpaceCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/communitySpace/ListCommunitySpaceCmd.java
@@ -17,26 +17,25 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
-import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
-import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.doc.annotation.*;
+import com.java110.dto.communitySpace.CommunitySpaceDto;
+import com.java110.dto.communitySpaceOpenTime.CommunitySpaceOpenTimeDto;
+import com.java110.intf.community.ICommunitySpaceOpenTimeV1InnerServiceSMO;
 import com.java110.intf.community.ICommunitySpaceV1InnerServiceSMO;
-import com.java110.po.communitySpace.CommunitySpacePo;
 import com.java110.utils.exception.CmdException;
-import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import com.java110.dto.communitySpace.CommunitySpaceDto;
-import java.util.List;
-import java.util.ArrayList;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.HttpStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Java110CmdDoc(title = "鏌ヨ鍦哄湴",
         description = "鏌ヨ绯荤粺涓殑鏌ヨ鍦哄湴",
@@ -48,8 +47,8 @@
 )
 
 @Java110ParamsDoc(params = {
-        @Java110ParamDoc(name = "page",type = "int",length = 11, remark = "鍒嗛〉椤垫暟"),
-        @Java110ParamDoc(name = "row",type = "int", length = 11, remark = "鍒嗛〉琛屾暟"),
+        @Java110ParamDoc(name = "page", type = "int", length = 11, remark = "鍒嗛〉椤垫暟"),
+        @Java110ParamDoc(name = "row", type = "int", length = 11, remark = "鍒嗛〉琛屾暟"),
         @Java110ParamDoc(name = "communityId", length = 30, remark = "灏忓尯ID"),
 })
 
@@ -58,20 +57,23 @@
                 @Java110ParamDoc(name = "code", type = "int", length = 11, defaultValue = "0", remark = "杩斿洖缂栧彿锛�0 鎴愬姛 鍏朵粬澶辫触"),
                 @Java110ParamDoc(name = "msg", type = "String", length = 250, defaultValue = "鎴愬姛", remark = "鎻忚堪"),
                 @Java110ParamDoc(name = "data", type = "Array", remark = "鏈夋晥鏁版嵁"),
-                @Java110ParamDoc(parentNodeName = "data",name = "communityId", type = "String", remark = "灏忓尯ID"),
-                @Java110ParamDoc(parentNodeName = "data",name = "name", type = "String", remark = "鍦哄湴鍚嶇О"),
-                @Java110ParamDoc(parentNodeName = "data",name = "state", type = "String", remark = "灏忓尯鐘舵�� 1001 鍙绾︾姸鎬� 2002 涓嶅彲浠ラ绾︾姸鎬�"),
-                @Java110ParamDoc(parentNodeName = "data",name = "startTime", type = "String", remark = "棰勭害寮�濮嬫椂闂�"),
-                @Java110ParamDoc(parentNodeName = "data",name = "endTime", type = "String", remark = "棰勭害缁撴潫鏃堕棿"),
-                @Java110ParamDoc(parentNodeName = "data",name = "feeMoney", type = "String", remark = "姣忓皬鏃惰垂鐢�"),
-                @Java110ParamDoc(parentNodeName = "data",name = "adminName", type = "String", remark = "绠$悊鍛�"),
-                @Java110ParamDoc(parentNodeName = "data",name = "tel", type = "String", remark = "鑱旂郴鐢佃瘽"),
+                @Java110ParamDoc(parentNodeName = "data", name = "communityId", type = "String", remark = "灏忓尯ID"),
+                @Java110ParamDoc(parentNodeName = "data", name = "name", type = "String", remark = "鍦哄湴鍚嶇О"),
+                @Java110ParamDoc(parentNodeName = "data", name = "state", type = "String", remark = "灏忓尯鐘舵�� 1001 鍙绾︾姸鎬� 2002 涓嶅彲浠ラ绾︾姸鎬�"),
+                @Java110ParamDoc(parentNodeName = "data", name = "startTime", type = "String", remark = "棰勭害寮�濮嬫椂闂�"),
+                @Java110ParamDoc(parentNodeName = "data", name = "endTime", type = "String", remark = "棰勭害缁撴潫鏃堕棿"),
+                @Java110ParamDoc(parentNodeName = "data", name = "feeMoney", type = "String", remark = "姣忓皬鏃惰垂鐢�"),
+                @Java110ParamDoc(parentNodeName = "data", name = "adminName", type = "String", remark = "绠$悊鍛�"),
+                @Java110ParamDoc(parentNodeName = "data", name = "tel", type = "String", remark = "鑱旂郴鐢佃瘽"),
+                @Java110ParamDoc(parentNodeName = "data", name = "openTimes", type = "Array", remark = "鑱旂郴鐢佃瘽"),
+                @Java110ParamDoc(parentNodeName = "openTimes", name = "hours", type = "String", remark = "灏忔椂"),
+                @Java110ParamDoc(parentNodeName = "openTimes", name = "isOpen", type = "String", remark = "鏄惁棰勭害 Y 鍙互棰勭害 N 涓嶈兘棰勭害"),
         }
 )
 
 @Java110ExampleDoc(
-        reqBody="http://{ip}:{port}/app/communitySpace.listCommunitySpace?spaceId=&name=&state=&communityId=2022081539020475&page=1&row=10",
-        resBody="{\"code\":0,\"data\":[{\"adminName\":\"鏃犻渶鏂嘰",\"communityId\":\"2022081539020475\",\"endTime\":\"06:10\",\"feeMoney\":\"10.00\",\"name\":\"浣撹偛鍦篭",\"page\":-1,\"records\":0,\"row\":0,\"spaceId\":\"102022093043260007\",\"startTime\":\"05:05\",\"state\":\"1001\",\"statusCd\":\"0\",\"tel\":\"18909711443\",\"total\":0}],\"msg\":\"鎴愬姛\",\"page\":0,\"records\":1,\"rows\":0,\"total\":2}"
+        reqBody = "http://{ip}:{port}/app/communitySpace.listCommunitySpace?spaceId=&name=&state=&communityId=2022081539020475&page=1&row=10",
+        resBody = "{\"code\":0,\"data\":[{\"adminName\":\"鏃犻渶鏂嘰",\"communityId\":\"2022081539020475\",\"endTime\":\"06:10\",\"feeMoney\":\"10.00\",\"name\":\"浣撹偛鍦篭",\"page\":-1,\"records\":0,\"row\":0,\"spaceId\":\"102022093043260007\",\"startTime\":\"05:05\",\"state\":\"1001\",\"statusCd\":\"0\",\"tel\":\"18909711443\",\"total\":0,\"openTimes\":[{\"hours\":0,\"Y\"}]}],\"msg\":\"鎴愬姛\",\"page\":0,\"records\":1,\"rows\":0,\"total\":2}"
 )
 /**
  * 绫昏〃杩帮細鏌ヨ
@@ -86,9 +88,12 @@
 @Java110Cmd(serviceCode = "communitySpace.listCommunitySpace")
 public class ListCommunitySpaceCmd extends Cmd {
 
-  private static Logger logger = LoggerFactory.getLogger(ListCommunitySpaceCmd.class);
+    private static Logger logger = LoggerFactory.getLogger(ListCommunitySpaceCmd.class);
     @Autowired
     private ICommunitySpaceV1InnerServiceSMO communitySpaceV1InnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunitySpaceOpenTimeV1InnerServiceSMO communitySpaceOpenTimeV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -98,22 +103,53 @@
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-           CommunitySpaceDto communitySpaceDto = BeanConvertUtil.covertBean(reqJson, CommunitySpaceDto.class);
+        CommunitySpaceDto communitySpaceDto = BeanConvertUtil.covertBean(reqJson, CommunitySpaceDto.class);
 
-           int count = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpacesCount(communitySpaceDto);
+        int count = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpacesCount(communitySpaceDto);
 
-           List<CommunitySpaceDto> communitySpaceDtos = null;
+        List<CommunitySpaceDto> communitySpaceDtos = null;
 
-           if (count > 0) {
-               communitySpaceDtos = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpaces(communitySpaceDto);
-           } else {
-               communitySpaceDtos = new ArrayList<>();
-           }
+        if (count > 0) {
+            communitySpaceDtos = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpaces(communitySpaceDto);
 
-           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, communitySpaceDtos);
+            refreshOpenTimes(communitySpaceDtos);
+        } else {
+            communitySpaceDtos = new ArrayList<>();
+        }
 
-           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, communitySpaceDtos);
 
-           cmdDataFlowContext.setResponseEntity(responseEntity);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    private void refreshOpenTimes(List<CommunitySpaceDto> communitySpaceDtos) {
+
+        if (communitySpaceDtos == null || communitySpaceDtos.size() < 1) {
+            return;
+        }
+
+        List<String> spaceIds = new ArrayList<>();
+
+        for (CommunitySpaceDto communitySpaceDto : communitySpaceDtos) {
+            spaceIds.add(communitySpaceDto.getSpaceId());
+        }
+
+        CommunitySpaceOpenTimeDto communitySpaceOpenTimeDto = new CommunitySpaceOpenTimeDto();
+        communitySpaceOpenTimeDto.setSpaceIds(spaceIds.toArray(new String[spaceIds.size()]));
+        List<CommunitySpaceOpenTimeDto> communitySpaceOpenTimeDtos = communitySpaceOpenTimeV1InnerServiceSMOImpl.queryCommunitySpaceOpenTimes(communitySpaceOpenTimeDto);
+
+        List<CommunitySpaceOpenTimeDto> tmpCommunitySpaceOpenTimeDtos = null;
+        for (CommunitySpaceDto communitySpaceDto : communitySpaceDtos) {
+            tmpCommunitySpaceOpenTimeDtos = new ArrayList<>();
+            for (CommunitySpaceOpenTimeDto tmpCommunitySpaceOpenTimeDto : communitySpaceOpenTimeDtos) {
+                if (tmpCommunitySpaceOpenTimeDto.getSpaceId().equals(communitySpaceDto.getSpaceId())) {
+                    tmpCommunitySpaceOpenTimeDtos.add(tmpCommunitySpaceOpenTimeDto);
+                }
+            }
+            communitySpaceDto.setOpenTimes(tmpCommunitySpaceOpenTimeDtos);
+        }
+
     }
 }

--
Gitblit v1.8.0