Browse Source

优化代码

java110 3 years ago
parent
commit
1614684047

+ 55 - 25
java110-bean/src/main/java/com/java110/dto/communitySpace/CommunitySpaceDto.java

@@ -1,8 +1,11 @@
 package com.java110.dto.communitySpace;
 
 import com.java110.dto.PageDto;
+import com.java110.dto.communitySpaceOpenTime.CommunitySpaceOpenTimeDto;
+
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -15,73 +18,92 @@ import java.util.Date;
 public class CommunitySpaceDto extends PageDto implements Serializable {
 
     private String adminName;
-private String spaceId;
-private String name;
-private String startTime;
-private String tel;
-private String endTime;
-private String state;
-private String communityId;
-private String feeMoney;
+    private String spaceId;
+    private String name;
+    private String startTime;
+    private String tel;
+    private String endTime;
+    private String state;
+    private String communityId;
+    private String feeMoney;
 
 
     private Date createTime;
 
     private String statusCd = "0";
 
+    private List<CommunitySpaceOpenTimeDto> openTimes;
+
 
     public String getAdminName() {
         return adminName;
     }
-public void setAdminName(String adminName) {
+
+    public void setAdminName(String adminName) {
         this.adminName = adminName;
     }
-public String getSpaceId() {
+
+    public String getSpaceId() {
         return spaceId;
     }
-public void setSpaceId(String spaceId) {
+
+    public void setSpaceId(String spaceId) {
         this.spaceId = spaceId;
     }
-public String getName() {
+
+    public String getName() {
         return name;
     }
-public void setName(String name) {
+
+    public void setName(String name) {
         this.name = name;
     }
-public String getStartTime() {
+
+    public String getStartTime() {
         return startTime;
     }
-public void setStartTime(String startTime) {
+
+    public void setStartTime(String startTime) {
         this.startTime = startTime;
     }
-public String getTel() {
+
+    public String getTel() {
         return tel;
     }
-public void setTel(String tel) {
+
+    public void setTel(String tel) {
         this.tel = tel;
     }
-public String getEndTime() {
+
+    public String getEndTime() {
         return endTime;
     }
-public void setEndTime(String endTime) {
+
+    public void setEndTime(String endTime) {
         this.endTime = endTime;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
-public String getFeeMoney() {
+
+    public String getFeeMoney() {
         return feeMoney;
     }
-public void setFeeMoney(String feeMoney) {
+
+    public void setFeeMoney(String feeMoney) {
         this.feeMoney = feeMoney;
     }
 
@@ -101,4 +123,12 @@ public void setFeeMoney(String feeMoney) {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public List<CommunitySpaceOpenTimeDto> getOpenTimes() {
+        return openTimes;
+    }
+
+    public void setOpenTimes(List<CommunitySpaceOpenTimeDto> openTimes) {
+        this.openTimes = openTimes;
+    }
 }

+ 95 - 0
java110-bean/src/main/java/com/java110/dto/communitySpaceOpenTime/CommunitySpaceOpenTimeDto.java

@@ -0,0 +1,95 @@
+package com.java110.dto.communitySpaceOpenTime;
+
+import com.java110.dto.PageDto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName FloorDto
+ * @Description 场地开放时间数据层封装
+ * @Author wuxw
+ * @Date 2019/4/24 8:52
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+public class CommunitySpaceOpenTimeDto extends PageDto implements Serializable {
+
+    private String spaceId;
+    private String[] spaceIds;
+    private String hours;
+    private String isOpen;
+    private String timeId;
+    private String communityId;
+
+
+    private Date createTime;
+
+    private String statusCd = "0";
+
+
+    public String getSpaceId() {
+        return spaceId;
+    }
+
+    public void setSpaceId(String spaceId) {
+        this.spaceId = spaceId;
+    }
+
+    public String getHours() {
+        return hours;
+    }
+
+    public void setHours(String hours) {
+        this.hours = hours;
+    }
+
+    public String getIsOpen() {
+        return isOpen;
+    }
+
+    public void setIsOpen(String isOpen) {
+        this.isOpen = isOpen;
+    }
+
+    public String getTimeId() {
+        return timeId;
+    }
+
+    public void setTimeId(String timeId) {
+        this.timeId = timeId;
+    }
+
+    public String getCommunityId() {
+        return communityId;
+    }
+
+    public void setCommunityId(String communityId) {
+        this.communityId = communityId;
+    }
+
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getStatusCd() {
+        return statusCd;
+    }
+
+    public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+
+    public String[] getSpaceIds() {
+        return spaceIds;
+    }
+
+    public void setSpaceIds(String[] spaceIds) {
+        this.spaceIds = spaceIds;
+    }
+}

+ 75 - 0
java110-bean/src/main/java/com/java110/po/communitySpaceOpenTime/CommunitySpaceOpenTimePo.java

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.po.communitySpaceOpenTime;
+
+import java.io.Serializable;
+import java.util.Date;
+/**
+ * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
+ * add by 吴学文 at 2022-09-30 15:29:53 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+public class CommunitySpaceOpenTimePo implements Serializable {
+
+    private String spaceId;
+private String hours;
+private String isOpen;
+private String timeId;
+private String statusCd = "0";
+private String communityId;
+public String getSpaceId() {
+        return spaceId;
+    }
+public void setSpaceId(String spaceId) {
+        this.spaceId = spaceId;
+    }
+public String getHours() {
+        return hours;
+    }
+public void setHours(String hours) {
+        this.hours = hours;
+    }
+public String getIsOpen() {
+        return isOpen;
+    }
+public void setIsOpen(String isOpen) {
+        this.isOpen = isOpen;
+    }
+public String getTimeId() {
+        return timeId;
+    }
+public void setTimeId(String timeId) {
+        this.timeId = timeId;
+    }
+public String getStatusCd() {
+        return statusCd;
+    }
+public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+public String getCommunityId() {
+        return communityId;
+    }
+public void setCommunityId(String communityId) {
+        this.communityId = communityId;
+    }
+
+
+
+}

+ 113 - 0
java110-db/src/main/resources/mapper/community/CommunitySpaceOpenTimeV1ServiceDaoImplMapper.xml

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="communitySpaceOpenTimeV1ServiceDaoImpl">
+
+
+    <!-- 保存场地开放时间信息 add by wuxw 2018-07-03 -->
+    <insert id="saveCommunitySpaceOpenTimeInfo" parameterType="Map">
+        insert into community_space_open_time(
+        space_id,hours,is_open,time_id,community_id
+        ) values (
+        #{spaceId},#{hours},#{isOpen},#{timeId},#{communityId}
+        )
+    </insert>
+
+
+    <!-- 保存场地开放时间信息 add by wuxw 2018-07-03 -->
+    <insert id="saveCommunitySpaceOpenTimesInfo" parameterType="Map">
+        insert into community_space_open_time(
+        space_id,hours,is_open,time_id,community_id
+        ) values
+        <foreach collection="openTimes" item="item" separator=",">
+            (#{item.spaceId},#{item.hours},#{item.isOpen},#{item.timeId},#{item.communityId})
+        </foreach>
+    </insert>
+
+
+    <!-- 查询场地开放时间信息 add by wuxw 2018-07-03 -->
+    <select id="getCommunitySpaceOpenTimeInfo" parameterType="Map" resultType="Map">
+        select t.space_id,t.space_id spaceId,t.hours,t.is_open,t.is_open isOpen,t.time_id,t.time_id
+        timeId,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId
+        from community_space_open_time t
+        where 1 =1
+        <if test="spaceId !=null and spaceId != ''">
+            and t.space_id= #{spaceId}
+        </if>
+        <if test="hours !=null and hours != ''">
+            and t.hours= #{hours}
+        </if>
+        <if test="isOpen !=null and isOpen != ''">
+            and t.is_open= #{isOpen}
+        </if>
+        <if test="timeId !=null and timeId != ''">
+            and t.time_id= #{timeId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+
+    </select>
+
+
+    <!-- 修改场地开放时间信息 add by wuxw 2018-07-03 -->
+    <update id="updateCommunitySpaceOpenTimeInfo" parameterType="Map">
+        update community_space_open_time t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="spaceId !=null and spaceId != ''">
+            , t.space_id= #{spaceId}
+        </if>
+        <if test="hours !=null and hours != ''">
+            , t.hours= #{hours}
+        </if>
+        <if test="isOpen !=null and isOpen != ''">
+            , t.is_open= #{isOpen}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            , t.community_id= #{communityId}
+        </if>
+        where 1=1
+        <if test="timeId !=null and timeId != ''">
+            and t.time_id= #{timeId}
+        </if>
+
+    </update>
+
+    <!-- 查询场地开放时间数量 add by wuxw 2018-07-03 -->
+    <select id="queryCommunitySpaceOpenTimesCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from community_space_open_time t
+        where 1 =1
+        <if test="spaceId !=null and spaceId != ''">
+            and t.space_id= #{spaceId}
+        </if>
+        <if test="hours !=null and hours != ''">
+            and t.hours= #{hours}
+        </if>
+        <if test="isOpen !=null and isOpen != ''">
+            and t.is_open= #{isOpen}
+        </if>
+        <if test="timeId !=null and timeId != ''">
+            and t.time_id= #{timeId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+
+
+    </select>
+
+</mapper>

+ 70 - 0
java110-interface/src/main/java/com/java110/intf/community/ICommunitySpaceOpenTimeV1InnerServiceSMO.java

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.intf.community;
+
+import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.communitySpaceOpenTime.CommunitySpaceOpenTimeDto;
+import com.java110.po.communitySpaceOpenTime.CommunitySpaceOpenTimePo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * 类表述: 服务之前调用的接口类,不对外提供接口能力 只用于接口建调用
+ * add by 吴学文 at 2022-09-30 15:29:53 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@FeignClient(name = "community-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/communitySpaceOpenTimeV1Api")
+public interface ICommunitySpaceOpenTimeV1InnerServiceSMO {
+
+
+    @RequestMapping(value = "/saveCommunitySpaceOpenTime", method = RequestMethod.POST)
+    public int saveCommunitySpaceOpenTime(@RequestBody  CommunitySpaceOpenTimePo communitySpaceOpenTimePo);
+    @RequestMapping(value = "/saveCommunitySpaceOpenTime", method = RequestMethod.POST)
+    public int saveCommunitySpaceOpenTimes(@RequestBody  List<CommunitySpaceOpenTimePo> communitySpaceOpenTimePos);
+
+    @RequestMapping(value = "/updateCommunitySpaceOpenTime", method = RequestMethod.POST)
+    public int updateCommunitySpaceOpenTime(@RequestBody  CommunitySpaceOpenTimePo communitySpaceOpenTimePo);
+
+    @RequestMapping(value = "/deleteCommunitySpaceOpenTime", method = RequestMethod.POST)
+    public int deleteCommunitySpaceOpenTime(@RequestBody  CommunitySpaceOpenTimePo communitySpaceOpenTimePo);
+
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     *
+     * @param communitySpaceOpenTimeDto 数据对象分享
+     * @return CommunitySpaceOpenTimeDto 对象数据
+     */
+    @RequestMapping(value = "/queryCommunitySpaceOpenTimes", method = RequestMethod.POST)
+    List<CommunitySpaceOpenTimeDto> queryCommunitySpaceOpenTimes(@RequestBody CommunitySpaceOpenTimeDto communitySpaceOpenTimeDto);
+
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param communitySpaceOpenTimeDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    @RequestMapping(value = "/queryCommunitySpaceOpenTimesCount", method = RequestMethod.POST)
+    int queryCommunitySpaceOpenTimesCount(@RequestBody CommunitySpaceOpenTimeDto communitySpaceOpenTimeDto);
+}

+ 70 - 34
service-community/src/main/java/com/java110/community/cmd/communitySpace/ListCommunitySpaceCmd.java

@@ -17,26 +17,25 @@ package com.java110.community.cmd.communitySpace;
 
 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 @@ import org.slf4j.LoggerFactory;
 )
 
 @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 @@ import org.slf4j.LoggerFactory;
                 @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,10 +88,13 @@ import org.slf4j.LoggerFactory;
 @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) {
         super.validatePageInfo(reqJson);
@@ -98,22 +103,53 @@ public class ListCommunitySpaceCmd extends Cmd {
     @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);
+
+        List<CommunitySpaceDto> communitySpaceDtos = null;
+
+        if (count > 0) {
+            communitySpaceDtos = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpaces(communitySpaceDto);
+
+            refreshOpenTimes(communitySpaceDtos);
+        } else {
+            communitySpaceDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, communitySpaceDtos);
 
-           int count = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpacesCount(communitySpaceDto);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
-           List<CommunitySpaceDto> communitySpaceDtos = null;
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    private void refreshOpenTimes(List<CommunitySpaceDto> communitySpaceDtos) {
 
-           if (count > 0) {
-               communitySpaceDtos = communitySpaceV1InnerServiceSMOImpl.queryCommunitySpaces(communitySpaceDto);
-           } else {
-               communitySpaceDtos = new ArrayList<>();
-           }
+        if (communitySpaceDtos == null || communitySpaceDtos.size() < 1) {
+            return;
+        }
 
-           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, communitySpaceDtos);
+        List<String> spaceIds = new ArrayList<>();
 
-           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+        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);
+        }
 
-           cmdDataFlowContext.setResponseEntity(responseEntity);
     }
 }

+ 25 - 0
service-community/src/main/java/com/java110/community/cmd/communitySpace/SaveCommunitySpaceCmd.java

@@ -22,8 +22,10 @@ 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.intf.community.ICommunitySpaceOpenTimeV1InnerServiceSMO;
 import com.java110.intf.community.ICommunitySpaceV1InnerServiceSMO;
 import com.java110.po.communitySpace.CommunitySpacePo;
+import com.java110.po.communitySpaceOpenTime.CommunitySpaceOpenTimePo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -32,6 +34,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 类表述:保存
  * 服务编码:communitySpace.saveCommunitySpace
@@ -52,6 +57,9 @@ public class SaveCommunitySpaceCmd extends Cmd {
     @Autowired
     private ICommunitySpaceV1InnerServiceSMO communitySpaceV1InnerServiceSMOImpl;
 
+    @Autowired
+    private ICommunitySpaceOpenTimeV1InnerServiceSMO communitySpaceOpenTimeV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name");
@@ -75,6 +83,23 @@ public class SaveCommunitySpaceCmd extends Cmd {
             throw new CmdException("保存数据失败");
         }
 
+        List<CommunitySpaceOpenTimePo> communitySpaceOpenTimePos = new ArrayList<>();
+        CommunitySpaceOpenTimePo communitySpaceOpenTimePo = null;
+        for (int hours = 0; hours < 24; hours++) {
+
+            communitySpaceOpenTimePo = new CommunitySpaceOpenTimePo();
+            communitySpaceOpenTimePo.setCommunityId(reqJson.getString("communityId"));
+            communitySpaceOpenTimePo.setSpaceId(communitySpacePo.getSpaceId());
+            communitySpaceOpenTimePo.setIsOpen("N");
+            communitySpaceOpenTimePo.setTimeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            communitySpaceOpenTimePo.setHours(hours + "");
+            communitySpaceOpenTimePos.add(communitySpaceOpenTimePo);
+
+        }
+        flag = communitySpaceOpenTimeV1InnerServiceSMOImpl.saveCommunitySpaceOpenTimes(communitySpaceOpenTimePos);
+        if (flag < 1) {
+            throw new CmdException("保存数据失败");
+        }
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 74 - 0
service-community/src/main/java/com/java110/community/cmd/communitySpace/UpdateCommunitySpaceOpenTimeCmd.java

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.cmd.communitySpace;
+
+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.intf.community.ICommunitySpaceOpenTimeV1InnerServiceSMO;
+import com.java110.po.communitySpaceOpenTime.CommunitySpaceOpenTimePo;
+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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * 类表述:更新
+ * 服务编码:communitySpaceOpenTime.updateCommunitySpaceOpenTime
+ * 请求路劲:/app/communitySpaceOpenTime.UpdateCommunitySpaceOpenTime
+ * add by 吴学文 at 2022-09-30 15:29:53 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "communitySpaceOpenTime.updateCommunitySpaceOpenTime")
+public class UpdateCommunitySpaceOpenTimeCmd extends Cmd {
+
+    private static Logger logger = LoggerFactory.getLogger(UpdateCommunitySpaceOpenTimeCmd.class);
+
+
+    @Autowired
+    private ICommunitySpaceOpenTimeV1InnerServiceSMO communitySpaceOpenTimeV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "timeId", "timeId不能为空");
+        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        CommunitySpaceOpenTimePo communitySpaceOpenTimePo = BeanConvertUtil.covertBean(reqJson, CommunitySpaceOpenTimePo.class);
+        int flag = communitySpaceOpenTimeV1InnerServiceSMOImpl.updateCommunitySpaceOpenTime(communitySpaceOpenTimePo);
+
+        if (flag < 1) {
+            throw new CmdException("更新数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 78 - 0
service-community/src/main/java/com/java110/community/dao/ICommunitySpaceOpenTimeV1ServiceDao.java

@@ -0,0 +1,78 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.dao;
+
+
+import com.java110.utils.exception.DAOException;
+import com.java110.entity.merchant.BoMerchant;
+import com.java110.entity.merchant.BoMerchantAttr;
+import com.java110.entity.merchant.Merchant;
+import com.java110.entity.merchant.MerchantAttr;
+
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 类表述:
+ * add by 吴学文 at 2022-09-30 15:29:53 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+public interface ICommunitySpaceOpenTimeV1ServiceDao {
+
+
+    /**
+     * 保存 场地开放时间信息
+     * @param info
+     * @throws DAOException DAO异常
+     */
+    int saveCommunitySpaceOpenTimeInfo(Map info) throws DAOException;
+
+
+    int saveCommunitySpaceOpenTimesInfo(Map info);
+
+
+    /**
+     * 查询场地开放时间信息(instance过程)
+     * 根据bId 查询场地开放时间信息
+     * @param info bId 信息
+     * @return 场地开放时间信息
+     * @throws DAOException DAO异常
+     */
+    List<Map> getCommunitySpaceOpenTimeInfo(Map info) throws DAOException;
+
+
+
+    /**
+     * 修改场地开放时间信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    int updateCommunitySpaceOpenTimeInfo(Map info) throws DAOException;
+
+
+    /**
+     * 查询场地开放时间总数
+     *
+     * @param info 场地开放时间信息
+     * @return 场地开放时间数量
+     */
+    int queryCommunitySpaceOpenTimesCount(Map info);
+
+}

+ 129 - 0
service-community/src/main/java/com/java110/community/dao/impl/CommunitySpaceOpenTimeV1ServiceDaoImpl.java

@@ -0,0 +1,129 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.dao.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.DateUtil;
+import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.community.dao.ICommunitySpaceOpenTimeV1ServiceDao;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 类表述:
+ * add by 吴学文 at 2022-09-30 15:29:53 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Service("communitySpaceOpenTimeV1ServiceDaoImpl")
+public class CommunitySpaceOpenTimeV1ServiceDaoImpl extends BaseServiceDao implements ICommunitySpaceOpenTimeV1ServiceDao {
+
+    private static Logger logger = LoggerFactory.getLogger(CommunitySpaceOpenTimeV1ServiceDaoImpl.class);
+
+
+
+
+
+    /**
+     * 保存场地开放时间信息 到 instance
+     * @param info   bId 信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int saveCommunitySpaceOpenTimeInfo(Map info) throws DAOException {
+        logger.debug("保存 saveCommunitySpaceOpenTimeInfo 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("communitySpaceOpenTimeV1ServiceDaoImpl.saveCommunitySpaceOpenTimeInfo",info);
+
+        return saveFlag;
+    }
+
+
+
+    /**
+     * 保存场地开放时间信息 到 instance
+     * @param info   bId 信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int saveCommunitySpaceOpenTimesInfo(Map info) throws DAOException {
+        logger.debug("保存 saveCommunitySpaceOpenTimesInfo 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("communitySpaceOpenTimeV1ServiceDaoImpl.saveCommunitySpaceOpenTimesInfo",info);
+
+        return saveFlag;
+    }
+
+
+
+    /**
+     * 查询场地开放时间信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getCommunitySpaceOpenTimeInfo(Map info) throws DAOException {
+        logger.debug("查询 getCommunitySpaceOpenTimeInfo 入参 info : {}",info);
+
+        List<Map> businessCommunitySpaceOpenTimeInfos = sqlSessionTemplate.selectList("communitySpaceOpenTimeV1ServiceDaoImpl.getCommunitySpaceOpenTimeInfo",info);
+
+        return businessCommunitySpaceOpenTimeInfos;
+    }
+
+
+    /**
+     * 修改场地开放时间信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int updateCommunitySpaceOpenTimeInfo(Map info) throws DAOException {
+        logger.debug("修改 updateCommunitySpaceOpenTimeInfo 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.update("communitySpaceOpenTimeV1ServiceDaoImpl.updateCommunitySpaceOpenTimeInfo",info);
+
+        return saveFlag;
+    }
+
+     /**
+     * 查询场地开放时间数量
+     * @param info 场地开放时间信息
+     * @return 场地开放时间数量
+     */
+    @Override
+    public int queryCommunitySpaceOpenTimesCount(Map info) {
+        logger.debug("查询 queryCommunitySpaceOpenTimesCount 入参 info : {}",info);
+
+        List<Map> businessCommunitySpaceOpenTimeInfos = sqlSessionTemplate.selectList("communitySpaceOpenTimeV1ServiceDaoImpl.queryCommunitySpaceOpenTimesCount", info);
+        if (businessCommunitySpaceOpenTimeInfos.size() < 1) {
+            return 0;
+        }
+
+        return Integer.parseInt(businessCommunitySpaceOpenTimeInfos.get(0).get("count").toString());
+    }
+
+
+}

+ 98 - 0
service-community/src/main/java/com/java110/community/smo/impl/CommunitySpaceOpenTimeV1InnerServiceSMOImpl.java

@@ -0,0 +1,98 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.smo.impl;
+
+
+import com.java110.community.dao.ICommunitySpaceOpenTimeV1ServiceDao;
+import com.java110.intf.community.ICommunitySpaceOpenTimeV1InnerServiceSMO;
+import com.java110.dto.communitySpaceOpenTime.CommunitySpaceOpenTimeDto;
+import com.java110.po.communitySpaceOpenTime.CommunitySpaceOpenTimePo;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.user.UserDto;
+import com.java110.dto.PageDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用
+ * add by 吴学文 at 2022-09-30 15:29:53 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@RestController
+public class CommunitySpaceOpenTimeV1InnerServiceSMOImpl extends BaseServiceSMO implements ICommunitySpaceOpenTimeV1InnerServiceSMO {
+
+    @Autowired
+    private ICommunitySpaceOpenTimeV1ServiceDao communitySpaceOpenTimeV1ServiceDaoImpl;
+
+
+    @Override
+    public int saveCommunitySpaceOpenTime(@RequestBody  CommunitySpaceOpenTimePo communitySpaceOpenTimePo) {
+        int saveFlag = communitySpaceOpenTimeV1ServiceDaoImpl.saveCommunitySpaceOpenTimeInfo(BeanConvertUtil.beanCovertMap(communitySpaceOpenTimePo));
+        return saveFlag;
+    }
+
+    @Override
+    public int saveCommunitySpaceOpenTimes(@RequestBody  List<CommunitySpaceOpenTimePo> communitySpaceOpenTimePos) {
+        Map param = new HashMap<>();
+        param.put("openTimes",communitySpaceOpenTimePos);
+        int saveFlag = communitySpaceOpenTimeV1ServiceDaoImpl.saveCommunitySpaceOpenTimesInfo(param);
+        return saveFlag;
+    }
+    @Override
+    public int updateCommunitySpaceOpenTime(@RequestBody  CommunitySpaceOpenTimePo communitySpaceOpenTimePo) {
+        int saveFlag = communitySpaceOpenTimeV1ServiceDaoImpl.updateCommunitySpaceOpenTimeInfo(BeanConvertUtil.beanCovertMap(communitySpaceOpenTimePo));
+        return saveFlag;
+    }
+
+     @Override
+    public int deleteCommunitySpaceOpenTime(@RequestBody  CommunitySpaceOpenTimePo communitySpaceOpenTimePo) {
+       communitySpaceOpenTimePo.setStatusCd("1");
+       int saveFlag = communitySpaceOpenTimeV1ServiceDaoImpl.updateCommunitySpaceOpenTimeInfo(BeanConvertUtil.beanCovertMap(communitySpaceOpenTimePo));
+       return saveFlag;
+    }
+
+    @Override
+    public List<CommunitySpaceOpenTimeDto> queryCommunitySpaceOpenTimes(@RequestBody  CommunitySpaceOpenTimeDto communitySpaceOpenTimeDto) {
+
+        //校验是否传了 分页信息
+
+        int page = communitySpaceOpenTimeDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            communitySpaceOpenTimeDto.setPage((page - 1) * communitySpaceOpenTimeDto.getRow());
+        }
+
+        List<CommunitySpaceOpenTimeDto> communitySpaceOpenTimes = BeanConvertUtil.covertBeanList(communitySpaceOpenTimeV1ServiceDaoImpl.getCommunitySpaceOpenTimeInfo(BeanConvertUtil.beanCovertMap(communitySpaceOpenTimeDto)), CommunitySpaceOpenTimeDto.class);
+
+        return communitySpaceOpenTimes;
+    }
+
+
+    @Override
+    public int queryCommunitySpaceOpenTimesCount(@RequestBody CommunitySpaceOpenTimeDto communitySpaceOpenTimeDto) {
+        return communitySpaceOpenTimeV1ServiceDaoImpl.queryCommunitySpaceOpenTimesCount(BeanConvertUtil.beanCovertMap(communitySpaceOpenTimeDto));    }
+
+}