From 3adb33652e097365ced4bdb58c31fce476b244fb Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期四, 26 八月 2021 09:29:07 +0800
Subject: [PATCH] 预约登记后台接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java                       |   72 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java                              |    1 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveRegisterStatisticsDTO.java          |   25 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml                                                     |  178 ++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleListAdminVO.java           |   49 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveAdminDTO.java                         |   39 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java                      |   81 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/CancelReserveRecordDTO.java                      |   21 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeOperationAdminVO.java            |   50 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditReserveAdminDTO.java                         |   50 
 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java                           |  579 +++++++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml                                        |   46 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveOperationRecordMapper.xml                                      |   56 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeHandleAdminDTO.java               |   39 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java              |  365 ++++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailAdminVO.java               |   44 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightStatisticsAdminVO.java      |   28 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml                                               |  281 ++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveDetailAdminVO.java                   |   64 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java              |    2 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubDO.java                    |    2 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterStatisticsAdminVO.java       |   25 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java                            |   54 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/MakeHandleAdminDTO.java                          |   35 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveStatusDTO.java                  |   27 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveAnswerContentMapper.java               |    5 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveSubMapper.java                         |    6 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeStatisticsAdminVO.java           |   18 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java           |   18 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/AddReserveAdminDTO.java                          |   49 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeAdminDTO.java                     |   30 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java        |  196 +++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java                                       |  161 ++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveAnswerContentService.java          |    3 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java                          |   32 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java                 |   67 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/ReserveRecordStatusEnum.java                                            |   41 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeListAdminVO.java                 |   43 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveOperationRecordMapper.java             |   11 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java |   43 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java                    |   10 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveInfoDTO.java                    |   49 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailedExcelAdminVO.java        |   37 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubVO.java                           |    2 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterExcelAdminVO.java            |   23 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveSubMapper.xml                                                  |   30 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeLeftStatisticsAdminVO.java       |   17 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java                       |    4 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveMakeStatisticsDTO.java              |   19 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java                               |  205 +++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleExcelAdminVO.java          |   49 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveListAdminVO.java                     |   58 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightExcelAdminVO.java           |   25 
 53 files changed, 3,360 insertions(+), 104 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/ReserveRecordStatusEnum.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/ReserveRecordStatusEnum.java
