From 8a7f2b2b286f398fca7c4fd5b3af681fc581df07 Mon Sep 17 00:00:00 2001 From: sonjinyon <2476687577@qq.com> Date: Mon, 30 Sep 2024 00:38:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A2=84=E7=BA=A6=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E6=9E=84=E5=BB=BA=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/OrganizationForm.vue | 137 +++++++ .../views/subscribe/organization/index.vue | 264 ++++++++++++ .../src/views/subscribe/staff/index.vue | 376 ++++++++++++++++++ .../subscribe/subscribemanage/ManageForm.vue | 174 ++++++++ .../views/subscribe/subscribemanage/index.vue | 278 +++++++++++++ .../subscribe/enums/ErrorCodeConstants.java | 4 + .../organization/OrganizationController.java | 36 +- .../vo/OrganizationPageReqVO.java | 8 +- .../organization/vo/OrganizationRespVO.java | 12 +- .../vo/OrganizationSaveReqVO.java | 4 +- .../admin/staff/StaffController.java | 34 +- .../admin/staff/vo/ServiceTimeVO.java | 9 + .../admin/staff/vo/StaffPageReqVO.java | 65 +++ .../admin/staff/vo/StaffRespVO.java | 12 +- .../admin/staff/vo/StaffSaveReqVO.java | 4 +- .../SubscribeManageController.java | 35 +- .../vo/SubscribeManagePageReqVO.java | 45 +++ .../vo/SubscribeManageRespVO.java | 13 +- .../vo/SubscribeManageSaveReqVO.java | 6 +- .../organization/OrganizationDO.java | 9 +- .../dal/dataobject/staff/StaffDO.java | 94 +++++ .../subscribemanage/SubscribeManageDO.java | 13 +- .../organization/OrganizationMapper.java | 2 - .../organization/OrganizationService.java | 2 +- .../organization/OrganizationServiceImpl.java | 5 +- .../srbscribe/service/staff/StaffService.java | 2 +- .../service/staff/StaffServiceImpl.java | 6 +- .../SubscribeManageService.java | 3 +- .../SubscribeManageServiceImpl.java | 5 +- 29 files changed, 1542 insertions(+), 115 deletions(-) create mode 100644 yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue create mode 100644 yudao-admin-vue3/src/views/subscribe/organization/index.vue create mode 100644 yudao-admin-vue3/src/views/subscribe/staff/index.vue create mode 100644 yudao-admin-vue3/src/views/subscribe/subscribemanage/ManageForm.vue create mode 100644 yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/ServiceTimeVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManagePageReqVO.java create mode 100644 yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java diff --git a/yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue b/yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue new file mode 100644 index 0000000..6c7d632 --- /dev/null +++ b/yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue @@ -0,0 +1,137 @@ + + \ No newline at end of file diff --git a/yudao-admin-vue3/src/views/subscribe/organization/index.vue b/yudao-admin-vue3/src/views/subscribe/organization/index.vue new file mode 100644 index 0000000..a9678d0 --- /dev/null +++ b/yudao-admin-vue3/src/views/subscribe/organization/index.vue @@ -0,0 +1,264 @@ + + + \ No newline at end of file diff --git a/yudao-admin-vue3/src/views/subscribe/staff/index.vue b/yudao-admin-vue3/src/views/subscribe/staff/index.vue new file mode 100644 index 0000000..3685e78 --- /dev/null +++ b/yudao-admin-vue3/src/views/subscribe/staff/index.vue @@ -0,0 +1,376 @@ + + + diff --git a/yudao-admin-vue3/src/views/subscribe/subscribemanage/ManageForm.vue b/yudao-admin-vue3/src/views/subscribe/subscribemanage/ManageForm.vue new file mode 100644 index 0000000..743f7b3 --- /dev/null +++ b/yudao-admin-vue3/src/views/subscribe/subscribemanage/ManageForm.vue @@ -0,0 +1,174 @@ + + \ No newline at end of file diff --git a/yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue b/yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue new file mode 100644 index 0000000..4a1edbc --- /dev/null +++ b/yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue @@ -0,0 +1,278 @@ + + + \ No newline at end of file diff --git a/yudao-module-subscribe/yudao-module-subscribe-api/src/main/java/cn/iocoder/yudao/module/subscribe/enums/ErrorCodeConstants.java b/yudao-module-subscribe/yudao-module-subscribe-api/src/main/java/cn/iocoder/yudao/module/subscribe/enums/ErrorCodeConstants.java index 8747d94..e1b23b8 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-api/src/main/java/cn/iocoder/yudao/module/subscribe/enums/ErrorCodeConstants.java +++ b/yudao-module-subscribe/yudao-module-subscribe-api/src/main/java/cn/iocoder/yudao/module/subscribe/enums/ErrorCodeConstants.java @@ -4,6 +4,10 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; public interface ErrorCodeConstants { + ErrorCode MANAGE_NOT_EXISTS = new ErrorCode(11111, "预约不存在"); + ErrorCode STAFF_NOT_EXISTS = new ErrorCode(22222, "预约人员不存在"); + ErrorCode ORGANIZATION_NOT_EXISTS = new ErrorCode(33333, "机构不存在"); + ErrorCode LITEMALL_TECHNICIAN_NOT_EXISTS = new ErrorCode(111, "人员管理不存在"); ErrorCode LITEMALL_BRAND_NOT_EXISTS = new ErrorCode(222, "门店管理不存在"); diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/OrganizationController.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/OrganizationController.java index d14e913..d3f909c 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/OrganizationController.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/OrganizationController.java @@ -1,36 +1,32 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.organization; +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.OrganizationPageReqVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.OrganizationRespVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.OrganizationSaveReqVO; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization.OrganizationDO; -import cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization.OrganizationOptions; import cn.iocoder.yudao.module.srbscribe.service.organization.OrganizationService; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; +import java.util.List; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - @Tag(name = "管理后台 - 机构") @RestController diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationPageReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationPageReqVO.java index 814867e..fb205a1 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationPageReqVO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationPageReqVO.java @@ -1,10 +1,12 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationRespVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationRespVO.java index c59e28e..748542e 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationRespVO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationRespVO.java @@ -1,13 +1,13 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; @Schema(description = "管理后台 - 机构 Response VO") @Data diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationSaveReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationSaveReqVO.java index a33c2c5..83821f5 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationSaveReqVO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/organization/vo/OrganizationSaveReqVO.java @@ -1,9 +1,7 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; +import lombok.Data; @Schema(description = "管理后台 - 机构新增/修改 Request VO") @Data diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/StaffController.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/StaffController.java index b8490ca..d129745 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/StaffController.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/StaffController.java @@ -1,34 +1,32 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.staff; +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.OrganizationRespVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffPageReqVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffRespVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffSaveReqVO; -import cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization.OrganizationDO; -import cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization.OrganizationOptions; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.staff.StaffDO; import cn.iocoder.yudao.module.srbscribe.service.organization.OrganizationService; import cn.iocoder.yudao.module.srbscribe.service.staff.StaffService; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import javax.validation.*; -import javax.servlet.http.*; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; -import java.util.ArrayList; import java.util.List; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; @Tag(name = "管理后台 - 预约人员") diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/ServiceTimeVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/ServiceTimeVO.java new file mode 100644 index 0000000..a8ab595 --- /dev/null +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/ServiceTimeVO.java @@ -0,0 +1,9 @@ +package cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo; + +import lombok.Data; + +@Data +public class ServiceTimeVO { + private String start; + private String end; +} diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java new file mode 100644 index 0000000..b40fed7 --- /dev/null +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 预约人员分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class StaffPageReqVO extends PageParam { + + @Schema(description = "机构id", example = "26075") + private Long organizationId; + + @Schema(description = "编号") + private String serialNumber; + + @Schema(description = "类型", example = "1") + private Integer type; + + @Schema(description = "名称", example = "张三") + private String name; + + @Schema(description = "性别") + private Integer sex; + + @Schema(description = "照片") + private String photo; + + @Schema(description = "手机号") + private String phone; + + @Schema(description = "服务时间段") + private String serviceTime; + +// @Schema(description = "服务开始时间") +// private String serviceStartTime; + + + + @Schema(description = "服务范围") + private String serviceScope; + + @Schema(description = "约满标记") + private Integer sign; + + @Schema(description = "状态", example = "2") + private Integer status; + + @Schema(description = "介绍") + private String content; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java index 20d207e..2584862 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java @@ -1,13 +1,13 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; @Schema(description = "管理后台 - 预约人员 Response VO") @Data diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java index d065bcd..1113f31 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java @@ -1,9 +1,7 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; +import lombok.Data; @Schema(description = "管理后台 - 预约人员新增/修改 Request VO") @Data diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/SubscribeManageController.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/SubscribeManageController.java index 3ec8972..3d6a008 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/SubscribeManageController.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/SubscribeManageController.java @@ -1,35 +1,32 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage; +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo.SubscribeManagePageReqVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo.SubscribeManageRespVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo.SubscribeManageSaveReqVO; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.subscribemanage.SubscribeManageDO; import cn.iocoder.yudao.module.srbscribe.service.subscribemanage.SubscribeManageService; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; +import java.util.List; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - @Tag(name = "管理后台 - 预约") @RestController diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManagePageReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManagePageReqVO.java new file mode 100644 index 0000000..16f48db --- /dev/null +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManagePageReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 预约分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SubscribeManagePageReqVO extends PageParam { + + @Schema(description = "用户id", example = "20637") + private Long userId; + + @Schema(description = "预约类型", example = "2") + private Integer type; + + @Schema(description = "预约人员id", example = "23520") + private Long staffId; + + @Schema(description = "预约时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] subscribeTime; + + @Schema(description = "预约状态", example = "1") + private String subscribeStatus; + + @Schema(description = "审核状态", example = "1") + private Integer checkStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + private String staffName; + +} \ No newline at end of file diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java index 1a17b79..8d63c8c 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java @@ -1,14 +1,13 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo; -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; @Schema(description = "管理后台 - 预约 Response VO") @Data diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageSaveReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageSaveReqVO.java index 0fd80f9..441abca 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageSaveReqVO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageSaveReqVO.java @@ -1,10 +1,8 @@ package cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; -import org.springframework.format.annotation.DateTimeFormat; +import lombok.Data; + import java.time.LocalDateTime; @Schema(description = "管理后台 - 预约新增/修改 Request VO") diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/organization/OrganizationDO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/organization/OrganizationDO.java index 3670e90..b622182 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/organization/OrganizationDO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/organization/OrganizationDO.java @@ -1,11 +1,10 @@ package cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; /** * 机构 DO diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java new file mode 100644 index 0000000..1c1ede8 --- /dev/null +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java @@ -0,0 +1,94 @@ +package cn.iocoder.yudao.module.srbscribe.dal.dataobject.staff; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * 预约人员 DO + * + * @author 管理员 + */ +@TableName("subscribe_staff") +@KeySequence("subscribe_staff_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StaffDO extends BaseDO { + + /** + * id + */ + @TableId + private Long id; + /** + * 机构id + */ + private Long organizationId; + /** + * 编号 + */ + private String serialNumber; + /** + * 类型 + * + * 枚举 {@link TODO staff_type 对应的类} + */ + private Integer type; + /** + * 名称 + */ + private String name; + /** + * 性别 + * + * 枚举 {@link TODO stall_sex 对应的类} + */ + private Integer sex; + /** + * 照片 + */ + private String photo; + /** + * 手机号 + */ + private String phone; + /** + * 服务时间段 + */ + private String serviceTime; + /** + * 服务范围 + */ + private String serviceScope; + /** + * 约满标记 + * + * 枚举 {@link TODO staff_full 对应的类} + */ + private Integer sign; + /** + * 状态 + * + * 枚举 {@link TODO staff_status 对应的类} + */ + private Integer status; + /** + * 介绍 + */ + private String content; + + //机构名称 + @TableField(exist = false) + private String organizationName; + + @TableField(exist = false) + private String serviceTimeArray ; + +} \ No newline at end of file diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/subscribemanage/SubscribeManageDO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/subscribemanage/SubscribeManageDO.java index bf233c2..d697267 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/subscribemanage/SubscribeManageDO.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/subscribemanage/SubscribeManageDO.java @@ -1,12 +1,13 @@ package cn.iocoder.yudao.module.srbscribe.dal.dataobject.subscribemanage; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.time.LocalDateTime; /** * 预约 DO diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java index ed350b0..84b37ed 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java @@ -1,7 +1,5 @@ package cn.iocoder.yudao.module.srbscribe.dal.mysql.organization; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationService.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationService.java index a981c1e..c8077ba 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationService.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationService.java @@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.Organi import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.OrganizationSaveReqVO; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization.OrganizationDO; -import javax.validation.*; +import javax.validation.Valid; import java.util.List; /** diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationServiceImpl.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationServiceImpl.java index 8f6c2c7..5d4f473 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationServiceImpl.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/organization/OrganizationServiceImpl.java @@ -1,17 +1,16 @@ package cn.iocoder.yudao.module.srbscribe.service.organization; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.OrganizationPageReqVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.organization.vo.OrganizationSaveReqVO; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization.OrganizationDO; import cn.iocoder.yudao.module.srbscribe.dal.mysql.organization.OrganizationMapper; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import javax.annotation.Resource; import java.util.List; - import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.subscribe.enums.ErrorCodeConstants.*; diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffService.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffService.java index 3b102fc..e604d35 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffService.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffService.java @@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffPageReqV import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffSaveReqVO; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.staff.StaffDO; -import javax.validation.*; +import javax.validation.Valid; /** * 预约人员 Service 接口 diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java index bbfb91c..6a497e3 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.srbscribe.service.staff; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.ServiceTimeVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffPageReqVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffSaveReqVO; @@ -9,15 +10,12 @@ import cn.iocoder.yudao.module.srbscribe.dal.dataobject.staff.StaffDO; import cn.iocoder.yudao.module.srbscribe.dal.mysql.organization.OrganizationMapper; import cn.iocoder.yudao.module.srbscribe.dal.mysql.staff.StaffMapper; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import javax.annotation.Resource; import java.util.List; - import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.subscribe.enums.ErrorCodeConstants.*; diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageService.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageService.java index 7c2227c..4d82664 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageService.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageService.java @@ -5,8 +5,7 @@ import cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo.Sub import cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo.SubscribeManageSaveReqVO; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.subscribemanage.SubscribeManageDO; -import java.util.*; -import javax.validation.*; +import javax.validation.Valid; /** diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageServiceImpl.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageServiceImpl.java index 10e7005..f8325c1 100644 --- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageServiceImpl.java +++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/subscribemanage/SubscribeManageServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.srbscribe.service.subscribemanage; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo.SubscribeManagePageReqVO; import cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo.SubscribeManageSaveReqVO; import cn.iocoder.yudao.module.srbscribe.dal.dataobject.staff.StaffDO; @@ -8,9 +9,9 @@ import cn.iocoder.yudao.module.srbscribe.dal.dataobject.subscribemanage.Subscrib import cn.iocoder.yudao.module.srbscribe.dal.mysql.staff.StaffMapper; import cn.iocoder.yudao.module.srbscribe.dal.mysql.subscribemanage.SubscribeManageMapper; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import javax.annotation.Resource; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.subscribe.enums.ErrorCodeConstants.*; -- 2.45.2