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 != """> + and title like concat (#{pageReserveDTO.keyWord},'%') + </if> + <if test="pageReserveDTO.startTime != null and pageReserveDTO.startTime != """> + AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{pageReserveDTO.startTime} + </if> + <if test="pageReserveDTO.endTime != null and pageReserveDTO.endTime != """> + 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 != """> + AND carr.reserve_time <![CDATA[ >= ]]> #{makeStatisticsDTO.startTime} + </if> + <if test="makeStatisticsDTO.endTime != null and makeStatisticsDTO.endTime != """> + 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 != """> + AND carr.reserve_time <![CDATA[ >= ]]> #{pageMakeDTO.startTime} + </if> + <if test="pageMakeDTO.endTime != null and pageMakeDTO.endTime != """> + 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 != """> + AND carr.reserve_time <![CDATA[ >= ]]> #{pageMakeDTO.startTime} + </if> + <if test="pageMakeDTO.endTime != null and pageMakeDTO.endTime != """> + 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 != """> + AND DATE_FORMAT(carr.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{registerStatisticsDTO.startTime} + </if> + <if test="registerStatisticsDTO.endTime != null and registerStatisticsDTO.endTime != """> + 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 != """> + AND DATE_FORMAT(carr.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{registerStatisticsDTO.startTime} + </if> + <if test="registerStatisticsDTO.endTime != null and registerStatisticsDTO.endTime != """> + 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 != """> + 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 != """> + AND DATE_FORMAT(carr.reserve_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{pageMakeHandleDTO.startTime} + </if> + <if test="pageMakeHandleDTO.endTime != null and pageMakeHandleDTO.endTime != """> + 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 != """> + 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 != """> + AND DATE_FORMAT(carr.reserve_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{pageMakeHandleDTO.startTime} + </if> + <if test="pageMakeHandleDTO.endTime != null and pageMakeHandleDTO.endTime != """> + 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