new file mode 100644
index 0000000..1efe109
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/ReserveRecordStatusEnum.java
@@ -0,0 +1,41 @@
+package com.panzhihua.common.enums;
+
+import lombok.Getter;
+
+/**
+ * 预约登记记录状态枚举
+ *
+ * @author lyq
+ */
+@Getter
+public enum ReserveRecordStatusEnum {
+    dcl(1, "待处理"), yycg(2, "预约成功"), yysb(3, "预约失败"), yqx(4, "已取消"), wz(5, "未知");
+
+    private final Integer code;
+    private final String name;
+
+    ReserveRecordStatusEnum(Integer code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public static int getCodeByName(String name) {
+        for (ReserveRecordStatusEnum item : ReserveRecordStatusEnum.values()) {
+            if (item.name.equals(name)) {
+                return item.getCode();
+            }
+        }
+        return wz.code;
+    }
+
+    public static String getCnDescByName(Integer code) {
+        for (ReserveRecordStatusEnum item : ReserveRecordStatusEnum.values()) {
+            if (item.code.equals(code)) {
+                return item.getName();
+            }
+        }
+        return wz.name;
+    }
+
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/AddReserveAdminDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/AddReserveAdminDTO.java
new file mode 100644
index 0000000..e645f78
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/AddReserveAdminDTO.java
@@ -0,0 +1,49 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("新增预约登记请求参数")
+public class AddReserveAdminDTO {
+
+    @ApiModelProperty(value = "类型(1.预约 2.登记)")
+    private Integer type;
+
+    @ApiModelProperty(value = "主题")
+    private String title;
+
+    @ApiModelProperty(value = "数量上限数量(如果不限制数量,这里传0)")
+    private Integer joinAllCount;
+
+    @ApiModelProperty(value = "图标类型(1.预设1 2.预设2 3.预设3 4.预设4 5.用户自定义图片)")
+    private Integer imgType;
+
+    @ApiModelProperty(value = "图标url(当img_type为5时,此字段的值为图标url地址)")
+    private String imgUrl;
+
+    @ApiModelProperty("广告顶部(1.是   2.否)")
+    private Integer adverPositionTop;
+
+    @ApiModelProperty("广告应用(1.是   2.否)")
+    private Integer adverPositionApplication;
+
+    @ApiModelProperty(value = "社区id",hidden = true)
+    private Long communityId;
+
+    @ApiModelProperty(value = "用户id",hidden = true)
+    private Long userId;
+
+    @ApiModelProperty("是否可重复提交(1.是 2.否)")
+    private Integer isRepeat;
+
+    @ApiModelProperty("组件json数据")
+    private String jsonObject;
+
+    @ApiModelProperty("是否发布(1.是 2.否)")
+    private Integer isPublish;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/CancelReserveRecordDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/CancelReserveRecordDTO.java
new file mode 100644
index 0000000..fb2c74c
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/CancelReserveRecordDTO.java
@@ -0,0 +1,21 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("取消预约登记请求参数")
+public class CancelReserveRecordDTO {
+
+    @ApiModelProperty(value = "需要取消的预约记录id集合")
+    private List<Long> ids;
+
+    @ApiModelProperty(value = "取消原因")
+    private String remark;
+
+    @ApiModelProperty(value = "用户id",hidden = true)
+    private Long userId;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveMakeStatisticsDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveMakeStatisticsDTO.java
new file mode 100644
index 0000000..4b55e05
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveMakeStatisticsDTO.java
@@ -0,0 +1,19 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("查询预约统计汇总数据请求参数")
+public class ComActReserveMakeStatisticsDTO {
+
+    @ApiModelProperty(value = "开始时间查询")
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间查询")
+    private String endTime;
+
+    @ApiModelProperty(value = "社区id",hidden = true)
+    private Long communityId;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveRegisterStatisticsDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveRegisterStatisticsDTO.java
new file mode 100644
index 0000000..16e0b1d
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/ComActReserveRegisterStatisticsDTO.java
@@ -0,0 +1,25 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("查询登记统计汇总数据请求参数")
+public class ComActReserveRegisterStatisticsDTO {
+
+    @ApiModelProperty(value = "开始时间查询")
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间查询")
+    private String endTime;
+
+    @ApiModelProperty(value = "社区id",hidden = true)
+    private Long communityId;
+
+    @ApiModelProperty(value = "分页-当前页数",example = "1")
+    private Long pageNum = 1L;
+
+    @ApiModelProperty(value = "分页-每页记录数",example = "10")
+    private Long pageSize = 10L;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveInfoDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveInfoDTO.java
new file mode 100644
index 0000000..9714f8d
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveInfoDTO.java
@@ -0,0 +1,49 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 继续预约登记请求参数
+ */
+@Data
+@ApiModel("继续预约登记请求参数")
+public class EditComActReserveInfoDTO {
+    @ApiModelProperty(value = "预约登记id")
+    private Long id;
+    @ApiModelProperty(value = "用户id",hidden = true)
+    private Long userId;
+    @ApiModelProperty(value = "主题")
+    private String title;
+
+    @ApiModelProperty(value = "数量上限数量(如果不限制数量,这里传0)")
+    private Integer joinAllCount;
+
+    @ApiModelProperty(value = "图标类型(1.预设1 2.预设2 3.预设3 4.预设4 5.用户自定义图片)")
+    private Integer imgType;
+
+    @ApiModelProperty(value = "图标url(当img_type为5时,此字段的值为图标url地址)")
+    private String imgUrl;
+
+    @ApiModelProperty("广告顶部(1.是   2.否)")
+    private Integer adverPositionTop;
+
+    @ApiModelProperty("广告应用(1.是   2.否)")
+    private Integer adverPositionApplication;
+
+    @ApiModelProperty("是否可重复提交(1.是 2.否)")
+    private Integer isRepeat;
+
+    @ApiModelProperty("是否发布(1.是 2.否)")
+    private Integer isPublish;
+
+    /**
+     * 类型(1.继续 2.停止 3.发布)
+     */
+    public interface type{
+        int jx = 1;
+        int tz = 2;
+        int fb = 3;
+    }
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveStatusDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveStatusDTO.java
new file mode 100644
index 0000000..a3b75b4
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditComActReserveStatusDTO.java
@@ -0,0 +1,27 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 修改预约登记状态请求参数
+ */
+@Data
+@ApiModel("修改预约登记状态请求参数")
+public class EditComActReserveStatusDTO {
+    @ApiModelProperty(value = "预约登记id")
+    private Long id;
+    @ApiModelProperty(value = "类型(1.停止 2.发布)")
+    private Integer type;
+    @ApiModelProperty(value = "用户id",hidden = true)
+    private Long userId;
+
+    /**
+     * 类型(1.停止 2.发布)
+     */
+    public interface type{
+        int tz = 1;
+        int fb = 2;
+    }
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditReserveAdminDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditReserveAdminDTO.java
new file mode 100644
index 0000000..3cae87d
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/EditReserveAdminDTO.java
@@ -0,0 +1,50 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("编辑预约登记请求参数")
+public class EditReserveAdminDTO {
+
+    @ApiModelProperty(value = "预约登记id")
+    private Long id;
+
+    @ApiModelProperty(value = "类型(1.预约 2.登记)")
+    private Integer type;
+
+    @ApiModelProperty(value = "主题")
+    private String title;
+
+    @ApiModelProperty(value = "数量上限数量(如果不限制数量,这里传0)")
+    private Integer joinAllCount;
+
+    @ApiModelProperty(value = "图标类型(1.预设1 2.预设2 3.预设3 4.预设4 5.用户自定义图片)")
+    private Integer imgType;
+
+    @ApiModelProperty(value = "图标url(当img_type为5时,此字段的值为图标url地址)")
+    private String imgUrl;
+
+    @ApiModelProperty("广告顶部(1.是   2.否)")
+    private Integer adverPositionTop;
+
+    @ApiModelProperty("广告应用(1.是   2.否)")
+    private Integer adverPositionApplication;
+
+    @ApiModelProperty(value = "社区id",hidden = true)
+    private Long communityId;
+
+    @ApiModelProperty(value = "用户id",hidden = true)
+    private Long userId;
+
+    @ApiModelProperty("是否可重复提交(1.是 2.否)")
+    private Integer isRepeat;
+
+    @ApiModelProperty("组件json数据")
+    private String jsonObject;
+
+    @ApiModelProperty("是否发布(1.是 2.否)")
+    private Integer isPublish;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/MakeHandleAdminDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/MakeHandleAdminDTO.java
new file mode 100644
index 0000000..41f9607
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/MakeHandleAdminDTO.java
@@ -0,0 +1,35 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("处理预约记录请求参数")
+public class MakeHandleAdminDTO {
+
+    @ApiModelProperty(value = "批量处理id集合")
+    private List<Long> ids;
+
+    @ApiModelProperty(value = "预约成功时间(格式:yyyy-MM-dd HH:mm:ss)")
+    private String makeTime;
+
+    @ApiModelProperty(value = "预约状态(1.同意 2.拒绝)")
+    private Integer isOk;
+
+    @ApiModelProperty(value = "处理备注")
+    private String remark;
+
+    @ApiModelProperty(value = "用户id",hidden = true)
+    private Long userId;
+
+    /**
+     * 预约状态(1.同意 2.拒绝)
+     */
+    public interface isOk{
+        int yes = 1;
+        int no = 2;
+    }
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveAdminDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveAdminDTO.java
new file mode 100644
index 0000000..7c4c265
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveAdminDTO.java
@@ -0,0 +1,39 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("分页查询预约登记列表请求参数")
+public class PageReserveAdminDTO {
+
+    @ApiModelProperty(value = "分页-当前页数",example = "1")
+    private Long pageNum = 1L;
+
+    @ApiModelProperty(value = "分页-每页记录数",example = "10")
+    private Long pageSize = 10L;
+
+    @ApiModelProperty(value = "类型(1.预约 2.登记)")
+    private List<Integer> type;
+
+    @ApiModelProperty(value = "状态(1.进行中 2.已停止 3.待发布)")
+    private Integer status;
+
+    @ApiModelProperty(value = "广告位置(1.无 2.首页顶部 3.首页应用)")
+    private Integer advertType;
+
+    @ApiModelProperty(value = "开始时间查询")
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间查询")
+    private String endTime;
+
+    @ApiModelProperty(value = "关键词")
+    private String keyWord;
+
+    @ApiModelProperty(value = "社区id",hidden = true)
+    private Long communityId;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeAdminDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeAdminDTO.java
new file mode 100644
index 0000000..ce5ae30
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeAdminDTO.java
@@ -0,0 +1,30 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("分页查询预约登记列表请求参数")
+public class PageReserveMakeAdminDTO {
+
+    @ApiModelProperty(value = "分页-当前页数",example = "1")
+    private Long pageNum = 1L;
+
+    @ApiModelProperty(value = "分页-每页记录数",example = "10")
+    private Long pageSize = 10L;
+
+    @ApiModelProperty(value = "预约登记id")
+    private Long reserveId;
+
+    @ApiModelProperty(value = "开始时间查询")
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间查询")
+    private String endTime;
+
+    @ApiModelProperty(value = "需要导出id集合")
+    private List<Long> ids;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeHandleAdminDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeHandleAdminDTO.java
new file mode 100644
index 0000000..7870b19
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/reserve/PageReserveMakeHandleAdminDTO.java
@@ -0,0 +1,39 @@
+package com.panzhihua.common.model.dtos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("分页查询预约登记列表请求参数")
+public class PageReserveMakeHandleAdminDTO {
+
+    @ApiModelProperty(value = "分页-当前页数",example = "1")
+    private Long pageNum = 1L;
+
+    @ApiModelProperty(value = "分页-每页记录数",example = "10")
+    private Long pageSize = 10L;
+
+    @ApiModelProperty(value = "关键词")
+    private String keyWord;
+
+    @ApiModelProperty(value = "开始时间查询")
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间查询")
+    private String endTime;
+
+    @ApiModelProperty(value = "状态集合")
+    private List<Integer> status;
+
+    @ApiModelProperty(value = "预约登记id")
+    private Long reserveId;
+
+    @ApiModelProperty(value = "社区id",hidden = true)
+    private Long communityId;
+
+    @ApiModelProperty(value = "需要导出的id集合")
+    private List<Long> ids;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java
index 0c0b975..c6e2f80 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java
@@ -29,4 +29,5 @@
     @ApiModelProperty("应用位置问卷调查列表")
     private List<ComActQuestnaireAppVO> applicationQuestnaireList;
 
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubVO.java
index 3c3319f..9083637 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubVO.java
@@ -17,7 +17,7 @@
     private int sort;
     @ApiModelProperty(value = "题目内容")
     private String label;
-    @ApiModelProperty(value = "类型 0单选1多选2问答题", example = "0")
+    @ApiModelProperty(value = "类型 0 单选  1 多选 2 输入框 2姓名输入框 3 手机号 4 身份证 5 文字描述 6 日期选择", example = "0")
     private Integer type;
     @ApiModelProperty(value = "问卷题目选项")
     private List<QuestnaiteSubSelectionVO> options;
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveDetailAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveDetailAdminVO.java
new file mode 100644
index 0000000..8e1f7f5
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveDetailAdminVO.java
@@ -0,0 +1,64 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel("预约登记返回参数")
+public class ComActReserveDetailAdminVO {
+
+    @ApiModelProperty("预约登记id")
+    private Long id;
+
+    @ApiModelProperty("社区id")
+    private Long communityId;
+
+    @ApiModelProperty("类型(1.预约 2.登记)")
+    private Integer type;
+
+    @ApiModelProperty("主题")
+    private String title;
+
+    @ApiModelProperty("浏览量")
+    private Integer viewNum;
+
+    @ApiModelProperty("限定参加人总数")
+    private Integer joinAllCount;
+
+    @ApiModelProperty("参加人数")
+    private Integer joinCount;
+
+    @ApiModelProperty("广告位置")
+    private String advertPosition;
+
+    @ApiModelProperty("状态(1.待发布 2.进行中 3.已停止)")
+    private Integer status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty("发布时间")
+    private Date publishTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty("创建时间")
+    private Date createAt;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+    @ApiModelProperty("是否是首页顶部(1.是 2.否)")
+    private Integer adverPositionTop;
+
+    @ApiModelProperty("是否是首页应用(1.是 2.否)")
+    private Integer adverPositionApplication;
+
+    @ApiModelProperty("组件json数据")
+    private String jsonObject;
+
+    @ApiModelProperty("是否可重复提交(1.是 2.否)")
+    private Integer isRepeat;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveListAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveListAdminVO.java
new file mode 100644
index 0000000..9e160a7
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveListAdminVO.java
@@ -0,0 +1,58 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel("预约登记返回参数")
+public class ComActReserveListAdminVO {
+
+    @ApiModelProperty("预约登记id")
+    private Long id;
+
+    @ApiModelProperty("社区id")
+    private Long communityId;
+
+    @ApiModelProperty("类型(1.预约 2.登记)")
+    private Integer type;
+
+    @ApiModelProperty("主题")
+    private String title;
+
+    @ApiModelProperty("浏览量")
+    private Integer viewNum;
+
+    @ApiModelProperty("限定参加人总数")
+    private Integer joinAllCount;
+
+    @ApiModelProperty("参加人数")
+    private Integer joinCount;
+
+    @ApiModelProperty("广告位置")
+    private String advertPosition;
+
+    @ApiModelProperty("状态(1.待发布 2.进行中 3.已停止)")
+    private Integer status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty("发布时间")
+    private Date publishTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty("创建时间")
+    private Date createAt;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+    @ApiModelProperty("是否是首页顶部(1.是 2.否)")
+    private Integer adverPositionTop;
+
+    @ApiModelProperty("是否是首页应用(1.是 2.否)")
+    private Integer adverPositionApplication;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailAdminVO.java
new file mode 100644
index 0000000..e764629
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailAdminVO.java
@@ -0,0 +1,44 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel("预约明细列表返回参数")
+public class ComActReserveMakeDetailAdminVO {
+
+    @ApiModelProperty("用户昵称")
+    private String nickName;
+
+    @ApiModelProperty("预约人")
+    private String name;
+
+    @ApiModelProperty("联系电话")
+    private String phone;
+
+    @ApiModelProperty("预约时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date reserveTime;
+
+    @ApiModelProperty("预约内容")
+    private String content;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+    @ApiModelProperty("社区备注")
+    private String actRemark;
+
+    @ApiModelProperty("提交时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createAt;
+
+    @ApiModelProperty("操作记录")
+    private List<ComActReserveMakeOperationAdminVO> operationList;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailedExcelAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailedExcelAdminVO.java
new file mode 100644
index 0000000..faf8855
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeDetailedExcelAdminVO.java
@@ -0,0 +1,37 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 预约明细导出返回对象
+ */
+@Data
+public class ComActReserveMakeDetailedExcelAdminVO {
+
+    @ExcelProperty(value = "用户昵称" ,index = 0)
+    private String nickName;
+    @ExcelProperty(value = "预约人" ,index = 1)
+    private String name;
+    @ExcelProperty(value = "联系电话" ,index = 2)
+    private String phone;
+    @ExcelProperty(value = "预约时间" ,index = 3)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date reserveTime;
+    @ExcelProperty(value = "预约内容" ,index = 4)
+    private String content;
+    @ExcelProperty(value = "备注" ,index = 5)
+    private String remark;
+    @ExcelProperty(value = "社区备注" ,index = 6)
+    private String actRemark;
+    @ExcelProperty(value = "提交时间" ,index = 7)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createAt;
+
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleExcelAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleExcelAdminVO.java
new file mode 100644
index 0000000..c4b2ae1
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleExcelAdminVO.java
@@ -0,0 +1,49 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel("预约明细列表返回参数")
+public class ComActReserveMakeHandleExcelAdminVO {
+
+    @ExcelProperty(value = "用户昵称" ,index = 0)
+    private String nickName;
+
+    @ExcelProperty(value = "预约登记主题" ,index = 1)
+    private String title;
+
+    @ExcelProperty(value = "预约人" ,index = 2)
+    private String name;
+
+    @ExcelProperty(value = "联系电话" ,index = 3)
+    private String phone;
+
+    @ExcelProperty(value = "预约时间" ,index = 4)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date reserveTime;
+
+    @ExcelProperty(value = "预约内容" ,index = 5)
+    private String content;
+
+    @ExcelProperty(value = "备注" ,index = 6)
+    private String remark;
+
+    @ExcelProperty(value = "社区备注" ,index = 7)
+    private String actRemark;
+
+    @ExcelProperty(value = "提交时间" ,index = 8)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createAt;
+
+    @ExcelProperty(value = "状态" ,index = 9)
+    private String status;
+
+
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleListAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleListAdminVO.java
new file mode 100644
index 0000000..db36a18
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeHandleListAdminVO.java
@@ -0,0 +1,49 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel("预约明细列表返回参数")
+public class ComActReserveMakeHandleListAdminVO {
+
+    @ApiModelProperty("预约记录id")
+    private Long id;
+
+    @ApiModelProperty("用户昵称")
+    private String nickName;
+
+    @ApiModelProperty("预约人")
+    private String name;
+
+    @ApiModelProperty("联系电话")
+    private String phone;
+
+    @ApiModelProperty("预约时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date reserveTime;
+
+    @ApiModelProperty("预约内容")
+    private String content;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+    @ApiModelProperty("社区备注")
+    private String actRemark;
+
+    @ApiModelProperty("提交时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createAt;
+
+    @ApiModelProperty("状态(1.待处理 2.预约成功 3.预约失败 4.已取消)")
+    private Integer status;
+
+    @ApiModelProperty("预约登记主题")
+    private String title;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeLeftStatisticsAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeLeftStatisticsAdminVO.java
new file mode 100644
index 0000000..0c32ba2
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeLeftStatisticsAdminVO.java
@@ -0,0 +1,17 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("预约统计左边返回参数")
+public class ComActReserveMakeLeftStatisticsAdminVO {
+
+    @ApiModelProperty("预约日期(格式:yyyy-MM-dd)")
+    private String reserveTime;
+
+    @ApiModelProperty("预约数量")
+    private Integer count;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeListAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeListAdminVO.java
new file mode 100644
index 0000000..231f69f
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeListAdminVO.java
@@ -0,0 +1,43 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel("预约明细列表返回参数")
+public class ComActReserveMakeListAdminVO {
+
+    @ApiModelProperty("预约记录id")
+    private Long id;
+
+    @ApiModelProperty("用户昵称")
+    private String nickName;
+
+    @ApiModelProperty("预约人")
+    private String name;
+
+    @ApiModelProperty("联系电话")
+    private String phone;
+
+    @ApiModelProperty("预约时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date reserveTime;
+
+    @ApiModelProperty("预约内容")
+    private String content;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+    @ApiModelProperty("社区备注")
+    private String actRemark;
+
+    @ApiModelProperty("提交时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createAt;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeOperationAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeOperationAdminVO.java
new file mode 100644
index 0000000..216906c
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeOperationAdminVO.java
@@ -0,0 +1,50 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel("预约明细操作记录返回参数")
+public class ComActReserveMakeOperationAdminVO {
+
+    @ApiModelProperty("预约登记id")
+    private Long reserveId;
+
+    @ApiModelProperty("预约登记记录id")
+    private Long reserveRecordId;
+
+    @ApiModelProperty("用户id")
+    private Long userId;
+
+    @ApiModelProperty("类型(1.本人操作 2.社区操作)")
+    private Integer type;
+
+    @ApiModelProperty("预约人手机号")
+    private String phone;
+
+    @ApiModelProperty("操作内容")
+    private String reserveContent;
+
+    @ApiModelProperty("操作时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date reserveTime;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+    @ApiModelProperty("状态(1.提交 2.预约成功 3.预约失败 4.取消)")
+    private Integer status;
+
+    @ApiModelProperty("创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createAt;
+
+    @ApiModelProperty("操作人")
+    private String createByName;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightExcelAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightExcelAdminVO.java
new file mode 100644
index 0000000..a290eda
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightExcelAdminVO.java
@@ -0,0 +1,25 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 预约统计汇总导出返回对象
+ */
+@Data
+public class ComActReserveMakeRightExcelAdminVO {
+
+    @ExcelProperty(value = "日期" ,index = 0)
+    private String reserveTime;
+    @ExcelProperty(value = "预约主题" ,index = 1)
+    private String title;
+    @ExcelProperty(value = "所占百分比" ,index = 2)
+    private BigDecimal tag;
+    @ExcelProperty(value = "预约量" ,index = 3)
+    private Integer count;
+    @ExcelProperty(value = "合计" ,index = 4)
+    private Integer allCount;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightStatisticsAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightStatisticsAdminVO.java
new file mode 100644
index 0000000..58fc633
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeRightStatisticsAdminVO.java
@@ -0,0 +1,28 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel("预约统计右边返回参数")
+public class ComActReserveMakeRightStatisticsAdminVO {
+
+    @ApiModelProperty("日期(格式:yyyy-MM-dd)")
+    private String reserveTime;
+
+    @ApiModelProperty("预约主题")
+    private String title;
+
+    @ApiModelProperty("所占百分比")
+    private BigDecimal tag;
+
+    @ApiModelProperty("预约数量")
+    private Integer count;
+
+    @ApiModelProperty("预约量合计")
+    private Integer allCount;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeStatisticsAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeStatisticsAdminVO.java
new file mode 100644
index 0000000..5e28f1a
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveMakeStatisticsAdminVO.java
@@ -0,0 +1,18 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("预约登记返回参数")
+public class ComActReserveMakeStatisticsAdminVO {
+
+    @ApiModelProperty("预约日期数量统计数据")
+    private List<ComActReserveMakeLeftStatisticsAdminVO> leftStatisticsList;
+
+    @ApiModelProperty("预约统计汇总-右边统计数据")
+    private List<ComActReserveMakeRightStatisticsAdminVO> rightStatisticsList;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterExcelAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterExcelAdminVO.java
new file mode 100644
index 0000000..e0e01b8
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterExcelAdminVO.java
@@ -0,0 +1,23 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 登记统计汇总导出返回对象
+ */
+@Data
+public class ComActReserveRegisterExcelAdminVO {
+
+    @ExcelProperty(value = "登记主题" ,index = 0)
+    private String title;
+    @ExcelProperty(value = "所占百分比" ,index = 1)
+    private BigDecimal tag;
+    @ExcelProperty(value = "登记量" ,index = 2)
+    private Integer count;
+
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterStatisticsAdminVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterStatisticsAdminVO.java
new file mode 100644
index 0000000..aea132c
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/reserve/ComActReserveRegisterStatisticsAdminVO.java
@@ -0,0 +1,25 @@
+package com.panzhihua.common.model.vos.community.reserve;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@ApiModel("登记统计汇总返回参数")
+public class ComActReserveRegisterStatisticsAdminVO {
+
+    @ApiModelProperty("登记主题")
+    private String title;
+
+    @ApiModelProperty("所占百分比")
+    private BigDecimal tag;
+
+    @ApiModelProperty("登记量")
+    private Integer count;
+
+    @ApiModelProperty("登记总量")
+    private Integer allCount;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
index 6bc95e3..6874948 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -17,6 +17,7 @@
 import com.panzhihua.common.model.dtos.community.integral.admin.PageComActIntegralRuleDTO;
 import com.panzhihua.common.model.dtos.community.integral.admin.PageComActIntegralTradeDTO;
 import com.panzhihua.common.model.dtos.community.questnaire.StatisticsSummaryDTO;
+import com.panzhihua.common.model.dtos.community.reserve.*;
 import com.panzhihua.common.model.dtos.community.switchs.SearchCommunityDTO;
 import com.panzhihua.common.model.dtos.community.wallet.*;
 import com.panzhihua.common.model.dtos.elders.ComEldersAuthGetResultDTO;
@@ -4348,4 +4349,164 @@
      */
     @GetMapping("/easyphoto/noHandle/list")
     R easyPhotoNoHandleList(@RequestParam("communityId") Long communityId);
+
+    /**
+     * 社区后台-分页查询预约登记列表
+     * @param pageReserveDTO    请求参数
+     * @return  预约登记列表
+     */
+    @PostMapping("/reserve/admin/page")
+    R pageReserveAdmin(@RequestBody PageReserveAdminDTO pageReserveDTO);
+
+    /**
+     * 社区后台-新增预约登记信息
+     * @param addReserveDTO 请求参数
+     * @return  新增结果
+     */
+    @PostMapping("/reserve/admin/add")
+    R addReserveAdmin(@RequestBody AddReserveAdminDTO addReserveDTO);
+
+    /**
+     * 社区后台-编辑预约登记信息
+     * @param editReserveDTO 请求参数
+     * @return  新增结果
+     */
+    @PostMapping("/reserve/admin/edit")
+    R editReserveAdmin(@RequestBody EditReserveAdminDTO editReserveDTO);
+
+    /**
+     * 社区后台-修改预约登记状态
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    @PostMapping("/reserve/admin/edit/status")
+    R editReserveStatusAdmin(@RequestBody EditComActReserveStatusDTO editReserveDTO);
+
+    /**
+     * 社区后台-继续预约登记
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    @PostMapping("/reserve/admin/edit/info")
+    R editReserveInfoAdmin(@RequestBody EditComActReserveInfoDTO editReserveDTO);
+
+    /**
+     * 社区后台-根据预约登记id查询详情
+     * @param reserveId 预约登记id
+     * @return  预约登记详情
+     */
+    @GetMapping("/reserve/admin/detail")
+    R detailReserveAdmin(@RequestParam("reserveId") Long reserveId);
+
+    /**
+     * 社区后台-根据社区id统计预约类数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    @PostMapping("/reserve/admin/make/statistics")
+    R makeStatisticsAdmin(@RequestBody ComActReserveMakeStatisticsDTO makeStatisticsDTO);
+
+    /**
+     * 社区后台-查询导出预约统计汇总数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    @PostMapping("/reserve/admin/make/statistics/export")
+    R makeStatisticsExportAdmin(@RequestBody ComActReserveMakeStatisticsDTO makeStatisticsDTO);
+
+    /**
+     * 社区后台-根据预约id查询预约明细
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细
+     */
+    @PostMapping("/reserve/admin/make/page")
+    R pageMakeAdmin(@RequestBody PageReserveMakeAdminDTO pageMakeDTO);
+
+    /**
+     * 根据预约记录id查询预约明细操作记录
+     * @param reserveRecordId   预约记录id
+     * @return  预约明细操作记录
+     */
+    @GetMapping("/reserve/admin/make/detail")
+    R detailMakeAdmin(@RequestParam("reserveRecordId") Long reserveRecordId);
+
+    /**
+     * 批量取消预约记录
+     * @param reserveRecordDTO   请求参数
+     * @return  取消结果
+     */
+    @PostMapping("/reserve/admin/make/cancel")
+    R makeCancelAdmin(@RequestBody CancelReserveRecordDTO reserveRecordDTO);
+
+    /**
+     * 预约明细导出数据查询
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细数据
+     */
+    @PostMapping("/reserve/admin/make/list/export")
+    R exportMakeAdmin(@RequestBody PageReserveMakeAdminDTO pageMakeDTO);
+
+    /**
+     * 分页查询登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    @PostMapping("/reserve/admin/register/page")
+    R registerStatisticsAdmin(@RequestBody ComActReserveRegisterStatisticsDTO registerStatisticsDTO);
+
+    /**
+     * 导出登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    @PostMapping("/reserve/admin/register/export")
+    R registerStatisticsExportAdmin(@RequestBody ComActReserveRegisterStatisticsDTO registerStatisticsDTO);
+
+    /**
+     * 分页查询预约处理列表
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    @PostMapping("/reserve/admin/make/handle/page")
+    R pageMakeHandleAdmin(@RequestBody PageReserveMakeHandleAdminDTO pageMakeHandleDTO);
+
+    /**
+     * 批量处理预约记录
+     * @param makeHandleDTO 请求参数
+     * @return  处理结果
+     */
+    @PostMapping("/reserve/admin/make/handle")
+    R makeHandleAdmin(@RequestBody MakeHandleAdminDTO makeHandleDTO);
+
+    /**
+     * 导出预约处理列表数据查询
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    @PostMapping("/reserve/admin/make/handle/export")
+    R exportMakeHandleAdmin(@RequestBody PageReserveMakeHandleAdminDTO pageMakeHandleDTO);
+
+    /**
+     * 删除预约登记信息
+     * @param reserveId 预约登记id
+     * @return  删除结果
+     */
+    @GetMapping("/reserve/admin/delete")
+    R deleteReserveAdmin(@RequestParam("reserveId") Long reserveId);
+
+    /**
+     * 查询社区所有预约信息列表
+     * @param communityId   社区id
+     * @return  预约信息列表
+     */
+    @GetMapping("/reserve/admin/make/list")
+    R listReserveAdmin(@RequestParam("communityId") Long communityId);
+
+    /**
+     * 导出登记明细数据
+     * @param reserveId 登记id
+     * @return  登记明细数据
+     */
+    @GetMapping("/reserve/admin/register/list/export")
+    R exportRegisterAdmin(@RequestParam("reserveId") Long reserveId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java
index 5933ab3..a1c190b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java
@@ -1,12 +1,42 @@
 package com.panzhihua.community_backstage.api;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.style.WriteCellStyle;
+import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.panzhihua.common.controller.BaseController;
+import com.panzhihua.common.enums.ReserveRecordStatusEnum;
+import com.panzhihua.common.model.dtos.community.QuestnaireAnswersDTO;
+import com.panzhihua.common.model.dtos.community.reserve.*;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO;
+import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO;
+import com.panzhihua.common.model.vos.community.ComCvtBusinessVO;
+import com.panzhihua.common.model.vos.community.ComMngPopulationExcelVo;
+import com.panzhihua.common.model.vos.community.questnaire.QuestnaireStatisticsSummaryExcelAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.*;
 import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.SFTPUtil;
+import com.panzhihua.community_backstage.config.SFTPConfig;
+import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * @description: 预约登记接口
@@ -21,6 +51,555 @@
 
     @Resource
     private CommunityService communityService;
+    @Resource
+    private UserService userService;
+    @Resource
+    private SFTPConfig sftpConfig;
 
+    @ApiOperation(value = "分页查询预约登记列表", response = ComActReserveListAdminVO.class)
+    @PostMapping("/page")
+    public R page(@RequestBody PageReserveAdminDTO pageReserveDTO) {
+        Long communityId = this.getCommunityId();
+        pageReserveDTO.setCommunityId(communityId);
+        return communityService.pageReserveAdmin(pageReserveDTO);
+    }
+
+    @ApiOperation(value = "新增预约登记记录")
+    @PostMapping("/add")
+    public R add(@RequestBody AddReserveAdminDTO addReserveDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        addReserveDTO.setCommunityId(loginUserInfo.getCommunityId());
+        addReserveDTO.setUserId(loginUserInfo.getUserId());
+        return communityService.addReserveAdmin(addReserveDTO);
+    }
+
+    @ApiOperation(value = "删除预约登记")
+    @PostMapping("/delete")
+    public R delete(@RequestParam("reserveId") Long reserveId) {
+        return communityService.deleteReserveAdmin(reserveId);
+    }
+
+    @ApiOperation(value = "查询社区所有预约登记列表")
+    @GetMapping("/list")
+    public R list() {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        return communityService.listReserveAdmin(loginUserInfo.getCommunityId());
+    }
+
+    @ApiOperation(value = "编辑预约登记记录")
+    @PostMapping("/edit")
+    public R edit(@RequestBody EditReserveAdminDTO editReserveDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        editReserveDTO.setCommunityId(loginUserInfo.getCommunityId());
+        editReserveDTO.setUserId(loginUserInfo.getUserId());
+        return communityService.editReserveAdmin(editReserveDTO);
+    }
+
+    @ApiOperation(value = "修改预约登记状态")
+    @PostMapping("/edit/status")
+    public R editStatus(@RequestBody EditComActReserveStatusDTO editReserveDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        editReserveDTO.setUserId(loginUserInfo.getUserId());
+        return communityService.editReserveStatusAdmin(editReserveDTO);
+    }
+
+    @ApiOperation(value = "点击继续预约登记")
+    @PostMapping("/edit/info")
+    public R editInfo(@RequestBody EditComActReserveInfoDTO editReserveDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        editReserveDTO.setUserId(loginUserInfo.getUserId());
+        return communityService.editReserveInfoAdmin(editReserveDTO);
+    }
+
+    @ApiOperation(value = "预约登记详情")
+    @PostMapping("/detail")
+    public R detail(@RequestParam("reserveId") Long reserveId) {
+        return communityService.detailReserveAdmin(reserveId);
+    }
+
+    @ApiOperation(value = "预约类统计汇总", response = ComActReserveMakeStatisticsAdminVO.class)
+    @PostMapping("/make/statistics")
+    public R makeStatistics(@RequestBody ComActReserveMakeStatisticsDTO makeStatisticsDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        makeStatisticsDTO.setCommunityId(loginUserInfo.getCommunityId());
+        return communityService.makeStatisticsAdmin(makeStatisticsDTO);
+    }
+
+    @ApiOperation(value = "预约登记统计汇总导出")
+    @PostMapping("/make/statistics/export")
+    public R makeStatisticsExport(@RequestBody ComActReserveMakeStatisticsDTO makeStatisticsDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        makeStatisticsDTO.setCommunityId(loginUserInfo.getCommunityId());
+        String url = sftpConfig.getExcelUrl();
+        String name = "预约登记统计汇总导出数据.xlsx";
+        String ftpUrl = "/mnt/data/web/excel/";
+        R r = communityService.makeStatisticsExportAdmin(makeStatisticsDTO);
+        if (R.isOk(r)) {
+            List<ComActReserveMakeRightExcelAdminVO> resultList = new ArrayList<>();
+            List<ComActReserveMakeRightStatisticsAdminVO> rightStatisticsList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActReserveMakeRightStatisticsAdminVO.class);
+            rightStatisticsList.forEach(rightStatistics -> {
+                ComActReserveMakeRightExcelAdminVO makeRightExcelAdminVO = new ComActReserveMakeRightExcelAdminVO();
+                BeanUtils.copyProperties(rightStatistics,makeRightExcelAdminVO);
+                resultList.add(makeRightExcelAdminVO);
+            });
+            try {
+                SFTPUtil sftp = new SFTPUtil(sftpConfig.getUserName(), sftpConfig.getPassword(), sftpConfig.getHost(), sftpConfig.getPort());
+                sftp.login();
+                boolean existDir = sftp.isExistDir(ftpUrl + name);
+                if (!existDir) {
+                    String property = System.getProperty("user.dir");
+                    String fileName = property + File.separator + name;
+                    // 这里 需要指定写用哪个class去写
+                    ExcelWriter excelWriter = null;
+                    InputStream inputStream = null;
+                    try {
+                        excelWriter = EasyExcel.write(fileName, ComActReserveMakeRightExcelAdminVO.class)
+                                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                                .registerWriteHandler(new CustomSheetWriteHandler()).build();
+                        WriteSheet writeSheet = EasyExcel.writerSheet("预约登记统计汇总导出数据").build();
+                        excelWriter.write(resultList, writeSheet);
+                        excelWriter.finish();
+                        File file = new File(fileName);
+                        inputStream = new FileInputStream(file);
+                        sftp.uploadMore(ftpUrl, name, inputStream);
+                        sftp.logout();
+                        inputStream.close();
+                        String absolutePath = file.getAbsolutePath();
+                        boolean delete = file.delete();
+                        log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+                    } finally {
+                        // 千万别忘记finish 会帮忙关闭流
+                        if (inputStream != null) {
+                            inputStream.close();
+                        }
+                        if (excelWriter != null) {
+                            excelWriter.finish();
+                        }
+                    }
+                }
+                return R.ok(url + name);
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("文件传输失败【{}】", e.getMessage());
+                return R.fail();
+            }
+        }
+        return r;
+    }
+
+    @ApiOperation(value = "分页查询预约明细列表", response = ComActReserveMakeListAdminVO.class)
+    @PostMapping("/make/page")
+    public R pageMake(@RequestBody PageReserveMakeAdminDTO pageMakeDTO) {
+        return communityService.pageMakeAdmin(pageMakeDTO);
+    }
+
+    @ApiOperation(value = "查询预约明细详情", response = ComActReserveMakeDetailAdminVO.class)
+    @GetMapping("/make/detail")
+    public R detailMake(@RequestParam("reserveRecordId") Long reserveRecordId) {
+        return communityService.detailMakeAdmin(reserveRecordId);
+    }
+
+    @ApiOperation(value = "取消预约记录", response = ComActReserveMakeDetailAdminVO.class)
+    @PostMapping("/make/cancel")
+    public R makeCancel(@RequestBody CancelReserveRecordDTO reserveRecordDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        reserveRecordDTO.setUserId(loginUserInfo.getUserId());
+        return communityService.makeCancelAdmin(reserveRecordDTO);
+    }
+
+    @ApiOperation(value = "预约明细导出")
+    @PostMapping("/make/list/export")
+    public R exportMake(@RequestBody PageReserveMakeAdminDTO pageMakeDTO) {
+        String url = sftpConfig.getExcelUrl();
+        String name = "预约明细导出数据.xlsx";
+        String ftpUrl = "/mnt/data/web/excel/";
+        R r = communityService.exportMakeAdmin(pageMakeDTO);
+        if (R.isOk(r)) {
+            List<ComActReserveMakeDetailedExcelAdminVO> resultList = new ArrayList<>();
+            List<ComActReserveMakeRightStatisticsAdminVO> rightStatisticsList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActReserveMakeRightStatisticsAdminVO.class);
+            rightStatisticsList.forEach(rightStatistics -> {
+                ComActReserveMakeDetailedExcelAdminVO makeRightExcelAdminVO = new ComActReserveMakeDetailedExcelAdminVO();
+                BeanUtils.copyProperties(rightStatistics,makeRightExcelAdminVO);
+                resultList.add(makeRightExcelAdminVO);
+            });
+            try {
+                SFTPUtil sftp = new SFTPUtil(sftpConfig.getUserName(), sftpConfig.getPassword(), sftpConfig.getHost(), sftpConfig.getPort());
+                sftp.login();
+                boolean existDir = sftp.isExistDir(ftpUrl + name);
+                if (!existDir) {
+                    String property = System.getProperty("user.dir");
+                    String fileName = property + File.separator + name;
+                    // 这里 需要指定写用哪个class去写
+                    ExcelWriter excelWriter = null;
+                    InputStream inputStream = null;
+                    try {
+                        excelWriter = EasyExcel.write(fileName, ComActReserveMakeRightExcelAdminVO.class)
+                                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                                .registerWriteHandler(new CustomSheetWriteHandler()).build();
+                        WriteSheet writeSheet = EasyExcel.writerSheet("预约明细导出数据").build();
+                        excelWriter.write(resultList, writeSheet);
+                        excelWriter.finish();
+                        File file = new File(fileName);
+                        inputStream = new FileInputStream(file);
+                        sftp.uploadMore(ftpUrl, name, inputStream);
+                        sftp.logout();
+                        inputStream.close();
+                        String absolutePath = file.getAbsolutePath();
+                        boolean delete = file.delete();
+                        log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+                    } finally {
+                        // 千万别忘记finish 会帮忙关闭流
+                        if (inputStream != null) {
+                            inputStream.close();
+                        }
+                        if (excelWriter != null) {
+                            excelWriter.finish();
+                        }
+                    }
+                }
+                return R.ok(url + name);
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("文件传输失败【{}】", e.getMessage());
+                return R.fail();
+            }
+        }
+        return r;
+    }
+
+    @ApiOperation(value = "登记类统计汇总", response = ComActReserveRegisterStatisticsAdminVO.class)
+    @PostMapping("/register/statistics")
+    public R registerStatistics(@RequestBody ComActReserveRegisterStatisticsDTO registerStatisticsDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        registerStatisticsDTO.setCommunityId(loginUserInfo.getCommunityId());
+        return communityService.registerStatisticsAdmin(registerStatisticsDTO);
+    }
+
+    @ApiOperation(value = "登记类统计导出", response = ComActReserveRegisterStatisticsAdminVO.class)
+    @PostMapping("/register/statistics/export")
+    public R registerStatisticsExport(@RequestBody ComActReserveRegisterStatisticsDTO registerStatisticsDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        registerStatisticsDTO.setCommunityId(loginUserInfo.getCommunityId());
+        String url = sftpConfig.getExcelUrl();
+        String name = "登记统计汇总导出数据.xlsx";
+        String ftpUrl = "/mnt/data/web/excel/";
+        R r = communityService.registerStatisticsExportAdmin(registerStatisticsDTO);
+        if (R.isOk(r)) {
+            List<ComActReserveRegisterExcelAdminVO> resultList = new ArrayList<>();
+            List<ComActReserveRegisterStatisticsAdminVO> rightStatisticsList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActReserveRegisterStatisticsAdminVO.class);
+            rightStatisticsList.forEach(rightStatistics -> {
+                ComActReserveRegisterExcelAdminVO makeRightExcelAdminVO = new ComActReserveRegisterExcelAdminVO();
+                BeanUtils.copyProperties(rightStatistics,makeRightExcelAdminVO);
+                resultList.add(makeRightExcelAdminVO);
+            });
+            try {
+                SFTPUtil sftp = new SFTPUtil(sftpConfig.getUserName(), sftpConfig.getPassword(), sftpConfig.getHost(), sftpConfig.getPort());
+                sftp.login();
+                boolean existDir = sftp.isExistDir(ftpUrl + name);
+                if (!existDir) {
+                    String property = System.getProperty("user.dir");
+                    String fileName = property + File.separator + name;
+                    // 这里 需要指定写用哪个class去写
+                    ExcelWriter excelWriter = null;
+                    InputStream inputStream = null;
+                    try {
+                        excelWriter = EasyExcel.write(fileName, ComActReserveRegisterExcelAdminVO.class)
+                                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                                .registerWriteHandler(new CustomSheetWriteHandler()).build();
+                        WriteSheet writeSheet = EasyExcel.writerSheet("登记统计汇总导出数据").build();
+                        excelWriter.write(resultList, writeSheet);
+                        excelWriter.finish();
+                        File file = new File(fileName);
+                        inputStream = new FileInputStream(file);
+                        sftp.uploadMore(ftpUrl, name, inputStream);
+                        sftp.logout();
+                        inputStream.close();
+                        String absolutePath = file.getAbsolutePath();
+                        boolean delete = file.delete();
+                        log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+                    } finally {
+                        // 千万别忘记finish 会帮忙关闭流
+                        if (inputStream != null) {
+                            inputStream.close();
+                        }
+                        if (excelWriter != null) {
+                            excelWriter.finish();
+                        }
+                    }
+                }
+                return R.ok(url + name);
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("文件传输失败【{}】", e.getMessage());
+                return R.fail();
+            }
+        }
+        return r;
+    }
+
+    @ApiOperation(value = "分页查询预约处理列表", response = ComActReserveMakeHandleListAdminVO.class)
+    @PostMapping("/make/handle/page")
+    public R pageMakeHandle(@RequestBody PageReserveMakeHandleAdminDTO pageMakeHandleDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        pageMakeHandleDTO.setCommunityId(loginUserInfo.getCommunityId());
+        return communityService.pageMakeHandleAdmin(pageMakeHandleDTO);
+    }
+
+    @ApiOperation(value = "批量处理预约记录")
+    @PostMapping("/make/handle")
+    public R makeHandle(@RequestBody MakeHandleAdminDTO makeHandleDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        makeHandleDTO.setUserId(loginUserInfo.getUserId());
+        return communityService.makeHandleAdmin(makeHandleDTO);
+    }
+
+    @ApiOperation(value = "预约处理列表导出")
+    @PostMapping("/make/handle/export")
+    public R exportMakeHandle(@RequestBody PageReserveMakeHandleAdminDTO pageMakeHandleDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if (loginUserInfo == null) {
+            return R.fail("请先登录");
+        }
+        pageMakeHandleDTO.setCommunityId(loginUserInfo.getCommunityId());
+        String url = sftpConfig.getExcelUrl();
+        String name = "预约处理列表导出数据.xlsx";
+        String ftpUrl = "/mnt/data/web/excel/";
+        R r = communityService.exportMakeHandleAdmin(pageMakeHandleDTO);
+        if (R.isOk(r)) {
+            List<ComActReserveMakeHandleExcelAdminVO> resultList = new ArrayList<>();
+            List<ComActReserveMakeHandleListAdminVO> rightStatisticsList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActReserveMakeHandleListAdminVO.class);
+            rightStatisticsList.forEach(rightStatistics -> {
+                ComActReserveMakeHandleExcelAdminVO makeRightExcelAdminVO = new ComActReserveMakeHandleExcelAdminVO();
+                BeanUtils.copyProperties(rightStatistics,makeRightExcelAdminVO);
+                makeRightExcelAdminVO.setStatus(ReserveRecordStatusEnum.getCnDescByName(rightStatistics.getStatus()));
+                resultList.add(makeRightExcelAdminVO);
+            });
+            try {
+                SFTPUtil sftp = new SFTPUtil(sftpConfig.getUserName(), sftpConfig.getPassword(), sftpConfig.getHost(), sftpConfig.getPort());
+                sftp.login();
+                boolean existDir = sftp.isExistDir(ftpUrl + name);
+                if (!existDir) {
+                    String property = System.getProperty("user.dir");
+                    String fileName = property + File.separator + name;
+                    // 这里 需要指定写用哪个class去写
+                    ExcelWriter excelWriter = null;
+                    InputStream inputStream = null;
+                    try {
+                        excelWriter = EasyExcel.write(fileName, ComActReserveMakeHandleExcelAdminVO.class)
+                                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                                .registerWriteHandler(new CustomSheetWriteHandler()).build();
+                        WriteSheet writeSheet = EasyExcel.writerSheet("预约处理列表导出数据").build();
+                        excelWriter.write(resultList, writeSheet);
+                        excelWriter.finish();
+                        File file = new File(fileName);
+                        inputStream = new FileInputStream(file);
+                        sftp.uploadMore(ftpUrl, name, inputStream);
+                        sftp.logout();
+                        inputStream.close();
+                        String absolutePath = file.getAbsolutePath();
+                        boolean delete = file.delete();
+                        log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+                    } finally {
+                        // 千万别忘记finish 会帮忙关闭流
+                        if (inputStream != null) {
+                            inputStream.close();
+                        }
+                        if (excelWriter != null) {
+                            excelWriter.finish();
+                        }
+                    }
+                }
+                return R.ok(url + name);
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("文件传输失败【{}】", e.getMessage());
+                return R.fail();
+            }
+        }
+        return r;
+    }
+
+    @ApiOperation(value = "导出登记明细")
+    @GetMapping("/register/list/export")
+    public R exportRegister(@RequestParam("reserveId") Long reserveId) {
+
+        String ftpUrl = "/mnt/data/web/excel/";
+        String name = "登记明细导出数据.xlsx";
+        try {
+            SFTPUtil sftp = new SFTPUtil(sftpConfig.getUserName(), sftpConfig.getPassword(), sftpConfig.getHost(), sftpConfig.getPort());
+            sftp.login();
+            boolean existDir = sftp.isExistDir(ftpUrl + name);
+            if (!existDir) {
+                String property = System.getProperty("user.dir");
+                String fileName = property + File.separator + name;
+                ExcelWriter excelWriter = null;
+                InputStream inputStream = null;
+                try {
+                    /**
+                     * 组合导出数据
+                     * 用户问卷答案
+                     */
+                    R QuestnaireAnswersDTOR = communityService.exportRegisterAdmin(reserveId);
+                    QuestnaireAnswersDTO questnaireAnswersDTOS = JSON.parseObject(JSON.toJSONString(QuestnaireAnswersDTOR.getData()), QuestnaireAnswersDTO.class);
+
+                    List<ComActQuestnaireSubVO> subVOList = questnaireAnswersDTOS.getSubs();
+                    //构造表头
+                    List<List<String>> headList = new ArrayList<List<String>>();
+                    String firstRowContent = "调查结果";
+                    List<String> head0 = new ArrayList<>();
+                    head0.add(firstRowContent);
+                    head0.add("姓名");
+                    headList.add(head0);
+                    List<String> head1 = new ArrayList<>();
+                    head1.add(firstRowContent);
+                    head1.add("提交时间");
+                    headList.add(head1);
+                    subVOList.forEach(sub -> {
+                        List<String> headn = new ArrayList<>();
+                        headn.add(firstRowContent);
+                        headn.add(sub.getContent());
+                        headList.add(headn);
+                    });
+                    List<List<Object>> datalist = new ArrayList<>();
+
+                    List<ComActQuestnaireAnswerContentVO> answerContentVOList = questnaireAnswersDTOS.getAnswers();
+                    if(answerContentVOList!=null && answerContentVOList.size()>0) {
+                        Map<LoginUserInfoVO, LinkedHashMap<Long, List<ComActQuestnaireAnswerContentVO>>> answersMap = new HashMap<>();
+
+                        List<ComActQuestnaireAnswerContentVO> usersAnswers = questnaireAnswersDTOS.getAnswers();
+                        usersAnswers.forEach(userAnswers -> {
+                            R<LoginUserInfoVO> loginUserInfoVOR = userService.getUserInfoByUserId(userAnswers.getUserId().toString());
+                            if (R.isOk(loginUserInfoVOR)) {
+                                LoginUserInfoVO loginUserInfoVO = loginUserInfoVOR.getData();
+                                LinkedHashMap<Long, List<ComActQuestnaireAnswerContentVO>> theUserList = answersMap.get(loginUserInfoVO);
+                                if (theUserList == null) {
+                                    theUserList = new LinkedHashMap<>();
+                                    answersMap.put(loginUserInfoVO, theUserList);
+                                }
+                                /**
+                                 * 按题分类题目答案
+                                 */
+                                Long subId = userAnswers.getSubId();
+                                List<ComActQuestnaireAnswerContentVO> answerContentVOList1 = theUserList.get(subId);
+                                if(answerContentVOList1==null){
+                                    answerContentVOList1 = new ArrayList<>();
+                                    theUserList.put(subId, answerContentVOList1);
+                                }
+                                answerContentVOList1.add(userAnswers);
+                            }
+
+                        });
+                        /**
+                         * 构造导出数据
+                         */
+                        answersMap.forEach((user, answers) ->{
+                            List<Object> userData = new ArrayList<>();
+                            userData.add(user.getName());
+                            //获取提交时间
+                            Set<Long> keySet = answers.keySet();
+                            String dateStr = "";
+                            if(keySet!=null && keySet.size()>0){
+                                try {
+                                    ComActQuestnaireAnswerContentVO firstvo = answers.get(keySet.toArray()[0]).get(0);
+                                    if (firstvo != null) {
+                                        Date time = firstvo.getCreateAt();
+                                        if(time!=null) {
+                                            String sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time);
+                                            dateStr = sd;
+                                        }
+                                    }
+                                }catch (Exception e){
+                                    dateStr = "";
+                                }
+                            }
+                            userData.add(dateStr);
+                            answers.forEach((id, answer )->{
+                                StringBuilder usersAnswerContent = new StringBuilder("");
+                                answer.forEach(ans ->{
+                                    String context = (ans.getChoice()!=null?(ans.getChoice()+ "."):"")  + ans.getAnswerContent();
+                                    usersAnswerContent.append(context +"\n");
+                                });
+                                userData.add(usersAnswerContent.toString());
+                            });
+                            datalist.add(userData);
+                        });
+                    }
+
+                    WriteCellStyle headWriteCellStyle = new WriteCellStyle();
+                    WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
+
+                    contentWriteCellStyle.setWrapped(true);
+                    HorizontalCellStyleStrategy horizontalCellStyleStrategy =
+                            new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
+                    LongestMatchColumnWidthStyleStrategy longestMatchColumnWidthStyleStrategy = new LongestMatchColumnWidthStyleStrategy();
+
+                    excelWriter = EasyExcel.write(fileName, ComMngPopulationExcelVo.class)
+                            .registerWriteHandler(horizontalCellStyleStrategy)
+                            .registerWriteHandler(longestMatchColumnWidthStyleStrategy)
+                            .registerWriteHandler(new CustomSheetWriteHandler()).build();
+                    WriteSheet writeSheet = EasyExcel.writerSheet("登记明细导出数据").head(headList).build();
+                    excelWriter.write(datalist, writeSheet);
+                    excelWriter.finish();
+                    File file = new File(fileName);
+                    inputStream = new FileInputStream(file);
+                    sftp.uploadMore(ftpUrl, name, inputStream);
+                    sftp.logout();
+                    inputStream.close();
+                    String absolutePath = file.getAbsolutePath();
+                    boolean delete = file.delete();
+                    log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+                } finally {
+                    // 千万别忘记finish 会帮忙关闭流
+                    if (inputStream != null) {
+                        inputStream.close();
+                    }
+                    if (excelWriter != null) {
+                        excelWriter.finish();
+                    }
+                }
+            }
+            return R.ok(sftpConfig.getExcelUrl() + name);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("文件传输失败【{}】", e.getMessage());
+            return R.fail();
+        }
+    }
 
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java
index 619bb74..88154d4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java
@@ -1,21 +1,224 @@
 package com.panzhihua.service_community.api;
 
+import com.panzhihua.common.model.dtos.community.reserve.*;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.service_community.service.ComActReserveAnswerContentService;
+import com.panzhihua.service_community.service.ComActReserveRecordService;
 import com.panzhihua.service_community.service.ComActReserveService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 预约登记
  */
 @Slf4j
 @RestController
-@RequestMapping("/reserve")
+@RequestMapping("/reserve/")
 public class ComActReserveApi {
 
     @Resource
     private ComActReserveService comActReserveService;
+    @Resource
+    private ComActReserveRecordService comActReserveRecordService;
+    @Resource
+    private ComActReserveAnswerContentService comActReserveAnswerContentService;
 
+    /**
+     * 社区后台-分页查询预约登记列表
+     * @param pageReserveDTO    请求参数
+     * @return  预约登记列表
+     */
+    @PostMapping("/admin/page")
+    public R pageReserveAdmin(@RequestBody PageReserveAdminDTO pageReserveDTO){
+        return comActReserveService.pageReserveAdmin(pageReserveDTO);
+    }
+
+    /**
+     * 社区后台-新增预约登记信息
+     * @param addReserveDTO 请求参数
+     * @return  新增结果
+     */
+    @PostMapping("/admin/add")
+    public R addReserveAdmin(@RequestBody AddReserveAdminDTO addReserveDTO){
+        return comActReserveService.addReserveAdmin(addReserveDTO);
+    }
+
+    /**
+     * 社区后台-编辑预约登记信息
+     * @param editReserveDTO 请求参数
+     * @return  新增结果
+     */
+    @PostMapping("/admin/edit")
+    public R editReserveAdmin(@RequestBody EditReserveAdminDTO editReserveDTO){
+        return comActReserveService.editReserveAdmin(editReserveDTO);
+    }
+
+    /**
+     * 社区后台-修改预约登记状态
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    @PostMapping("/admin/edit/status")
+    public R editReserveStatusAdmin(@RequestBody EditComActReserveStatusDTO editReserveDTO){
+        return comActReserveService.editReserveStatusAdmin(editReserveDTO);
+    }
+
+    /**
+     * 社区后台-继续预约登记
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    @PostMapping("/admin/edit/info")
+    public R editReserveInfoAdmin(@RequestBody EditComActReserveInfoDTO editReserveDTO){
+        return comActReserveService.editReserveInfoAdmin(editReserveDTO);
+    }
+
+    /**
+     * 社区后台-根据预约登记id查询详情
+     * @param reserveId 预约登记id
+     * @return  预约登记详情
+     */
+    @GetMapping("/admin/detail")
+    public R detailReserveAdmin(@RequestParam("reserveId") Long reserveId){
+        return comActReserveService.detailReserveAdmin(reserveId);
+    }
+
+    /**
+     * 社区后台-根据社区id统计预约类数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    @PostMapping("/admin/make/statistics")
+    public R makeStatisticsAdmin(@RequestBody ComActReserveMakeStatisticsDTO makeStatisticsDTO){
+        return comActReserveService.makeStatisticsAdmin(makeStatisticsDTO);
+    }
+
+    /**
+     * 社区后台-查询导出预约统计汇总数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    @PostMapping("/admin/make/statistics/export")
+    public R makeStatisticsExportAdmin(@RequestBody ComActReserveMakeStatisticsDTO makeStatisticsDTO){
+        return comActReserveService.makeStatisticsExportAdmin(makeStatisticsDTO);
+    }
+
+    /**
+     * 社区后台-根据预约id查询预约明细
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细
+     */
+    @PostMapping("/admin/make/page")
+    public R pageMakeAdmin(@RequestBody PageReserveMakeAdminDTO pageMakeDTO){
+        return comActReserveRecordService.pageMakeAdmin(pageMakeDTO);
+    }
+
+    /**
+     * 根据预约记录id查询预约明细操作记录
+     * @param reserveRecordId   预约记录id
+     * @return  预约明细操作记录
+     */
+    @GetMapping("/admin/make/detail")
+    public R detailMakeAdmin(@RequestParam("reserveRecordId") Long reserveRecordId){
+        return comActReserveRecordService.detailMakeAdmin(reserveRecordId);
+    }
+
+    /**
+     * 批量取消预约记录
+     * @param reserveRecordDTO   请求参数
+     * @return  取消结果
+     */
+    @PostMapping("/admin/make/cancel")
+    public R makeCancelAdmin(@RequestBody CancelReserveRecordDTO reserveRecordDTO){
+        return comActReserveRecordService.makeCancelAdmin(reserveRecordDTO);
+    }
+
+    /**
+     * 预约明细导出数据查询
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细数据
+     */
+    @PostMapping("/admin/make/list/export")
+    public R exportMakeAdmin(@RequestBody PageReserveMakeAdminDTO pageMakeDTO){
+        return comActReserveRecordService.exportMakeAdmin(pageMakeDTO);
+    }
+
+    /**
+     * 分页查询登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    @PostMapping("/admin/register/page")
+    public R registerStatisticsAdmin(@RequestBody ComActReserveRegisterStatisticsDTO registerStatisticsDTO){
+        return comActReserveRecordService.registerStatisticsAdmin(registerStatisticsDTO);
+    }
+
+    /**
+     * 导出登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    @PostMapping("/admin/register/export")
+    public R registerStatisticsExportAdmin(@RequestBody ComActReserveRegisterStatisticsDTO registerStatisticsDTO){
+        return comActReserveRecordService.registerStatisticsExportAdmin(registerStatisticsDTO);
+    }
+
+    /**
+     * 分页查询预约处理列表
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    @PostMapping("/admin/make/handle/page")
+    public R pageMakeHandleAdmin(@RequestBody PageReserveMakeHandleAdminDTO pageMakeHandleDTO){
+        return comActReserveRecordService.pageMakeHandleAdmin(pageMakeHandleDTO);
+    }
+
+    /**
+     * 批量处理预约记录
+     * @param makeHandleDTO 请求参数
+     * @return  处理结果
+     */
+    @PostMapping("/admin/make/handle")
+    public R makeHandleAdmin(@RequestBody MakeHandleAdminDTO makeHandleDTO){
+        return comActReserveRecordService.makeHandleAdmin(makeHandleDTO);
+    }
+
+    /**
+     * 导出预约处理列表数据查询
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    @PostMapping("/admin/make/handle/export")
+    public R exportMakeHandleAdmin(@RequestBody PageReserveMakeHandleAdminDTO pageMakeHandleDTO){
+        return comActReserveRecordService.exportMakeHandleAdmin(pageMakeHandleDTO);
+    }
+
+    /**
+     * 删除预约登记信息
+     * @param reserveId 预约登记id
+     * @return  删除结果
+     */
+    @GetMapping("/admin/delete")
+    public R deleteReserveAdmin(@RequestParam("reserveId") Long reserveId){
+        return comActReserveService.deleteReserveAdmin(reserveId);
+    }
+
+    /**
+     * 查询社区所有预约信息列表
+     * @param communityId   社区id
+     * @return  预约信息列表
+     */
+    @GetMapping("/admin/list")
+    public R listReserveAdmin(@RequestParam("communityId") Long communityId){
+        return comActReserveService.listReserveAdmin(communityId);
+    }
+
+    @GetMapping("/admin/register/list/export")
+    public R exportRegisterAdmin(@RequestParam("reserveId") Long reserveId){
+        return comActReserveAnswerContentService.exportRegisterAdmin(reserveId);
+    }
 
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveAnswerContentMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveAnswerContentMapper.java
index a3b836e..f0b7443 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveAnswerContentMapper.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveAnswerContentMapper.java
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther lyq
@@ -12,4 +15,6 @@
 @Mapper
 public interface ComActReserveAnswerContentMapper extends BaseMapper<ComActReserveAnswerContentDO> {
 
+    List<ComActReserveAnswerContentDO> selectListByReserve(@Param("registerStatisticsDTO")Long reserveId);
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java
index 9086176..5f4588d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java
@@ -1,8 +1,18 @@
 package com.panzhihua.service_community.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.model.dtos.community.reserve.ComActReserveMakeStatisticsDTO;
+import com.panzhihua.common.model.dtos.community.reserve.PageReserveAdminDTO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveListAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeLeftStatisticsAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeRightStatisticsAdminVO;
 import com.panzhihua.service_community.model.dos.ComActReserveDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther lyq
@@ -12,4 +22,48 @@
 @Mapper
 public interface ComActReserveMapper extends BaseMapper<ComActReserveDO> {
 
+    /**
+     * 社区后台-分页查询预约登记列表
+     * @param pageReserveDTO    请求参数
+     * @return  预约登记列表
+     */
+    IPage<ComActReserveListAdminVO> pageReserveAdmin(Page page, @Param("pageReserveDTO") PageReserveAdminDTO pageReserveDTO);
+
+    /**
+     * 根据预约登记id删除预约登记原有题目以及题目选项
+     * @param reserveId 预约登记id
+     */
+    void deleteReserveSubAll(@Param("reserveId") Long reserveId);
+
+    /**
+     * 社区后台-根据社区id查询预约统计汇总左边数据
+     * @param communityId   社区id
+     * @return  预约统计汇总左边数据
+     */
+    List<ComActReserveMakeLeftStatisticsAdminVO> getReserveMakeLeftStatistics(@Param("communityId") Long communityId);
+
+    /**
+     * 社区后台-查询预约统计汇总右边数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  预约统计汇总右边数据
+     */
+    List<ComActReserveMakeRightStatisticsAdminVO> getReserveMakeRightStatistics(@Param("makeStatisticsDTO") ComActReserveMakeStatisticsDTO makeStatisticsDTO);
+
+    /**
+     * 社区后台-根据社区id 查询开始时间到结束时间预约成功数量
+     * @param communityId   社区id
+     * @param startTime 开始时间
+     * @param endTime   结束时间
+     * @return  预约成功数量
+     */
+    Integer getReserveRecordCount(@Param("communityId") Long communityId,@Param("startTime") String startTime,@Param("endTime") String endTime);
+
+    /**
+     * 查询社区所有预约信息列表
+     * @param communityId   社区id
+     * @return  预约信息列表
+     */
+    List<ComActReserveListAdminVO> listReserveAdmin(@Param("communityId") Long communityId);
+
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveOperationRecordMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveOperationRecordMapper.java
index 95e6e61..cf4e3d7 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveOperationRecordMapper.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveOperationRecordMapper.java
@@ -1,8 +1,12 @@
 package com.panzhihua.service_community.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeOperationAdminVO;
 import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther lyq
@@ -12,4 +16,11 @@
 @Mapper
 public interface ComActReserveOperationRecordMapper extends BaseMapper<ComActReserveOperationRecordDO> {
 
+    /**
+     * 根据预约记录id查询预约明细操作记录
+     * @param reserveRecordId   预约记录id
+     * @return  预约明细操作记录
+     */
+    List<ComActReserveMakeOperationAdminVO> getMakeOperationList(@Param("reserveRecordId") Long reserveRecordId);
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java
index 19fabd3..a8df52d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java
@@ -1,8 +1,20 @@
 package com.panzhihua.service_community.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.model.dtos.community.reserve.ComActReserveRegisterStatisticsDTO;
+import com.panzhihua.common.model.dtos.community.reserve.PageReserveMakeAdminDTO;
+import com.panzhihua.common.model.dtos.community.reserve.PageReserveMakeHandleAdminDTO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeDetailAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeHandleListAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeListAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterStatisticsAdminVO;
 import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther lyq
@@ -12,4 +24,73 @@
 @Mapper
 public interface ComActReserveRecordMapper extends BaseMapper<ComActReserveRecordDO> {
 
+    /**
+     * 社区后台-根据预约id查询预约明细
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细
+     */
+    IPage<ComActReserveMakeListAdminVO> pageMakeAdmin(Page page, @Param("pageMakeDTO") PageReserveMakeAdminDTO pageMakeDTO);
+
+    /**
+     * 根据预约记录id查询预约记录详细信息
+     * @param reserveRecordId   预约记录id
+     * @return  预约记录详细信息
+     */
+    ComActReserveMakeDetailAdminVO getMakeDetailAdmin(@Param("reserveRecordId") Long reserveRecordId);
+
+    /**
+     * 查询预约记录id集合中是否存在未预约成功的记录
+     * @param ids   预约记录id集合
+     * @return  未预约成功记录的数量
+     */
+    Integer getReserveStatusById(@Param("ids") List<Long> ids);
+
+    /**
+     * 修改预约记录id集合的预约状态为已取消
+     * @param ids   预约记录id集合
+     * @return  修改结果
+     */
+    Integer editReserveStatusById(@Param("ids") List<Long> ids);
+
+    /**
+     * 预约明细导出数据查询
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细数据
+     */
+    List<ComActReserveMakeListAdminVO> exportMakeAdmin(@Param("pageMakeDTO") PageReserveMakeAdminDTO pageMakeDTO);
+
+    /**
+     * 分页查询登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    IPage<ComActReserveRegisterStatisticsAdminVO> registerStatisticsAdmin(Page page, @Param("registerStatisticsDTO") ComActReserveRegisterStatisticsDTO registerStatisticsDTO);
+
+    /**
+     * 导出登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    List<ComActReserveRegisterStatisticsAdminVO> registerStatisticsExportAdmin(@Param("registerStatisticsDTO") ComActReserveRegisterStatisticsDTO registerStatisticsDTO);
+
+    /**
+     * 分页查询预约处理列表
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    IPage<ComActReserveMakeHandleListAdminVO> pageMakeHandleAdmin(Page page, @Param("pageMakeHandleDTO") PageReserveMakeHandleAdminDTO pageMakeHandleDTO);
+
+    /**
+     * 查询指定预约记录是否存在不是待处理状态的数据
+     * @param ids   预约记录id集合
+     * @return  不是待处理状态数据条数
+     */
+    Integer getReserveListCountByIds(@Param("ids")List<Long> ids);
+
+    /**
+     * 导出预约处理列表数据查询
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    List<ComActReserveMakeHandleListAdminVO> exportMakeHandleAdmin(@Param("pageMakeHandleDTO") PageReserveMakeHandleAdminDTO pageMakeHandleDTO);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveSubMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveSubMapper.java
index 6a4bf5d..e09c4ae 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveSubMapper.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveSubMapper.java
@@ -1,8 +1,12 @@
 package com.panzhihua.service_community.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO;
 import com.panzhihua.service_community.model.dos.ComActReserveSubDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther lyq
@@ -12,4 +16,6 @@
 @Mapper
 public interface ComActReserveSubMapper extends BaseMapper<ComActReserveSubDO> {
 
+
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubDO.java
index 481f97f..1fa7b94 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubDO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubDO.java
@@ -19,7 +19,7 @@
     @TableId(type= IdType.AUTO)
     private Long id;
     /**
-     * 类型 0单选1多选2问答题
+     * 类型 0 单选  1 多选 2 输入框 2姓名输入框 3 手机号 4 身份证 5 文字描述 6 日期选择
      */
     private int type;
     /**
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java
index 44400de..1124bfa 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java
@@ -1,8 +1,6 @@
 package com.panzhihua.service_community.model.dos;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -122,6 +120,34 @@
      */
     private Long updateBy;
 
+    /**
+     * 结束时间
+     */
+    @TableField(value = "end_time", updateStrategy  = FieldStrategy.IGNORED)
+    private Date endTime;
+
+    /**
+     * 是否已删除(1.是 2.否)
+     */
+    private Integer isDel;
+
+    /**
+     * 默认是否枚举(1.是 2.否)
+     */
+    public interface isOk{
+        int yes = 1;
+        int no = 2;
+    }
+
+    /**
+     * 预约登记状态枚举(1.待发布 2.进行中 3.已停止)
+     */
+    public interface status{
+        int dfb = 1;
+        int jxz = 2;
+        int ytz = 3;
+    }
+
     @Override
     public String toString() {
         return "ComActReserveDO{" +
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java
index 978e162..2c44343 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java
@@ -82,6 +82,24 @@
      */
     private Long createBy;
 
+    /**
+     * 类型(1.本人操作 2.社区操作)
+     */
+    public interface type{
+        int br = 1;
+        int sq = 2;
+    }
+
+    /**
+     * 状态(1.提交 2.预约成功 3.预约失败 4.取消)
+     */
+    public interface status{
+        int tj = 1;
+        int yycg = 2;
+        int yysb = 3;
+        int qx = 4;
+    }
+
     @Override
     public String toString() {
         return "ComActReserveOperationRecordDO{" +
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java
index c2d833c..f3b1edd 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java
@@ -107,6 +107,16 @@
      */
     private Long updateBy;
 
+    /**
+     * 状态(1.待处理 2.预约成功 3.预约失败 4.已取消)
+     */
+    public interface status{
+        int dcl = 1;
+        int yycg = 2;
+        int yysb = 3;
+        int yqx = 4;
+    }
+
     @Override
     public String toString() {
         return "ComActReserveRecordDO{" +
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java
index a3a048d..85018fb 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java
@@ -1,6 +1,7 @@
 package com.panzhihua.service_community.model.dos;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -38,13 +39,14 @@
     private Integer sort;
 
     /**
-     * 类型 0单选1多选2问答题
+     * 类型 0 单选  1 多选 2 输入框 2姓名输入框 3 手机号 4 身份证 5 文字描述 6 日期选择
      */
     private Integer type;
 
     /**
      * 问卷调查题目key
      */
+    @TableField("`key`")
     private String key;
 
     /**
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java
index 3c405f7..dacedce 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java
@@ -1,6 +1,7 @@
 package com.panzhihua.service_community.model.dos;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -40,6 +41,7 @@
     /**
      * 预约登记选项key
      */
+    @TableField("`key`")
     private String key;
 
     /**
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveAnswerContentService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveAnswerContentService.java
index 2da1129..29b0fbf 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveAnswerContentService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveAnswerContentService.java
@@ -1,6 +1,7 @@
 package com.panzhihua.service_community.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.vos.R;
 import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO;
 
 /**
@@ -10,4 +11,6 @@
  */
 public interface ComActReserveAnswerContentService extends IService<ComActReserveAnswerContentDO> {
 
+    R exportRegisterAdmin(Long reserveId);
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java
index 94780ea..7096b29 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java
@@ -1,7 +1,11 @@
 package com.panzhihua.service_community.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.dtos.community.reserve.*;
+import com.panzhihua.common.model.vos.R;
 import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
+
+import java.util.List;
 
 /**
  * @auther lyq
@@ -10,4 +14,67 @@
  */
 public interface ComActReserveRecordService extends IService<ComActReserveRecordDO> {
 
+    /**
+     * 社区后台-根据预约id查询预约明细
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细
+     */
+    R pageMakeAdmin(PageReserveMakeAdminDTO pageMakeDTO);
+
+    /**
+     * 根据预约记录id查询预约明细操作记录
+     * @param reserveRecordId   预约记录id
+     * @return  预约明细操作记录
+     */
+    R detailMakeAdmin(Long reserveRecordId);
+
+    /**
+     * 批量取消预约记录
+     * @param reserveRecordDTO   请求参数
+     * @return  取消结果
+     */
+    R makeCancelAdmin(CancelReserveRecordDTO reserveRecordDTO);
+
+    /**
+     * 预约明细导出数据查询
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细数据
+     */
+    R exportMakeAdmin(PageReserveMakeAdminDTO pageMakeDTO);
+
+    /**
+     * 分页查询登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    R registerStatisticsAdmin(ComActReserveRegisterStatisticsDTO registerStatisticsDTO);
+
+    /**
+     * 导出登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    R registerStatisticsExportAdmin(ComActReserveRegisterStatisticsDTO registerStatisticsDTO);
+
+    /**
+     * 分页查询预约处理列表
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    R pageMakeHandleAdmin(PageReserveMakeHandleAdminDTO pageMakeHandleDTO);
+
+    /**
+     * 批量处理预约记录
+     * @param makeHandleDTO 请求参数
+     * @return  处理结果
+     */
+    R makeHandleAdmin(MakeHandleAdminDTO makeHandleDTO);
+
+    /**
+     * 导出预约处理列表数据查询
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    R exportMakeHandleAdmin(PageReserveMakeHandleAdminDTO pageMakeHandleDTO);
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java
index a56edd0..03e75b3 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java
@@ -1,6 +1,8 @@
 package com.panzhihua.service_community.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.dtos.community.reserve.*;
+import com.panzhihua.common.model.vos.R;
 import com.panzhihua.service_community.model.dos.ComActReserveDO;
 
 /**
@@ -10,4 +12,74 @@
  */
 public interface ComActReserveService extends IService<ComActReserveDO> {
 
+    /**
+     * 社区后台-分页查询预约登记列表
+     * @param pageReserveDTO    请求参数
+     * @return  预约登记列表
+     */
+    R pageReserveAdmin(PageReserveAdminDTO pageReserveDTO);
+
+    /**
+     * 社区后台-新增预约登记信息
+     * @param addReserveDTO 请求参数
+     * @return  新增结果
+     */
+    R addReserveAdmin(AddReserveAdminDTO addReserveDTO);
+
+    /**
+     * 社区后台-编辑预约登记信息
+     * @param editReserveDTO 请求参数
+     * @return  新增结果
+     */
+    R editReserveAdmin(EditReserveAdminDTO editReserveDTO);
+
+    /**
+     * 社区后台-修改预约登记状态
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    R editReserveStatusAdmin(EditComActReserveStatusDTO editReserveDTO);
+
+    /**
+     * 社区后台-继续预约登记
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    R editReserveInfoAdmin(EditComActReserveInfoDTO editReserveDTO);
+
+    /**
+     * 社区后台-根据预约登记id查询详情
+     * @param reserveId 预约登记id
+     * @return  预约登记详情
+     */
+    R detailReserveAdmin(Long reserveId);
+
+    /**
+     * 社区后台-根据社区id统计预约类数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    R makeStatisticsAdmin(ComActReserveMakeStatisticsDTO makeStatisticsDTO);
+
+    /**
+     * 社区后台-查询导出预约统计汇总数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    R makeStatisticsExportAdmin(ComActReserveMakeStatisticsDTO makeStatisticsDTO);
+
+    /**
+     * 删除预约登记信息
+     * @param reserveId 预约登记id
+     * @return  删除结果
+     */
+    R deleteReserveAdmin(Long reserveId);
+
+    /**
+     * 查询社区所有预约信息列表
+     * @param communityId   社区id
+     * @return  预约信息列表
+     */
+    R listReserveAdmin(Long communityId);
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java
index dc38ae9..bf9c17c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java
@@ -1,11 +1,26 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.QuestnaireAnswersDTO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO;
+import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO;
 import com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper;
+import com.panzhihua.service_community.dao.ComActReserveSubMapper;
+import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO;
+import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO;
 import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO;
+import com.panzhihua.service_community.model.dos.ComActReserveSubDO;
 import com.panzhihua.service_community.service.ComActReserveAnswerContentService;
+import com.panzhihua.service_community.service.ComActReserveSubService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @auther lyq
@@ -16,4 +31,32 @@
 @Service
 public class ComActReserveAnswerContentServiceImpl extends ServiceImpl<ComActReserveAnswerContentMapper, ComActReserveAnswerContentDO> implements ComActReserveAnswerContentService {
 
+    @Resource
+    private ComActReserveSubMapper comActReserveSubMapper;
+
+    @Override
+    public R exportRegisterAdmin(Long reserveId){
+        QuestnaireAnswersDTO result = new QuestnaireAnswersDTO();
+
+        //查询题目
+        List<ComActReserveSubDO> list = comActReserveSubMapper.selectList(new QueryWrapper<ComActReserveSubDO>().lambda().eq(ComActReserveSubDO::getReserveId, reserveId));
+        List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>();
+        list.forEach(subDo -> {
+            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
+            BeanUtils.copyProperties(subDo, comActQuestnaireSubVO);
+            listSubVo.add(comActQuestnaireSubVO);
+        });
+        result.setSubs(listSubVo);
+
+        //查询用户回答
+        List<ComActReserveAnswerContentDO> questnaireAnswerContentDOList = this.baseMapper.selectListByReserve(reserveId);
+        List<ComActQuestnaireAnswerContentVO> vos = new ArrayList<>();
+        questnaireAnswerContentDOList.forEach(dos -> {
+            ComActQuestnaireAnswerContentVO vo = new ComActQuestnaireAnswerContentVO();
+            BeanUtils.copyProperties(dos, vo);
+            vos.add(vo);
+        });
+        result.setAnswers(vos);
+        return R.ok(result);
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
index 4fc2491..a8f2b20 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
@@ -1,11 +1,30 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.reserve.*;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeDetailAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeOperationAdminVO;
+import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterStatisticsAdminVO;
+import com.panzhihua.common.utlis.DateUtils;
+import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper;
 import com.panzhihua.service_community.dao.ComActReserveRecordMapper;
+import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO;
 import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
+import com.panzhihua.service_community.service.ComActReserveOperationRecordService;
 import com.panzhihua.service_community.service.ComActReserveRecordService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @auther lyq
@@ -16,4 +35,181 @@
 @Service
 public class ComActReserveRecordServiceImpl extends ServiceImpl<ComActReserveRecordMapper, ComActReserveRecordDO> implements ComActReserveRecordService {
 
+    @Resource
+    private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper;
+    @Resource
+    private ComActReserveRecordMapper comActReserveRecordMapper;
+    @Resource
+    private ComActReserveOperationRecordService comActReserveOperationRecordService;
+
+    /**
+     * 社区后台-根据预约id查询预约明细
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细
+     */
+    @Override
+    public R pageMakeAdmin(PageReserveMakeAdminDTO pageMakeDTO){
+        return R.ok(this.baseMapper.pageMakeAdmin(new Page(pageMakeDTO.getPageNum(),pageMakeDTO.getPageSize()),pageMakeDTO));
+    }
+
+    /**
+     * 根据预约记录id查询预约明细操作记录
+     * @param reserveRecordId   预约记录id
+     * @return  预约明细操作记录
+     */
+    @Override
+    public R detailMakeAdmin(Long reserveRecordId){
+        ComActReserveMakeDetailAdminVO makeDetailAdminVO = this.baseMapper.getMakeDetailAdmin(reserveRecordId);
+        if(makeDetailAdminVO != null){
+            //查询预约明细操作记录
+            List<ComActReserveMakeOperationAdminVO> makeOperationList = comActReserveOperationRecordMapper.getMakeOperationList(reserveRecordId);
+            makeDetailAdminVO.setOperationList(makeOperationList);
+        }
+        return R.ok(makeDetailAdminVO);
+    }
+
+    /**
+     * 批量取消预约记录
+     * @param reserveRecordDTO   请求参数
+     * @return  取消结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R makeCancelAdmin(CancelReserveRecordDTO reserveRecordDTO){
+        Integer count = this.baseMapper.getReserveStatusById(reserveRecordDTO.getIds());
+        if(count > 0){
+            return R.ok("您选择的记录中存在未预约成功,不可进行批量取消");
+        }
+        if(this.baseMapper.editReserveStatusById(reserveRecordDTO.getIds()) > 0){
+            Long userId = reserveRecordDTO.getUserId();
+            reserveRecordDTO.getIds().forEach(id -> {
+                ComActReserveRecordDO reserveRecordDO = comActReserveRecordMapper.selectById(id);
+                if(reserveRecordDO != null){
+                    //添加操作记录
+                    comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
+                            ,reserveRecordDO.getId(),reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
+                            ,"社区管理员取消预约",reserveRecordDTO.getRemark(),ComActReserveOperationRecordDO.status.qx,userId);
+                }
+            });
+            return R.ok();
+        }else{
+            return R.fail();
+        }
+    }
+
+    /**
+     * 预约明细导出数据查询
+     * @param pageMakeDTO   请求参数
+     * @return  预约明细数据
+     */
+    @Override
+    public R exportMakeAdmin(PageReserveMakeAdminDTO pageMakeDTO){
+        return R.ok(this.baseMapper.exportMakeAdmin(pageMakeDTO));
+    }
+
+    /**
+     * 分页查询登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    @Override
+    public R registerStatisticsAdmin(ComActReserveRegisterStatisticsDTO registerStatisticsDTO){
+        IPage<ComActReserveRegisterStatisticsAdminVO> registerStatisticsList = this.baseMapper.registerStatisticsAdmin(new Page(registerStatisticsDTO.getPageNum()
+                ,registerStatisticsDTO.getPageSize()),registerStatisticsDTO);
+        registerStatisticsList.getRecords().forEach(registerStatistics -> {
+            BigDecimal tag = BigDecimal.ZERO;
+            if(registerStatistics.getAllCount() > 0){
+                tag = BigDecimal.valueOf(registerStatistics.getCount()).divide(BigDecimal.valueOf(registerStatistics.getAllCount()),4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
+            }
+            registerStatistics.setTag(tag);
+        });
+        return R.ok(registerStatisticsList.getRecords());
+    }
+
+    /**
+     * 导出登记统计汇总
+     * @param registerStatisticsDTO 请求参数
+     * @return  登记统计汇总
+     */
+    @Override
+    public R registerStatisticsExportAdmin(ComActReserveRegisterStatisticsDTO registerStatisticsDTO){
+        List<ComActReserveRegisterStatisticsAdminVO> registerStatisticsList = this.baseMapper.registerStatisticsExportAdmin(registerStatisticsDTO);
+        registerStatisticsList.forEach(registerStatistics -> {
+            BigDecimal tag = BigDecimal.ZERO;
+            if(registerStatistics.getAllCount() > 0){
+                tag = BigDecimal.valueOf(registerStatistics.getCount()).divide(BigDecimal.valueOf(registerStatistics.getAllCount()),4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
+            }
+            registerStatistics.setTag(tag);
+        });
+        return R.ok(registerStatisticsList);
+    }
+
+    /**
+     * 分页查询预约处理列表
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    @Override
+    public R pageMakeHandleAdmin(PageReserveMakeHandleAdminDTO pageMakeHandleDTO){
+        return R.ok(this.baseMapper.pageMakeHandleAdmin(new Page(pageMakeHandleDTO.getPageNum(),pageMakeHandleDTO.getPageSize()),pageMakeHandleDTO));
+    }
+
+    /**
+     * 批量处理预约记录
+     * @param makeHandleDTO 请求参数
+     * @return  处理结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R makeHandleAdmin(MakeHandleAdminDTO makeHandleDTO){
+        if(makeHandleDTO.getIds() == null || makeHandleDTO.getIds().isEmpty()){
+            return R.fail("请勾选预约记录");
+        }
+        //判断选中的所有记录是否都是待处理记录
+        if(this.baseMapper.getReserveListCountByIds(makeHandleDTO.getIds()) > 0){
+            return R.fail("您勾选的记录中存在不是待处理状态的记录,请核对后再进行处理");
+        }
+        Date nowDate = new Date();
+        Long userId = makeHandleDTO.getUserId();
+        String remark = makeHandleDTO.getRemark();
+        List<ComActReserveRecordDO> updateList = new ArrayList<>();
+        makeHandleDTO.getIds().forEach(id -> {
+            ComActReserveRecordDO reserveRecordDO = this.baseMapper.selectById(id);
+            if(reserveRecordDO != null){
+                //判断处理是否通过
+                if(makeHandleDTO.getIsOk().equals(MakeHandleAdminDTO.isOk.yes)){
+                    reserveRecordDO.setStatus(ComActReserveRecordDO.status.yycg);
+                    comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
+                            ,id,reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
+                            ,"社区管理员处理预约成功",remark,ComActReserveOperationRecordDO.status.yycg,userId);
+                }else if(makeHandleDTO.getIsOk().equals(MakeHandleAdminDTO.isOk.no)){
+                    reserveRecordDO.setStatus(ComActReserveRecordDO.status.yysb);
+                    comActReserveOperationRecordService.addReserveOperationRecord(reserveRecordDO.getReserveId()
+                            ,id,reserveRecordDO.getUserId(),ComActReserveOperationRecordDO.type.sq,null
+                            ,"社区管理员处理预约失败",remark,ComActReserveOperationRecordDO.status.yysb,userId);
+                }
+                reserveRecordDO.setActRemark(remark);
+                reserveRecordDO.setReserveTime(DateUtils.stringToDate(makeHandleDTO.getMakeTime(),DateUtils.ymdhms_format));
+                reserveRecordDO.setUpdateAt(nowDate);
+                reserveRecordDO.setUpdateBy(userId);
+                updateList.add(reserveRecordDO);
+            }
+        });
+
+        if(!updateList.isEmpty()){
+            this.updateBatchById(updateList);
+        }
+        return R.ok();
+    }
+
+    /**
+     * 导出预约处理列表数据查询
+     * @param pageMakeHandleDTO 请求参数
+     * @return  预约处理列表
+     */
+    @Override
+    public R exportMakeHandleAdmin(PageReserveMakeHandleAdminDTO pageMakeHandleDTO){
+        return R.ok(this.baseMapper.exportMakeHandleAdmin(pageMakeHandleDTO));
+    }
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
index c11c7de..69e6e72 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
@@ -1,11 +1,32 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
+import com.panzhihua.common.model.dtos.community.reserve.*;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubSelectionVO;
+import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO;
+import com.panzhihua.common.model.vos.community.reserve.*;
+import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.service_community.dao.ComActReserveMapper;
-import com.panzhihua.service_community.model.dos.ComActReserveDO;
+import com.panzhihua.service_community.dao.ComActReserveSubMapper;
+import com.panzhihua.service_community.model.dos.*;
 import com.panzhihua.service_community.service.ComActReserveService;
+import com.panzhihua.service_community.service.ComActReserveSubSelectionService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @auther lyq
@@ -16,4 +37,346 @@
 @Service
 public class ComActReserveServiceImpl extends ServiceImpl<ComActReserveMapper, ComActReserveDO> implements ComActReserveService {
 
+    @Resource
+    private ComActReserveSubMapper comActReserveSubMapper;
+    @Resource
+    private ComActReserveSubSelectionService comActReserveSubSelectionService;
+
+    /**
+     * 社区后台-分页查询预约登记列表
+     * @param pageReserveDTO    请求参数
+     * @return  预约登记列表
+     */
+    @Override
+    public R pageReserveAdmin(PageReserveAdminDTO pageReserveDTO){
+        IPage<ComActReserveListAdminVO> reservePage = this.baseMapper.pageReserveAdmin(new Page(pageReserveDTO.getPageNum(),pageReserveDTO.getPageSize()),pageReserveDTO);
+        reservePage.getRecords().forEach(reserve -> {
+            //判断广告位置
+            StringBuilder sb = new StringBuilder();
+            if(reserve.getAdverPositionTop().equals(ComActQuestnaireDO.isOk.yes)){
+                sb.append("首页顶部,");
+            }
+            if(reserve.getAdverPositionApplication().equals(ComActQuestnaireDO.isOk.yes)){
+                sb.append("首页应用,");
+            }
+            String advertPosition = sb.toString();
+            if(advertPosition.length() > 0){
+                reserve.setAdvertPosition(advertPosition.substring(0,advertPosition.length()-1));
+            }else{
+                reserve.setAdvertPosition("无");
+            }
+        });
+        return R.ok(reservePage);
+    }
+
+    /**
+     * 社区后台-新增预约登记信息
+     * @param addReserveDTO 请求参数
+     * @return  新增结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R addReserveAdmin(AddReserveAdminDTO addReserveDTO){
+        Date nowDate = new Date();
+        Long userId = addReserveDTO.getUserId();
+        //新增预约登记信息
+        ComActReserveDO reserveDO = new ComActReserveDO();
+        BeanUtils.copyProperties(addReserveDTO,reserveDO);
+        reserveDO.setStatus(ComActReserveDO.status.dfb);
+        reserveDO.setCreateAt(nowDate);
+        reserveDO.setCreateBy(userId);
+
+        if(addReserveDTO.getIsPublish().equals(ComActReserveDO.isOk.yes)){
+            reserveDO.setStatus(ComActReserveDO.status.jxz);
+            reserveDO.setPublishTime(nowDate);
+        }
+        this.baseMapper.insert(reserveDO);
+
+        //根据上传的json数据录入选项以及题目到数据库
+        if(StringUtils.isEmpty(addReserveDTO.getJsonObject())){
+            return R.fail("组件json数据为空,录入失败");
+        }
+        List<QuestnaiteSubVO> reserveSubVOS = JSON.parseArray(addReserveDTO.getJsonObject(),QuestnaiteSubVO.class);
+        reserveSubVOS.forEach(reserveSub -> {
+            ComActReserveSubDO comActReserveSubDO = new ComActReserveSubDO();
+            comActReserveSubDO.setType(reserveSub.getType());
+            comActReserveSubDO.setContent(reserveSub.getLabel());
+            comActReserveSubDO.setSort(reserveSub.getSort());
+            comActReserveSubDO.setReserveId(reserveDO.getId());
+            comActReserveSubDO.setCreateBy(userId);
+            comActReserveSubDO.setCreateAt(nowDate);
+            comActReserveSubDO.setKey(reserveSub.getKey());
+            comActReserveSubMapper.insert(comActReserveSubDO);
+
+            ArrayList<ComActReserveSubSelectionDO> subSelectionList = Lists.newArrayList();
+            if(reserveSub.getOptions() != null && !reserveSub.getOptions().isEmpty()) {
+                List<QuestnaiteSubSelectionVO> subOptions = reserveSub.getOptions();
+                for(int i=0; i<subOptions.size(); i++){
+                    QuestnaiteSubSelectionVO subSelect = subOptions.get(i);
+                    ComActReserveSubSelectionDO subSelectionDO = new ComActReserveSubSelectionDO();
+                    subSelectionDO.setReserveSubId(comActReserveSubDO.getId());
+                    if(subSelect.getType().equals(1)){
+                        //添加选项名称
+                        subSelectionDO.setOptionName(subSelect.getOptionName());
+                    }else {
+                        subSelectionDO.setOptionName(String.valueOf(Character.toChars('A' + i)));
+                    }
+                    subSelectionDO.setContent(subSelect.getLabel());
+                    subSelectionDO.setReserveId(reserveDO.getId());
+                    subSelectionDO.setCreateBy(userId);
+                    subSelectionDO.setCreateAt(nowDate);
+                    subSelectionDO.setType(subSelect.getType());
+                    subSelectionDO.setKey(subSelect.getKey());
+                    subSelectionList.add(subSelectionDO);
+                }
+            }
+            comActReserveSubSelectionService.saveBatch(subSelectionList);
+        });
+
+        return R.ok();
+    }
+
+    /**
+     * 社区后台-编辑预约登记信息
+     * @param editReserveDTO 请求参数
+     * @return  新增结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R editReserveAdmin(EditReserveAdminDTO editReserveDTO){
+        Date nowDate = new Date();
+        Long userId = editReserveDTO.getUserId();
+        Long reserveId = editReserveDTO.getId();
+        //查询预约登记信息
+        ComActReserveDO reserveDO = this.baseMapper.selectById(reserveId);
+        if(reserveDO == null){
+            return R.fail("未查询到预约登记记录");
+        }
+        if(!reserveDO.getStatus().equals(ComActReserveDO.status.dfb)){
+            return R.fail("不可修改不是待发布状态的预约登记记录");
+        }
+        BeanUtils.copyProperties(editReserveDTO,reserveDO);
+        reserveDO.setStatus(ComActReserveDO.status.dfb);
+        reserveDO.setUpdateAt(nowDate);
+        reserveDO.setUpdateBy(userId);
+        if(editReserveDTO.getIsPublish().equals(ComActReserveDO.isOk.yes)){
+            reserveDO.setStatus(ComActReserveDO.status.jxz);
+            reserveDO.setPublishTime(nowDate);
+        }
+        this.baseMapper.updateById(reserveDO);
+
+        //根据上传的json数据录入选项以及题目到数据库
+        if(StringUtils.isEmpty(editReserveDTO.getJsonObject())){
+            return R.fail("组件json数据为空,录入失败");
+        }
+
+        //清除原来预约登记题目以及题目选项
+        this.baseMapper.deleteReserveSubAll(reserveId);
+        //清除原有的,添加更新的
+        List<QuestnaiteSubVO> reserveSubVOS = JSON.parseArray(editReserveDTO.getJsonObject(),QuestnaiteSubVO.class);
+        if(reserveSubVOS.isEmpty()){
+            return R.fail("组件json数据为空,录入失败");
+        }
+        reserveSubVOS.forEach(reserveSub -> {
+            ComActReserveSubDO comActReserveSubDO = new ComActReserveSubDO();
+            comActReserveSubDO.setType(reserveSub.getType());
+            comActReserveSubDO.setContent(reserveSub.getLabel());
+            comActReserveSubDO.setSort(reserveSub.getSort());
+            comActReserveSubDO.setReserveId(reserveDO.getId());
+            comActReserveSubDO.setCreateBy(userId);
+            comActReserveSubDO.setCreateAt(nowDate);
+            comActReserveSubDO.setKey(reserveSub.getKey());
+            comActReserveSubMapper.insert(comActReserveSubDO);
+
+            ArrayList<ComActReserveSubSelectionDO> subSelectionList = Lists.newArrayList();
+            if(reserveSub.getOptions() != null && !reserveSub.getOptions().isEmpty()) {
+                List<QuestnaiteSubSelectionVO> subOptions = reserveSub.getOptions();
+                for(int i=0; i<subOptions.size(); i++){
+                    QuestnaiteSubSelectionVO subSelect = subOptions.get(i);
+                    ComActReserveSubSelectionDO subSelectionDO = new ComActReserveSubSelectionDO();
+                    subSelectionDO.setReserveSubId(comActReserveSubDO.getId());
+                    if(subSelect.getType().equals(1)){
+                        //添加选项名称
+                        subSelectionDO.setOptionName(subSelect.getOptionName());
+                    }else {
+                        subSelectionDO.setOptionName(String.valueOf(Character.toChars('A' + i)));
+                    }
+                    subSelectionDO.setContent(subSelect.getLabel());
+                    subSelectionDO.setReserveId(reserveDO.getId());
+                    subSelectionDO.setCreateBy(userId);
+                    subSelectionDO.setCreateAt(nowDate);
+                    subSelectionDO.setType(subSelect.getType());
+                    subSelectionDO.setKey(subSelect.getKey());
+                    subSelectionList.add(subSelectionDO);
+                }
+            }
+            comActReserveSubSelectionService.saveBatch(subSelectionList);
+        });
+        return R.ok();
+    }
+
+    /**
+     * 社区后台-修改预约登记状态
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    @Override
+    public R editReserveStatusAdmin(EditComActReserveStatusDTO editReserveDTO){
+        Date nowDate = new Date();
+        Long userId = editReserveDTO.getUserId();
+        Long reserveId = editReserveDTO.getId();
+        //查询预约登记信息
+        ComActReserveDO reserveDO = this.baseMapper.selectById(reserveId);
+        if(reserveDO == null){
+            return R.fail("未查询到预约登记记录");
+        }
+
+        if(editReserveDTO.getType().equals(EditComActReserveStatusDTO.type.tz)){
+            reserveDO.setStatus(ComActReserveDO.status.ytz);
+            reserveDO.setEndTime(nowDate);
+        }else if(editReserveDTO.getType().equals(EditComActReserveStatusDTO.type.fb)){
+            reserveDO.setStatus(ComActReserveDO.status.jxz);
+            reserveDO.setPublishTime(nowDate);
+        }
+        reserveDO.setUpdateBy(userId);
+        reserveDO.setUpdateAt(nowDate);
+        if(this.baseMapper.updateById(reserveDO) > 0){
+            return R.ok();
+        }else{
+            return R.fail();
+        }
+    }
+
+    /**
+     * 社区后台-继续预约登记
+     * @param editReserveDTO    请求参数
+     * @return  修改结果
+     */
+    @Override
+    public R editReserveInfoAdmin(EditComActReserveInfoDTO editReserveDTO){
+        Date nowDate = new Date();
+        Long userId = editReserveDTO.getUserId();
+        Long reserveId = editReserveDTO.getId();
+        //查询预约登记信息
+        ComActReserveDO reserveDO = this.baseMapper.selectById(reserveId);
+        if(reserveDO == null){
+            return R.fail("未查询到预约登记记录");
+        }
+        BeanUtils.copyProperties(editReserveDTO,reserveDO);
+        reserveDO.setStatus(ComActReserveDO.status.jxz);
+        reserveDO.setUpdateAt(nowDate);
+        reserveDO.setUpdateBy(userId);
+        reserveDO.setEndTime(null);
+        if(this.baseMapper.updateById(reserveDO) > 0){
+            return R.ok();
+        }else{
+            return R.fail();
+        }
+    }
+
+    /**
+     * 社区后台-根据预约登记id查询详情
+     * @param reserveId 预约登记id
+     * @return  预约登记详情
+     */
+    @Override
+    public R detailReserveAdmin(Long reserveId){
+        ComActReserveDetailAdminVO reserveDetailAdminVO = new ComActReserveDetailAdminVO();
+        //查询预约登记信息
+        ComActReserveDO reserveDO = this.baseMapper.selectById(reserveId);
+        BeanUtils.copyProperties(reserveDO,reserveDetailAdminVO);
+        return R.ok(reserveDetailAdminVO);
+    }
+
+    /**
+     * 社区后台-根据社区id统计预约类数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    @Override
+    public R makeStatisticsAdmin(ComActReserveMakeStatisticsDTO makeStatisticsDTO){
+        Long communityId = makeStatisticsDTO.getCommunityId();
+        ComActReserveMakeStatisticsAdminVO makeStatisticsAdminVO = new ComActReserveMakeStatisticsAdminVO();
+        //查询预约登记统计汇总左边数据
+        List<ComActReserveMakeLeftStatisticsAdminVO> leftStatisticsList = this.baseMapper.getReserveMakeLeftStatistics(communityId);
+        if(!leftStatisticsList.isEmpty()){
+            makeStatisticsAdminVO.setLeftStatisticsList(leftStatisticsList);
+        }
+
+        //查询预约登记统计汇总右边数据
+        List<ComActReserveMakeRightStatisticsAdminVO> rightStatisticsList = getRightStatisticsList(makeStatisticsDTO);
+        if(!rightStatisticsList.isEmpty()){
+            makeStatisticsAdminVO.setRightStatisticsList(rightStatisticsList);
+        }
+        return R.ok(makeStatisticsAdminVO);
+    }
+
+    /**
+     * 社区后台-查询预约统计汇总右边数据
+     * @param makeStatisticsDTO 请求参数
+     * @return  预约统计汇总右边数据
+     */
+    private List<ComActReserveMakeRightStatisticsAdminVO> getRightStatisticsList(ComActReserveMakeStatisticsDTO makeStatisticsDTO){
+        Long communityId = makeStatisticsDTO.getCommunityId();
+        //查询预约登记统计汇总右边数据
+        List<ComActReserveMakeRightStatisticsAdminVO> rightStatisticsList = this.baseMapper.getReserveMakeRightStatistics(makeStatisticsDTO);
+        if(!rightStatisticsList.isEmpty()){
+            rightStatisticsList.forEach(rightStatistics -> {
+                String date = rightStatistics.getReserveTime();
+                Integer count = this.baseMapper.getReserveRecordCount(communityId,date + " 00:00:00",date + " 23:59:59");
+                rightStatistics.setAllCount(count);
+
+                //计算百分比
+                BigDecimal tag = BigDecimal.ZERO;
+                if(count >= 0){
+                    tag = BigDecimal.valueOf(rightStatistics.getCount()).divide(BigDecimal.valueOf(count),2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
+                }
+                rightStatistics.setTag(tag);
+            });
+        }
+        return rightStatisticsList;
+    }
+
+    /**
+     * 社区后台-查询导出预约统计汇总数据
+     * @param makeStatisticsDTO   请求参数
+     * @return  统计预约类数据
+     */
+    @Override
+    public R makeStatisticsExportAdmin(ComActReserveMakeStatisticsDTO makeStatisticsDTO){
+        return R.ok(getRightStatisticsList(makeStatisticsDTO));
+    }
+
+    /**
+     * 删除预约登记信息
+     * @param reserveId 预约登记id
+     * @return  删除结果
+     */
+    @Override
+    public R deleteReserveAdmin(Long reserveId){
+        //查询预约登记信息
+        ComActReserveDO reserveDO = this.baseMapper.selectById(reserveId);
+        if(reserveDO == null){
+            return R.fail("未查询到预约登记信息");
+        }
+        reserveDO.setIsDel(ComActReserveDO.isOk.yes);
+        reserveDO.setUpdateAt(new Date());
+
+        if(this.baseMapper.updateById(reserveDO) > 0){
+            return R.ok();
+        }else{
+            return R.fail();
+        }
+    }
+
+    /**
+     * 查询社区所有预约信息列表
+     * @param communityId   社区id
+     * @return  预约信息列表
+     */
+    @Override
+    public R listReserveAdmin(Long communityId){
+        return R.ok(this.baseMapper.listReserveAdmin(communityId));
+    }
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml
index 23bb4e0..f2fc69b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml
@@ -2,24 +2,38 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper">
 
-        <!-- 通用查询映射结果 -->
-        <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO">
-                    <id column="id" property="id" />
-                    <result column="reserve_sub_id" property="reserveSubId" />
-                    <result column="reserve_selection_id" property="reserveSelectionId" />
-                    <result column="user_id" property="userId" />
-                    <result column="type" property="type" />
-                    <result column="choice" property="choice" />
-                    <result column="answer_content" property="answerContent" />
-                    <result column="create_by" property="createBy" />
-                    <result column="create_at" property="createAt" />
-                    <result column="update_by" property="updateBy" />
-                    <result column="update_at" property="updateAt" />
-        </resultMap>
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO">
+        <id column="id" property="id"/>
+        <result column="reserve_sub_id" property="reserveSubId"/>
+        <result column="reserve_selection_id" property="reserveSelectionId"/>
+        <result column="user_id" property="userId"/>
+        <result column="type" property="type"/>
+        <result column="choice" property="choice"/>
+        <result column="answer_content" property="answerContent"/>
+        <result column="create_by" property="createBy"/>
+        <result column="create_at" property="createAt"/>
+        <result column="update_by" property="updateBy"/>
+        <result column="update_at" property="updateAt"/>
+    </resultMap>
 
-        <!-- 通用查询结果列 -->
-        <sql id="Base_Column_List">
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
         id, reserve_sub_id, reserve_selection_id, user_id, type, choice, answer_content, create_by, create_at, update_by, update_at
     </sql>
 
+    <select id="selectListByReserve" resultType="com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO">
+        SELECT
+            ac.*
+        FROM
+            com_act_reserve_answer_content ac
+            LEFT JOIN com_act_reserve_sub qs ON ac.reserve_sub_id = qs.id
+            LEFT JOIN com_act_reserve qn ON qs.reserve_id = qn.id
+        WHERE
+            qn.id = 2
+        ORDER BY
+            ac.user_id,
+            qs.id
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml
index 3007b19..90f917c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml
@@ -2,33 +2,159 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.panzhihua.service_community.dao.ComActReserveMapper">
 
-        <!-- 通用查询映射结果 -->
-        <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveDO">
-                    <id column="id" property="id" />
-                    <result column="community_id" property="communityId" />
-                    <result column="type" property="type" />
-                    <result column="title" property="title" />
-                    <result column="view_num" property="viewNum" />
-                    <result column="join_all_count" property="joinAllCount" />
-                    <result column="join_count" property="joinCount" />
-                    <result column="img_type" property="imgType" />
-                    <result column="img_url" property="imgUrl" />
-                    <result column="status" property="status" />
-                    <result column="publish_time" property="publishTime" />
-                    <result column="is_repeat" property="isRepeat" />
-                    <result column="remark" property="remark" />
-                    <result column="json_object" property="jsonObject" />
-                    <result column="adver_position_top" property="adverPositionTop" />
-                    <result column="adver_position_application" property="adverPositionApplication" />
-                    <result column="create_at" property="createAt" />
-                    <result column="create_by" property="createBy" />
-                    <result column="update_at" property="updateAt" />
-                    <result column="update_by" property="updateBy" />
-        </resultMap>
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveDO">
+        <id column="id" property="id"/>
+        <result column="community_id" property="communityId"/>
+        <result column="type" property="type"/>
+        <result column="title" property="title"/>
+        <result column="view_num" property="viewNum"/>
+        <result column="join_all_count" property="joinAllCount"/>
+        <result column="join_count" property="joinCount"/>
+        <result column="img_type" property="imgType"/>
+        <result column="img_url" property="imgUrl"/>
+        <result column="status" property="status"/>
+        <result column="publish_time" property="publishTime"/>
+        <result column="is_repeat" property="isRepeat"/>
+        <result column="remark" property="remark"/>
+        <result column="json_object" property="jsonObject"/>
+        <result column="adver_position_top" property="adverPositionTop"/>
+        <result column="adver_position_application" property="adverPositionApplication"/>
+        <result column="create_at" property="createAt"/>
+        <result column="create_by" property="createBy"/>
+        <result column="update_at" property="updateAt"/>
+        <result column="update_by" property="updateBy"/>
+        <result column="end_time" property="endTime"/>
+        <result column="is_del" property="isDel"/>
+    </resultMap>
 
-        <!-- 通用查询结果列 -->
-        <sql id="Base_Column_List">
-        id, community_id, type, title, view_num, join_all_count, join_count, img_type, img_url, status, publish_time, is_repeat, remark, json_object, adver_position_top, adver_position_application, create_at, create_by, update_at, update_by
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, community_id, type, title, view_num, join_all_count, join_count, img_type, img_url, status, publish_time, is_repeat, remark, json_object, adver_position_top, adver_position_application, create_at, create_by, update_at, update_by, end_time, is_del
     </sql>
 
+    <select id="pageReserveAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveAdminDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveListAdminVO">
+        SELECT
+            id,
+            community_id,
+            `type`,
+            title,
+            view_num,
+            join_all_count,
+            join_count,
+            `status`,
+            publish_time,
+            create_at,
+            end_time,
+            adver_position_top,
+            adver_position_application
+        FROM
+            com_act_reserve
+            <where>
+                and is_del = 2
+                <if test="pageReserveDTO.communityId != null">
+                    and community_id = #{pageReserveDTO.communityId}
+                </if>
+                <if test="pageReserveDTO.type != null and pageReserveDTO.type.size > 0">
+                    and `type` in
+                    <foreach collection='pageReserveDTO.type' item='id' index='index' open='(' close=')' separator=',' >
+                        #{id}
+                    </foreach>
+                </if>
+                <if test="pageReserveDTO.status != null">
+                    and status = #{pageReserveDTO.status}
+                </if>
+                <if test="pageReserveDTO.advertType != null and pageReserveDTO.advertType == 1">
+                    and adver_position_top = 2 and adver_position_application = 2
+                </if>
+                <if test="pageReserveDTO.advertType != null and pageReserveDTO.advertType == 2">
+                    and adver_position_top = 1
+                </if>
+                <if test="pageReserveDTO.advertType != null and pageReserveDTO.advertType == 3">
+                    and adver_position_application = 1
+                </if>
+                <if test="pageReserveDTO.keyWord != null and pageReserveDTO.keyWord != &quot;&quot;">
+                    and title like concat (#{pageReserveDTO.keyWord},'%')
+                </if>
+                <if test="pageReserveDTO.startTime != null and pageReserveDTO.startTime != &quot;&quot;">
+                    AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{pageReserveDTO.startTime}
+                </if>
+                <if test="pageReserveDTO.endTime != null and pageReserveDTO.endTime != &quot;&quot;">
+                    AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{pageReserveDTO.endTime}
+                </if>
+            </where>
+            order by create_at desc
+    </select>
+
+    <delete id="deleteReserveSubAll">
+        delete from com_act_reserve_sub where reserve_id = #{reserveId};
+        delete from com_act_reserve_sub_selection where reserve_id = #{reserveId};
+    </delete>
+
+    <select id="getReserveMakeLeftStatistics" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeLeftStatisticsAdminVO">
+        SELECT
+            date_format( reserve_time, '%Y-%m-%d' ) AS reserveTime,
+            count( id ) AS count
+        FROM
+            com_act_reserve_record
+        WHERE
+            `status` = 2
+            AND type = 1
+            AND community_id = #{communityId}
+
+            group by reserveTime
+    </select>
+
+    <select id="getReserveMakeRightStatistics" parameterType="com.panzhihua.common.model.dtos.community.reserve.ComActReserveMakeStatisticsDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeRightStatisticsAdminVO">
+        SELECT
+            date_format( carr.reserve_time, '%Y-%m-%d' ) AS reserveTime,
+            car.title AS title,
+            count( carr.id ) AS count
+        FROM
+            com_act_reserve_record AS carr
+            LEFT JOIN com_act_reserve AS car ON car.id = carr.reserve_id
+        WHERE
+            carr.`status` = 2
+            AND carr.type = 1
+            AND carr.community_id = #{makeStatisticsDTO.communityId}
+            <if test="makeStatisticsDTO.startTime != null and makeStatisticsDTO.startTime != &quot;&quot;">
+                AND carr.reserve_time <![CDATA[ >= ]]> #{makeStatisticsDTO.startTime}
+            </if>
+            <if test="makeStatisticsDTO.endTime != null and makeStatisticsDTO.endTime != &quot;&quot;">
+                AND carr.reserve_time <![CDATA[ <= ]]> #{makeStatisticsDTO.endTime}
+            </if>
+        GROUP BY
+            reserveTime,
+            car.id
+    </select>
+
+    <select id="getReserveRecordCount" resultType="integer">
+        select count(id) from com_act_reserve_record
+        where `status` = 2 and `type` = 1 and community_id = #{communityId}
+        and reserve_time <![CDATA[ >= ]]> #{startTime}
+        and reserve_time <![CDATA[ <= ]]> #{endTime}
+    </select>
+
+    <select id="listReserveAdmin"  parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveAdminDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveListAdminVO">
+        SELECT
+            id,
+            community_id,
+            `type`,
+            title,
+            view_num,
+            join_all_count,
+            join_count,
+            `status`,
+            publish_time,
+            create_at,
+            end_time,
+            adver_position_top,
+            adver_position_application
+        FROM
+            com_act_reserve
+            where is_del = 2 and `type` = 1 and communityId = #{communityId}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveOperationRecordMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveOperationRecordMapper.xml
index 220ad85..debd66f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveOperationRecordMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveOperationRecordMapper.xml
@@ -2,25 +2,47 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper">
 
-        <!-- 通用查询映射结果 -->
-        <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO">
-                    <id column="id" property="id" />
-                    <result column="reserve_id" property="reserveId" />
-                    <result column="reserve_record_id" property="reserveRecordId" />
-                    <result column="user_id" property="userId" />
-                    <result column="type" property="type" />
-                    <result column="phone" property="phone" />
-                    <result column="reserve_time" property="reserveTime" />
-                    <result column="reserve_content" property="reserveContent" />
-                    <result column="remark" property="remark" />
-                    <result column="status" property="status" />
-                    <result column="create_at" property="createAt" />
-                    <result column="create_by" property="createBy" />
-        </resultMap>
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO">
+        <id column="id" property="id"/>
+        <result column="reserve_id" property="reserveId"/>
+        <result column="reserve_record_id" property="reserveRecordId"/>
+        <result column="user_id" property="userId"/>
+        <result column="type" property="type"/>
+        <result column="phone" property="phone"/>
+        <result column="reserve_time" property="reserveTime"/>
+        <result column="reserve_content" property="reserveContent"/>
+        <result column="remark" property="remark"/>
+        <result column="status" property="status"/>
+        <result column="create_at" property="createAt"/>
+        <result column="create_by" property="createBy"/>
+    </resultMap>
 
-        <!-- 通用查询结果列 -->
-        <sql id="Base_Column_List">
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
         id, reserve_id, reserve_record_id, user_id, type, phone, reserve_time, reserve_content, remark, status, create_at, create_by
     </sql>
 
+
+    <select id="getMakeOperationList" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeOperationAdminVO">
+        SELECT
+            caror.reserve_id,
+            caror.reserve_record_id,
+            caror.create_at,
+            caror.type,
+            caror.`status`,
+            caror.reserve_time,
+            caror.reserve_content,
+            su.`name`,
+            su.phone,
+            caror.remark,
+            su1.`name` as createByName
+        FROM
+            com_act_reserve_operation_record AS caror
+            left join sys_user as su on su.user_id = caror.user_id
+            left join sys_user as su1 on su1.user_id = caror.create_by
+            where caror.reserve_record_id = #{reserveRecordId}
+            order by caror.create_at desc
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml
index 6a7ab7d..f9f7713 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml
@@ -2,30 +2,267 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.panzhihua.service_community.dao.ComActReserveRecordMapper">
 
-        <!-- 通用查询映射结果 -->
-        <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveRecordDO">
-                    <id column="id" property="id" />
-                    <result column="user_id" property="userId" />
-                    <result column="reserve_id" property="reserveId" />
-                    <result column="community_id" property="communityId" />
-                    <result column="type" property="type" />
-                    <result column="name" property="name" />
-                    <result column="phone" property="phone" />
-                    <result column="status" property="status" />
-                    <result column="content" property="content" />
-                    <result column="remark" property="remark" />
-                    <result column="act_remark" property="actRemark" />
-                    <result column="reserve_time" property="reserveTime" />
-                    <result column="json_object" property="jsonObject" />
-                    <result column="create_at" property="createAt" />
-                    <result column="create_by" property="createBy" />
-                    <result column="update_at" property="updateAt" />
-                    <result column="update_by" property="updateBy" />
-        </resultMap>
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveRecordDO">
+        <id column="id" property="id"/>
+        <result column="user_id" property="userId"/>
+        <result column="reserve_id" property="reserveId"/>
+        <result column="community_id" property="communityId"/>
+        <result column="type" property="type"/>
+        <result column="name" property="name"/>
+        <result column="phone" property="phone"/>
+        <result column="status" property="status"/>
+        <result column="content" property="content"/>
+        <result column="remark" property="remark"/>
+        <result column="act_remark" property="actRemark"/>
+        <result column="reserve_time" property="reserveTime"/>
+        <result column="json_object" property="jsonObject"/>
+        <result column="create_at" property="createAt"/>
+        <result column="create_by" property="createBy"/>
+        <result column="update_at" property="updateAt"/>
+        <result column="update_by" property="updateBy"/>
+    </resultMap>
 
-        <!-- 通用查询结果列 -->
-        <sql id="Base_Column_List">
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
         id, user_id, reserve_id, community_id, type, name, phone, status, content, remark, act_remark, reserve_time, json_object, create_at, create_by, update_at, update_by
     </sql>
 
+    <select id="pageMakeAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveMakeAdminDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeListAdminVO">
+        SELECT
+            carr.id,
+            su.nick_name,
+            carr.`name`,
+            carr.phone,
+            carr.reserve_time,
+            carr.`content`,
+            carr.remark,
+            carr.act_remark,
+            carr.create_at
+        FROM
+            com_act_reserve_record AS carr
+            LEFT JOIN sys_user AS su ON su.user_id = carr.user_id
+            where carr.status = 2 and carr.`type` = 1 and carr.reserve_id = #{pageMakeDTO.reserveId}
+            <if test="pageMakeDTO.startTime != null and pageMakeDTO.startTime != &quot;&quot;">
+                AND carr.reserve_time <![CDATA[ >= ]]> #{pageMakeDTO.startTime}
+            </if>
+            <if test="pageMakeDTO.endTime != null and pageMakeDTO.endTime != &quot;&quot;">
+                AND carr.reserve_time <![CDATA[ <= ]]> #{pageMakeDTO.endTime}
+            </if>
+            order by carr.create_at desc
+    </select>
+
+    <select id="getMakeDetailAdmin" resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeDetailAdminVO">
+        SELECT
+            carr.id,
+            su.nick_name,
+            carr.`name`,
+            carr.phone,
+            carr.reserve_time,
+            carr.`content`,
+            carr.remark,
+            carr.act_remark,
+            carr.create_at
+        FROM
+            com_act_reserve_record AS carr
+            LEFT JOIN sys_user AS su ON su.user_id = carr.user_id
+            where carr.id = #{reserveRecordId}
+    </select>
+
+    <select id="getReserveStatusById" resultType="integer">
+        select count(id) from com_act_reserve_record where `status` != 2 and id in
+        <foreach collection='ids' item='id' index='index' open='(' close=')' separator=',' >
+            #{id}
+        </foreach>
+    </select>
+
+    <update id="editReserveStatusById">
+        update com_act_reserve_record set `status` = 4 where id in
+        <foreach collection='ids' item='id' index='index' open='(' close=')' separator=',' >
+            #{id}
+        </foreach>
+    </update>
+
+    <select id="exportMakeAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveMakeAdminDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeListAdminVO">
+        SELECT
+        carr.id,
+        su.nick_name,
+        carr.`name`,
+        carr.phone,
+        carr.reserve_time,
+        carr.`content`,
+        carr.remark,
+        carr.act_remark,
+        carr.create_at
+        FROM
+        com_act_reserve_record AS carr
+        LEFT JOIN sys_user AS su ON su.user_id = carr.user_id
+        where carr.status = 2 and carr.`type` = 1 and carr.reserve_id = #{pageMakeDTO.reserveId}
+        <if test="pageMakeDTO.startTime != null and pageMakeDTO.startTime != &quot;&quot;">
+            AND carr.reserve_time <![CDATA[ >= ]]> #{pageMakeDTO.startTime}
+        </if>
+        <if test="pageMakeDTO.endTime != null and pageMakeDTO.endTime != &quot;&quot;">
+            AND carr.reserve_time <![CDATA[ <= ]]> #{pageMakeDTO.endTime}
+        </if>
+        <if test="pageMakeDTO.ids != null and pageMakeDTO.ids.size > 0">
+            AND carr.id in
+            <foreach collection='pageMakeDTO.ids' item='id' index='index' open='(' close=')' separator=',' >
+                #{id}
+            </foreach>
+        </if>
+        order by carr.create_at desc
+    </select>
+
+    <select id="registerStatisticsAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.ComActReserveRegisterStatisticsDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterStatisticsAdminVO">
+        SELECT
+            car.title,
+            count( carr.id ) AS count,
+            ( SELECT count( id ) FROM com_act_reserve_record WHERE `type` = 2 AND community_id = #{registerStatisticsDTO.communityId} AND `status` = 2 ) AS allCount
+        FROM
+            com_act_reserve_record AS carr
+            LEFT JOIN com_act_reserve AS car ON car.id = carr.reserve_id
+        WHERE
+            carr.type = 2
+            AND carr.community_id = #{registerStatisticsDTO.communityId}
+            AND carr.`status` = 2
+            <if test="registerStatisticsDTO.startTime != null and registerStatisticsDTO.startTime != &quot;&quot;">
+                AND DATE_FORMAT(carr.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{registerStatisticsDTO.startTime}
+            </if>
+            <if test="registerStatisticsDTO.endTime != null and registerStatisticsDTO.endTime != &quot;&quot;">
+                AND DATE_FORMAT(carr.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{registerStatisticsDTO.endTime}
+            </if>
+        GROUP BY
+            car.id
+    </select>
+
+    <select id="registerStatisticsExportAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.ComActReserveRegisterStatisticsDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterStatisticsAdminVO">
+        SELECT
+            car.title,
+            count( carr.id ) AS count,
+            ( SELECT count( id ) FROM com_act_reserve_record WHERE `type` = 2 AND community_id = #{registerStatisticsDTO.communityId} AND `status` = 2 ) AS allCount
+        FROM
+            com_act_reserve_record AS carr
+            LEFT JOIN com_act_reserve AS car ON car.id = carr.reserve_id
+        WHERE
+            carr.type = 2
+            AND carr.community_id = #{registerStatisticsDTO.communityId}
+            AND carr.`status` = 2
+            <if test="registerStatisticsDTO.startTime != null and registerStatisticsDTO.startTime != &quot;&quot;">
+                AND DATE_FORMAT(carr.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{registerStatisticsDTO.startTime}
+            </if>
+            <if test="registerStatisticsDTO.endTime != null and registerStatisticsDTO.endTime != &quot;&quot;">
+                AND DATE_FORMAT(carr.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{registerStatisticsDTO.endTime}
+            </if>
+        GROUP BY
+            car.id
+    </select>
+
+    <select id="pageMakeHandleAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveMakeHandleAdminDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeHandleListAdminVO">
+        SELECT
+            carr.id,
+            su.nick_name,
+            carr.`name`,
+            carr.phone,
+            carr.reserve_time,
+            carr.`content`,
+            carr.remark,
+            carr.act_remark,
+            carr.`status`,
+            car.`title`,
+            carr.create_at
+        FROM
+            com_act_reserve_record AS carr
+            LEFT JOIN sys_user AS su ON su.user_id = carr.user_id
+            LEFT JOIN com_act_reserve AS car ON car.id = carr.reserve_id
+        WHERE
+            carr.`type` = 1
+            <if test="pageMakeHandleDTO.keyWord != null and pageMakeHandleDTO.keyWord != &quot;&quot;">
+                and (car.`title` like concat (#{pageMakeHandleDTO.keyWord},'%')
+                or carr.`name` like concat (#{pageMakeHandleDTO.keyWord},'%')
+                or su.nick_name like concat (#{pageMakeHandleDTO.keyWord},'%'))
+            </if>
+            <if test="pageMakeHandleDTO.status != null and pageMakeHandleDTO.status.size > 0">
+                and carr.`status` in
+                <foreach collection='pageMakeHandleDTO.status' item='id' index='index' open='(' close=')' separator=',' >
+                    #{id}
+                </foreach>
+            </if>
+            <if test="pageMakeHandleDTO.reserveId != null ">
+                and carr.reserve_id = #{pageMakeHandleDTO.reserveId}
+            </if>
+            <if test="pageMakeHandleDTO.communityId != null ">
+                and carr.community_id = #{pageMakeHandleDTO.communityId}
+            </if>
+            <if test="pageMakeHandleDTO.startTime != null and pageMakeHandleDTO.startTime != &quot;&quot;">
+                AND DATE_FORMAT(carr.reserve_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{pageMakeHandleDTO.startTime}
+            </if>
+            <if test="pageMakeHandleDTO.endTime != null and pageMakeHandleDTO.endTime != &quot;&quot;">
+                AND DATE_FORMAT(carr.reserve_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{pageMakeHandleDTO.endTime}
+            </if>
+        order by carr.create_at desc
+    </select>
+
+    <select id="getReserveListCountByIds" resultType="integer">
+        select count(id) from com_act_reserve_record where `status` != 1 and `type` = 1 and id in
+        <foreach collection='ids' item='id' index='index' open='(' close=')' separator=',' >
+            #{id}
+        </foreach>
+    </select>
+
+    <select id="exportMakeHandleAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveMakeHandleAdminDTO"
+            resultType="com.panzhihua.common.model.vos.community.reserve.ComActReserveMakeHandleListAdminVO">
+        SELECT
+        carr.id,
+        su.nick_name,
+        carr.`name`,
+        carr.phone,
+        carr.reserve_time,
+        carr.`content`,
+        carr.remark,
+        carr.act_remark,
+        carr.`status`,
+        car.`title`,
+        carr.create_at
+        FROM
+        com_act_reserve_record AS carr
+        LEFT JOIN sys_user AS su ON su.user_id = carr.user_id
+        LEFT JOIN com_act_reserve AS car ON car.id = carr.reserve_id
+        WHERE
+        carr.`type` = 1
+        <if test="pageMakeHandleDTO.keyWord != null and pageMakeHandleDTO.keyWord != &quot;&quot;">
+            and (car.`title` like concat (#{pageMakeHandleDTO.keyWord},'%')
+            or carr.`name` like concat (#{pageMakeHandleDTO.keyWord},'%')
+            or su.nick_name like concat (#{pageMakeHandleDTO.keyWord},'%'))
+        </if>
+        <if test="pageMakeHandleDTO.status != null and pageMakeHandleDTO.status.size > 0">
+            and carr.`status` in
+            <foreach collection='pageMakeHandleDTO.status' item='id' index='index' open='(' close=')' separator=',' >
+                #{id}
+            </foreach>
+        </if>
+        <if test="pageMakeHandleDTO.reserveId != null ">
+            and carr.reserve_id = #{pageMakeHandleDTO.reserveId}
+        </if>
+        <if test="pageMakeHandleDTO.communityId != null ">
+            and carr.community_id = #{pageMakeHandleDTO.communityId}
+        </if>
+        <if test="pageMakeHandleDTO.startTime != null and pageMakeHandleDTO.startTime != &quot;&quot;">
+            AND DATE_FORMAT(carr.reserve_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{pageMakeHandleDTO.startTime}
+        </if>
+        <if test="pageMakeHandleDTO.endTime != null and pageMakeHandleDTO.endTime != &quot;&quot;">
+            AND DATE_FORMAT(carr.reserve_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{pageMakeHandleDTO.endTime}
+        </if>
+        <if test="pageMakeHandleDTO.ids != null and pageMakeHandleDTO.ids.size > 0">
+            and carr.id in
+            <foreach collection='pageMakeHandleDTO.ids' item='id' index='index' open='(' close=')' separator=',' >
+                #{id}
+            </foreach>
+        </if>
+        order by carr.create_at desc
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveSubMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveSubMapper.xml
index 5f99f6a..a4fdfa3 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveSubMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveSubMapper.xml
@@ -2,22 +2,22 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.panzhihua.service_community.dao.ComActReserveSubMapper">
 
-        <!-- 通用查询映射结果 -->
-        <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveSubDO">
-                    <id column="id" property="id" />
-                    <result column="reserve_id" property="reserveId" />
-                    <result column="sort" property="sort" />
-                    <result column="type" property="type" />
-                    <result column="key" property="key" />
-                    <result column="content" property="content" />
-                    <result column="create_by" property="createBy" />
-                    <result column="create_at" property="createAt" />
-                    <result column="update_by" property="updateBy" />
-                    <result column="update_at" property="updateAt" />
-        </resultMap>
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActReserveSubDO">
+        <id column="id" property="id"/>
+        <result column="reserve_id" property="reserveId"/>
+        <result column="sort" property="sort"/>
+        <result column="type" property="type"/>
+        <result column="key" property="key"/>
+        <result column="content" property="content"/>
+        <result column="create_by" property="createBy"/>
+        <result column="create_at" property="createAt"/>
+        <result column="update_by" property="updateBy"/>
+        <result column="update_at" property="updateAt"/>
+    </resultMap>
 
-        <!-- 通用查询结果列 -->
-        <sql id="Base_Column_List">
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
         id, reserve_id, sort, type, key, content, create_by, create_at, update_by, update_at
     </sql>
 

--
Gitblit v1.7.1