From ce643990d8a41454ff0992ba8dbc21480ef633f0 Mon Sep 17 00:00:00 2001 From: xuelijun <977662702@qq.com> Date: Fri, 15 Aug 2025 18:27:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=8D=E5=8A=A1=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/dto/ProdAdditionalFeeDatesDO.java | 12 +- .../dto/ProdAdditionalFeePeriodsDO.java | 8 +- .../product/dto/ProdEmergencyResponseDO.java | 19 +- .../dto/ProdEmergencyResponseIntervalsDO.java | 7 +- .../product/dto/ProdReservationConfigDO.java | 45 ++++- .../product/dto/ProdWeightRangePricesDO.java | 2 +- .../api/product/vo/prod/ProdListVO.java | 34 +++- .../product/vo/prod/ProdRestoreListVO.java | 71 ++++++++ .../api/product/vo/prod/ProdServiceVO.java | 18 ++ .../ProdAdditionalFeePeriodsRespVO.java | 3 +- .../ProdAdditionalFeePeriodsSaveReqVO.java | 3 +- .../ProdEmergencyInfoVO.java | 12 +- .../ProdEmergencyResponsePageReqVO.java | 13 +- .../ProdEmergencyResponseSaveReqVO.java | 15 +- ...odEmergencyResponseIntervalsPageReqVO.java | 2 +- .../ProdEmergencyResponseIntervalsRespVO.java | 2 +- ...odEmergencyResponseIntervalsSaveReqVO.java | 2 +- .../ProdReservationConfigPageReqVO.java | 13 +- .../ProdReservationConfigRespVO.java | 19 +- .../ProdReservationConfigSaveReqVO.java | 15 +- .../vo/prodreservationconfig/TimeBookVO.java | 23 +++ .../controller/admin/ProdController.java | 8 +- .../cloud/product/mapper/ProdMapper.java | 5 +- .../cloud/product/service/ProdService.java | 4 +- .../product/service/impl/ProdServiceImpl.java | 171 ++++++++++-------- .../resources/mapper/product/ProdMapper.xml | 132 +++++++++----- 26 files changed, 462 insertions(+), 196 deletions(-) create mode 100644 tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdRestoreListVO.java create mode 100644 tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/TimeBookVO.java diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeeDatesDO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeeDatesDO.java index a5722c6..ae0b33a 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeeDatesDO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeeDatesDO.java @@ -2,12 +2,14 @@ package com.tashow.cloud.productapi.api.product.dto; import com.baomidou.mybatisplus.annotation.KeySequence; import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; +import com.tashow.cloud.productapi.general.StringListTypeHandler; import lombok.*; 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 java.math.BigDecimal; +import java.util.List; /** * 特殊日期附加费用规则 DO @@ -42,13 +44,15 @@ public class ProdAdditionalFeeDatesDO extends BaseDO { */ private Integer dateType; /** - * 自定义日期时间段(JSON格式存储) + * 自定义日期时间段 */ - private String customTimeSlots; + @TableField(typeHandler = StringListTypeHandler.class) + private List customTimeSlots; /** - * 指定日期(JSON格式存储) + * 指定日期 */ - private String specificDates; + @TableField(typeHandler = StringListTypeHandler.class) + private List specificDates; /** * 收费方式0:''固定金额'':1:''基准价上浮 */ diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeePeriodsDO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeePeriodsDO.java index 2f3ec84..a657bd5 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeePeriodsDO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdAdditionalFeePeriodsDO.java @@ -1,9 +1,12 @@ package com.tashow.cloud.productapi.api.product.dto; import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; +import com.tashow.cloud.productapi.general.StringListTypeHandler; import lombok.*; import java.math.BigDecimal; +import java.util.List; + import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -37,9 +40,10 @@ public class ProdAdditionalFeePeriodsDO extends BaseDO { */ private String name; /** - * 特殊时段设置(JSON格式存储) + * 特殊时段设置 */ - private String specialTimeSlots; + @TableField(typeHandler = StringListTypeHandler.class) + private List specialTimeSlots; /** * 收费方式0:'固定金额',1:'基准价上浮' */ diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseDO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseDO.java index 2c03732..3259231 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseDO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseDO.java @@ -1,11 +1,15 @@ package com.tashow.cloud.productapi.api.product.dto; import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; +import com.tashow.cloud.productapi.general.StringListTypeHandler; import lombok.*; 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 java.util.List; + /** * 商品紧急响应服务设置 DO * @@ -31,17 +35,20 @@ public class ProdEmergencyResponseDO extends BaseDO { */ private Long prodId; /** - * 可响应时间段(JSON格式存储) + * 可响应时间段 */ - private String responseTimeSlots; + @TableField(typeHandler = StringListTypeHandler.class) + private List responseTimeSlots; /** - * 黑名自定义日期(JSON格式存储) + * 黑名自定义日期 */ - private String blacklistedDates; + @TableField(typeHandler = StringListTypeHandler.class) + private List blacklistedDates; /** - * 黑名单指定日期(JSON格式存储) + * 黑名单指定日期 */ - private String blackAppointDates; + @TableField(typeHandler = StringListTypeHandler.class) + private List blackAppointDates; /** * 法定节假日是否开启0:关闭1开启 */ diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseIntervalsDO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseIntervalsDO.java index bdecbdb..af57496 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseIntervalsDO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdEmergencyResponseIntervalsDO.java @@ -32,6 +32,11 @@ public class ProdEmergencyResponseIntervalsDO extends BaseDO { * 关联的紧急响应服务配置ID */ private Long configId; + /** + * 商品ID + */ + private Long prodId; + /** * 响应模式名称 */ @@ -39,7 +44,7 @@ public class ProdEmergencyResponseIntervalsDO extends BaseDO { /** * 响应时间(小时) */ - private Integer responseHours; + private BigDecimal responseHours; /** * 收费模式0:固定收费 1:浮动收费 */ diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdReservationConfigDO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdReservationConfigDO.java index abb344c..43236ab 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdReservationConfigDO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdReservationConfigDO.java @@ -1,11 +1,16 @@ package com.tashow.cloud.productapi.api.product.dto; import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; +import com.tashow.cloud.productapi.api.product.vo.prodreservationconfig.TimeBookVO; +import com.tashow.cloud.productapi.general.StringListTypeHandler; import lombok.*; 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 java.util.List; + /** * 商品预约配置 DO * @@ -31,9 +36,10 @@ public class ProdReservationConfigDO extends BaseDO { */ private Long prodId; /** - * 预约时段设置(JSON格式存储) + * 预约时段设置 */ - private String reservationTimeSlots; + @TableField(typeHandler = StringListTypeHandler.class) + private List reservationTimeSlots; /** * 需提前多少小时预约 */ @@ -46,6 +52,12 @@ public class ProdReservationConfigDO extends BaseDO { * 是否允许更改预约时间 1可以 0不可以 */ private Integer allowChange; + + /** + * 时间段 + */ + private Integer timeSlot; + /** * 更改预约时间的时间规则(如服务开始前1小时可更改) */ @@ -55,9 +67,10 @@ public class ProdReservationConfigDO extends BaseDO { */ private Integer maxChangeTimes; /** - * 黑名自定义日期(JSON格式存储) + * 黑名自定义日期 */ - private String blacklistedDates; + @TableField(typeHandler = StringListTypeHandler.class) + private List blacklistedDates; /** * '是否开启黑名单自定义0关1开' @@ -70,9 +83,11 @@ public class ProdReservationConfigDO extends BaseDO { private Integer isBlackAppoint; /** - * 黑名单指定日期(JSON格式存储) + * 黑名单指定日期 */ - private String blackAppointDates; + //private String blackAppointDates; + @TableField(typeHandler = StringListTypeHandler.class) + private List blackAppointDates; /** * 法定节假日是否开启0:关闭1开启 */ @@ -82,4 +97,22 @@ public class ProdReservationConfigDO extends BaseDO { */ private Integer blackWeekend; + /** + * 预约时间区间设置 + */ + @TableField(exist=false) + private TimeBookVO timeBook; + + public TimeBookVO getTimeBook() { + if (this.timeBook == null) { + this.timeBook = new TimeBookVO(); + this.timeBook.setTimeSlot(this.timeSlot); + this.timeBook.setReservationTimeSlots(this.reservationTimeSlots); + } + return this.timeBook; + } + + public void setTimeBook(TimeBookVO timeBook) { + this.timeBook = timeBook; + } } \ No newline at end of file diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdWeightRangePricesDO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdWeightRangePricesDO.java index 074e3c2..87c40a9 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdWeightRangePricesDO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/dto/ProdWeightRangePricesDO.java @@ -41,7 +41,7 @@ public class ProdWeightRangePricesDO extends BaseDO { */ private BigDecimal price; /** - * 是否启用该规则0否1是 + * 是否收费0否1是 */ private Integer isEnabled; diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdListVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdListVO.java index 8076553..50dced3 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdListVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdListVO.java @@ -10,6 +10,7 @@ import com.tashow.cloud.productapi.general.StringListTypeHandler; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -41,22 +42,53 @@ public class ProdListVO { */ private String shopName; + /** + * 默认是1,正常状态(出售中), 0:下架(仓库中) 2:待审核 + */ + private Integer status; - @Schema(description = "") + /** + * 是否置灰0否1是 + */ + private Integer isProhibit; /** * 服务区域地址名称集合 */ private List areaNameList; + /** + * 紧急服务最快响应时间(小时) + */ + private BigDecimal responseHours; + /** + * 服务时段 + */ + private BigDecimal reservationTimeSlots; /** * 还剩多少天 */ private Long remainingDays; + /** + * 审核备注 + */ + private String processNotes; /** * 删除时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date deleteTime; + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + } \ No newline at end of file diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdRestoreListVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdRestoreListVO.java new file mode 100644 index 0000000..d39739a --- /dev/null +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdRestoreListVO.java @@ -0,0 +1,71 @@ +package com.tashow.cloud.productapi.api.product.vo.prod; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Schema(description = "商品服务配置 VO") +@Data +public class ProdRestoreListVO { + + /** + * 产品ID + */ + @TableId + private Long prodId; + /** + * 商品名称 + */ + private String prodName; + /** + * 分类名称 + */ + private String categoryName; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 店铺id + */ + private String shopName; + + /** + * 服务区域地址名称集合 + */ + private List areaNameList; + + /** + * 紧急服务最快响应时间(小时) + */ + private BigDecimal responseHours; + /** + * 服务时段 + */ + private BigDecimal reservationTimeSlots; + + /** + * 还剩多少天 + */ + private Long remainingDays; + + /** + * 删除时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date deleteTime; + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + +} \ No newline at end of file diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdServiceVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdServiceVO.java index d7292b2..06a1454 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdServiceVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prod/ProdServiceVO.java @@ -1,11 +1,13 @@ package com.tashow.cloud.productapi.api.product.vo.prod; +import com.fasterxml.jackson.annotation.JsonFormat; import com.tashow.cloud.productapi.api.product.vo.prodemergencyresponse.ProdEmergencyInfoVO; import com.tashow.cloud.productapi.api.product.vo.prodserviceareas.ProdServiceAreasInfoVO; import com.tashow.cloud.productapi.api.product.dto.*; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.util.Date; import java.util.List; @Schema(description = "商品服务配置 VO") @@ -15,6 +17,22 @@ public class ProdServiceVO { @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6943") private Long prodId; + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @Schema(description = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + @Schema(description = "新建人") + private String creator; + + @Schema(description = "修改人") + private String updater; + + @Schema(description = "分类名称") + private String categoryName; @Schema(description = "是否开启服务区域配置0关1开") private Integer regionSwitch; diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsRespVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsRespVO.java index e3e5e67..b479cce 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsRespVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsRespVO.java @@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; +import java.util.List; @Schema(description = "管理后台 - 特殊时段附加费用规则 Response VO") @Data @@ -26,7 +27,7 @@ public class ProdAdditionalFeePeriodsRespVO { @Schema(description = "特殊时段设置(JSON格式存储)", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("特殊时段设置(JSON格式存储)") - private String specialTimeSlots; + private List specialTimeSlots; @Schema(description = "收费方式0:'固定金额',1:'基准价上浮'", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("收费方式0:'固定金额',1:'基准价上浮'") diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsSaveReqVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsSaveReqVO.java index 83d2b34..a304f90 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsSaveReqVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodadditionalfeeperiods/ProdAdditionalFeePeriodsSaveReqVO.java @@ -6,6 +6,7 @@ import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; +import java.util.List; @Schema(description = "管理后台 - 特殊时段附加费用规则新增/修改 Request VO") @Data @@ -24,7 +25,7 @@ public class ProdAdditionalFeePeriodsSaveReqVO { @Schema(description = "特殊时段设置(JSON格式存储)", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "特殊时段设置(JSON格式存储)不能为空") - private String specialTimeSlots; + private List specialTimeSlots; @Schema(description = "收费方式0:'固定金额',1:'基准价上浮'", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "收费方式0:'固定金额',1:'基准价上浮'不能为空") diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyInfoVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyInfoVO.java index 1673a4e..91f0c0c 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyInfoVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyInfoVO.java @@ -22,17 +22,17 @@ public class ProdEmergencyInfoVO { */ private Long prodId; /** - * 可响应时间段(JSON格式存储) + * 可响应时间段 */ - private String responseTimeSlots; + private List responseTimeSlots; /** - * 黑名自定义日期(JSON格式存储) + * 黑名自定义日期 */ - private String blacklistedDates; + private List blacklistedDates; /** - * 黑名单指定日期(JSON格式存储) + * 黑名单指定日期 */ - private String blackAppointDates; + private List blackAppointDates; /** * 法定节假日是否开启0:关闭1开启 */ diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponsePageReqVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponsePageReqVO.java index f60e14a..fa65441 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponsePageReqVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponsePageReqVO.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 商品紧急响应服务设置分页 Request VO") @Data @@ -17,14 +18,14 @@ public class ProdEmergencyResponsePageReqVO extends PageParam { @Schema(description = "关联的商品ID", example = "29152") private Long prodId; - @Schema(description = "可响应时间段(JSON格式存储)") - private String responseTimeSlots; + @Schema(description = "可响应时间段") + private List responseTimeSlots; - @Schema(description = "黑名自定义日期(JSON格式存储)") - private String blacklistedDates; + @Schema(description = "黑名自定义日期") + private List blacklistedDates; - @Schema(description = "黑名单指定日期(JSON格式存储)") - private String blackAppointDates; + @Schema(description = "黑名单指定日期") + private List blackAppointDates; @Schema(description = "法定节假日是否开启0:关闭1开启") private Integer blackHappy; diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponseSaveReqVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponseSaveReqVO.java index 4098cbc..8223536 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponseSaveReqVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponse/ProdEmergencyResponseSaveReqVO.java @@ -1,10 +1,13 @@ package com.tashow.cloud.productapi.api.product.vo.prodemergencyresponse; +import com.baomidou.mybatisplus.annotation.TableField; +import com.tashow.cloud.productapi.general.StringListTypeHandler; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 商品紧急响应服务设置新增/修改 Request VO") @Data @@ -17,14 +20,14 @@ public class ProdEmergencyResponseSaveReqVO { @NotNull(message = "关联的商品ID不能为空") private Long prodId; - @Schema(description = "可响应时间段(JSON格式存储)") - private String responseTimeSlots; + @Schema(description = "可响应时间段") + private List responseTimeSlots; - @Schema(description = "黑名自定义日期(JSON格式存储)") - private String blacklistedDates; + @Schema(description = "黑名自定义日期") + private ListblacklistedDates; - @Schema(description = "黑名单指定日期(JSON格式存储)") - private String blackAppointDates; + @Schema(description = "黑名单指定日期") + private List blackAppointDates; @Schema(description = "法定节假日是否开启0:关闭1开启") private Integer blackHappy; diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsPageReqVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsPageReqVO.java index 63d8793..946a61a 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsPageReqVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsPageReqVO.java @@ -22,7 +22,7 @@ public class ProdEmergencyResponseIntervalsPageReqVO extends PageParam { private String modeName; @Schema(description = "响应时间(小时)") - private Integer responseHours; + private BigDecimal responseHours; @Schema(description = "收费模式0:固定收费 1:浮动收费") private Integer chargeMode; diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsRespVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsRespVO.java index efc64d4..378a209 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsRespVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsRespVO.java @@ -27,7 +27,7 @@ public class ProdEmergencyResponseIntervalsRespVO { @Schema(description = "响应时间(小时)", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("响应时间(小时)") - private Integer responseHours; + private BigDecimal responseHours; @Schema(description = "收费模式0:固定收费 1:浮动收费", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("收费模式0:固定收费 1:浮动收费") diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsSaveReqVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsSaveReqVO.java index 2beaae8..aff94bb 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsSaveReqVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodemergencyresponseintervals/ProdEmergencyResponseIntervalsSaveReqVO.java @@ -25,7 +25,7 @@ public class ProdEmergencyResponseIntervalsSaveReqVO { @Schema(description = "响应时间(小时)", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "响应时间(小时)不能为空") - private Integer responseHours; + private BigDecimal responseHours; @Schema(description = "收费模式0:固定收费 1:浮动收费", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "收费模式0:固定收费 1:浮动收费不能为空") diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigPageReqVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigPageReqVO.java index 6ae58b1..3344637 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigPageReqVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigPageReqVO.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 商品预约配置分页 Request VO") @Data @@ -17,8 +18,8 @@ public class ProdReservationConfigPageReqVO extends PageParam { @Schema(description = "关联的商品ID", example = "19369") private Long prodId; - @Schema(description = "预约时段设置(JSON格式存储)") - private String reservationTimeSlots; + @Schema(description = "预约时段设置") + private List reservationTimeSlots; @Schema(description = "需提前多少小时预约") private Integer advanceHours; @@ -35,8 +36,8 @@ public class ProdReservationConfigPageReqVO extends PageParam { @Schema(description = "允许更改预约时间的最大次数") private Integer maxChangeTimes; - @Schema(description = "黑名自定义日期(JSON格式存储)") - private String blacklistedDates; + @Schema(description = "黑名自定义日期") + private List blacklistedDates; /** * '是否开启黑名单自定义0关1开' @@ -48,8 +49,8 @@ public class ProdReservationConfigPageReqVO extends PageParam { */ private Integer isBlackAppoint; - @Schema(description = "黑名单指定日期(JSON格式存储)") - private String blackAppointDates; + @Schema(description = "黑名单指定日期") + private List blackAppointDates; @Schema(description = "法定节假日是否开启0:关闭1开启") private Boolean blackHappy; diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigRespVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigRespVO.java index 2eaff01..affc982 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigRespVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigRespVO.java @@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 商品预约配置 Response VO") @Data @@ -20,9 +21,9 @@ public class ProdReservationConfigRespVO { @ExcelProperty("关联的商品ID") private Long prodId; - @Schema(description = "预约时段设置(JSON格式存储)", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("预约时段设置(JSON格式存储)") - private String reservationTimeSlots; + @Schema(description = "预约时段设置", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("预约时段设置") + private List reservationTimeSlots; @Schema(description = "需提前多少小时预约", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("需提前多少小时预约") @@ -44,9 +45,9 @@ public class ProdReservationConfigRespVO { @ExcelProperty("允许更改预约时间的最大次数") private Integer maxChangeTimes; - @Schema(description = "黑名自定义日期(JSON格式存储)") - @ExcelProperty("黑名自定义日期(JSON格式存储)") - private String blacklistedDates; + @Schema(description = "黑名自定义日期") + @ExcelProperty("黑名自定义日期") + private List blacklistedDates; /** * '是否开启黑名单自定义0关1开' @@ -58,9 +59,9 @@ public class ProdReservationConfigRespVO { */ private Integer isBlackAppoint; - @Schema(description = "黑名单指定日期(JSON格式存储)") - @ExcelProperty("黑名单指定日期(JSON格式存储)") - private String blackAppointDates; + @Schema(description = "黑名单指定日期") + @ExcelProperty("黑名单指定日期") + private List blackAppointDates; @Schema(description = "法定节假日是否开启0:关闭1开启") @ExcelProperty("法定节假日是否开启0:关闭1开启") diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigSaveReqVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigSaveReqVO.java index 61a0daf..6b4af4a 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigSaveReqVO.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/ProdReservationConfigSaveReqVO.java @@ -6,6 +6,7 @@ import jakarta.validation.constraints.NotNull; import lombok.Data; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 商品预约配置新增/修改 Request VO") @Data @@ -18,9 +19,9 @@ public class ProdReservationConfigSaveReqVO { @NotNull(message = "关联的商品ID不能为空") private Long prodId; - @Schema(description = "预约时段设置(JSON格式存储)", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "预约时段设置(JSON格式存储)不能为空") - private String reservationTimeSlots; + @Schema(description = "预约时段设置", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "预约时段设置不能为空") + private List reservationTimeSlots; @Schema(description = "需提前多少小时预约", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "需提前多少小时预约不能为空") @@ -40,8 +41,8 @@ public class ProdReservationConfigSaveReqVO { @Schema(description = "允许更改预约时间的最大次数") private Integer maxChangeTimes; - @Schema(description = "黑名自定义日期(JSON格式存储)") - private String blacklistedDates; + @Schema(description = "黑名自定义日期") + private List blacklistedDates; /** * '是否开启黑名单自定义0关1开' @@ -53,8 +54,8 @@ public class ProdReservationConfigSaveReqVO { */ private Integer isBlackAppoint; - @Schema(description = "黑名单指定日期(JSON格式存储)") - private String blackAppointDates; + @Schema(description = "黑名单指定日期") + private List blackAppointDates; @Schema(description = "法定节假日是否开启0:关闭1开启") private Boolean blackHappy; diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/TimeBookVO.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/TimeBookVO.java new file mode 100644 index 0000000..a33c770 --- /dev/null +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/api/product/vo/prodreservationconfig/TimeBookVO.java @@ -0,0 +1,23 @@ +package com.tashow.cloud.productapi.api.product.vo.prodreservationconfig; + +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.util.List; + +@Schema(description = "管理后台 - 商品预约配置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class TimeBookVO { + + /** + * 预约时段设置 + */ + private List reservationTimeSlots; + /** + * 时间段 + */ + private Integer timeSlot; +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/admin/ProdController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/admin/ProdController.java index 7c108cc..0dc1f66 100644 --- a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/admin/ProdController.java +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/admin/ProdController.java @@ -134,16 +134,16 @@ public class ProdController { @PermitAll @GetMapping("/page") @Operation(summary = "获得商品分页") - public CommonResult> getProdPage(ProdPageReqVO pageReqVO) { - PageResult pageResult = prodService.getProdPage(pageReqVO); + public CommonResult> getProdPage(ProdPageReqVO pageReqVO) { + PageResult pageResult = prodService.getProdPage(pageReqVO); return success(pageResult); } @PermitAll @GetMapping("/getProdRecycleBinPageList") @Operation(summary = "获得商品回收站分页列表") - public CommonResult> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO) { - PageResult pageResult = prodService.getProdRecycleBinPageList(prodRecycleBinVO); + public CommonResult> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO) { + PageResult pageResult = prodService.getProdRecycleBinPageList(prodRecycleBinVO); return success(pageResult); } diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdMapper.java index 87dc157..47ddd20 100644 --- a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdMapper.java +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdMapper.java @@ -10,6 +10,7 @@ import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX; import com.tashow.cloud.productapi.api.product.dto.*; import com.tashow.cloud.productapi.api.product.vo.prod.ProdListVO; import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO; +import com.tashow.cloud.productapi.api.product.vo.prod.ProdRestoreListVO; import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO; import com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO; import org.apache.ibatis.annotations.Mapper; @@ -23,7 +24,7 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface ProdMapper extends BaseMapperX { - IPage getProdPageList(Page page,@Param("createTime") String[] createTime + IPage getProdPageList(Page page,@Param("createTime") String[] createTime , @Param("prodName") String prodName , @Param("shopId") Long shopId , @Param("status") Integer status @@ -48,7 +49,7 @@ public interface ProdMapper extends BaseMapperX { , @Param("weightSwitch") Integer weightSwitch ); - IPage getProdRecycleBinPageList(Page page, @Param("createTime") String[] createTime + IPage getProdRecycleBinPageList(Page page, @Param("deleteTime") String[] deleteTime , @Param("prodName") String prodName); diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdService.java index fe13e70..13f3d45 100644 --- a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdService.java +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdService.java @@ -79,9 +79,9 @@ public interface ProdService { * @param pageReqVO 分页查询 * @return 商品分页 */ - PageResult getProdPage(ProdPageReqVO pageReqVO); + PageResult getProdPage(ProdPageReqVO pageReqVO); - PageResult getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO); + PageResult getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO); /** * 恢复商品 diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceImpl.java index ff7f4b8..c064ebf 100644 --- a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceImpl.java +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import java.util.*; + import com.tashow.cloud.common.pojo.PageResult; import com.tashow.cloud.common.pojo.PageParam; import com.tashow.cloud.common.util.object.BeanUtils; @@ -76,7 +77,7 @@ public class ProdServiceImpl implements ProdService { //保存sku if (CollectionUtil.isNotEmpty(createReqVO.getSkuList())) { List skuList = createReqVO.getSkuList(); - for(SkuDO sku : skuList){ + for (SkuDO sku : skuList) { sku.setProdId(prod.getProdId()); } skuMapper.insertBatch(skuList); @@ -96,23 +97,23 @@ public class ProdServiceImpl implements ProdService { @Override @Transactional public void createProdService(ProdServiceVO prodServiceVO) { - ProdDO prodDO = new ProdDO(); + ProdDO prodDO = new ProdDO(); prodDO.setProdId(prodServiceVO.getProdId()); //服务区域设置 - if(Objects.equals(prodServiceVO.getRegionSwitch(),BaseEnum.YES_ONE.getKey())){ + if (Objects.equals(prodServiceVO.getRegionSwitch(), BaseEnum.YES_ONE.getKey())) { prodDO.setRegionSwitch(BaseEnum.YES_ONE.getKey()); //保存区域设置信息 ProdServiceOverAreaRulesDO prodServiceOverAreaRules = BeanUtils.toBean(prodServiceVO.getProdServiceAreasInfo(), ProdServiceOverAreaRulesDO.class); prodServiceOverAreaRules.setProdId(prodDO.getProdId()); prodServiceOverAreaRulesMapper.insert(prodServiceOverAreaRules); //保存区域 - List areaNameList =prodServiceVO.getProdServiceAreasInfo().getAreaNameList(); - for(String areaName : areaNameList){ + List areaNameList = prodServiceVO.getProdServiceAreasInfo().getAreaNameList(); + for (String areaName : areaNameList) { //查询区域信息 ProdServiceAreasDO prodServiceAreas = prodServiceAreasMapper.selectOne(new LambdaQueryWrapper() .eq(ProdServiceAreasDO::getAreaName, areaName) ); - if(prodServiceAreas != null){ + if (prodServiceAreas != null) { //插入关联表 prodServiceAreaRelevanceMapper.insert(new ProdServiceAreaRelevanceDO() .setProdId(prodDO.getProdId()) @@ -122,49 +123,49 @@ public class ProdServiceImpl implements ProdService { } } //预约设置设置 - if(Objects.equals(prodServiceVO.getReservationSwitch(),BaseEnum.YES_ONE.getKey())){ + if (Objects.equals(prodServiceVO.getReservationSwitch(), BaseEnum.YES_ONE.getKey())) { prodDO.setReservationSwitch(BaseEnum.YES_ONE.getKey()); - ProdReservationConfigDO prodReservationConfigDO = prodServiceVO.prodReservationConfig; + ProdReservationConfigDO prodReservationConfigDO = prodServiceVO.prodReservationConfig; prodReservationConfigDO.setProdId(prodDO.getProdId()); prodReservationConfigMapper.insert(prodReservationConfigDO); } //紧急响应设置 - if(Objects.equals(prodServiceVO.getEmergencySwitch(),BaseEnum.YES_ONE.getKey())){ + if (Objects.equals(prodServiceVO.getEmergencySwitch(), BaseEnum.YES_ONE.getKey())) { prodDO.setEmergencySwitch(BaseEnum.YES_ONE.getKey()); // 插入 ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.prodEmergencyInfoVO, ProdEmergencyResponseDO.class); prodEmergencyResponse.setProdId(prodDO.getProdId()); prodEmergencyResponseMapper.insert(prodEmergencyResponse); - for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.prodEmergencyInfoVO.getProdEmergencyResponseIntervalsList()){ + for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.prodEmergencyInfoVO.getProdEmergencyResponseIntervalsList()) { prodEmergencyResponseIntervals.setConfigId(prodEmergencyResponse.getId()); prodEmergencyResponseIntervalsMapper.insert(prodEmergencyResponseIntervals); } } //接单上线设置 - if(Objects.equals(prodServiceVO.getOrderLimitSwitch(),BaseEnum.YES_ONE.getKey())){ + if (Objects.equals(prodServiceVO.getOrderLimitSwitch(), BaseEnum.YES_ONE.getKey())) { prodDO.setOrderLimitSwitch(BaseEnum.YES_ONE.getKey()); ProductOrderLimitDO productOrderLimit = prodServiceVO.productOrderLimitVO; productOrderLimit.setProdId(prodDO.getProdId()); productOrderLimitMapper.insert(productOrderLimit); } //特殊时段设置 - if(Objects.equals(prodServiceVO.getAdditionalSwitch(),BaseEnum.YES_ONE.getKey())){ + if (Objects.equals(prodServiceVO.getAdditionalSwitch(), BaseEnum.YES_ONE.getKey())) { prodDO.setAdditionalSwitch(BaseEnum.YES_ONE.getKey()); - for (ProdAdditionalFeeDatesDO prodAdditionalFeeDates : prodServiceVO.getProdAdditionalFeeDatesList()){ + for (ProdAdditionalFeeDatesDO prodAdditionalFeeDates : prodServiceVO.getProdAdditionalFeeDatesList()) { prodAdditionalFeeDates.setProdId(prodServiceVO.getProdId()); prodAdditionalFeeDatesMapper.insert(prodAdditionalFeeDates); } } //特殊日期设置 - if(Objects.equals(prodServiceVO.getAdditionalFeeSwitch(),BaseEnum.YES_ONE.getKey())){ + if (Objects.equals(prodServiceVO.getAdditionalFeeSwitch(), BaseEnum.YES_ONE.getKey())) { prodDO.setAdditionalFeeSwitch(BaseEnum.YES_ONE.getKey()); - for (ProdAdditionalFeePeriodsDO prodAdditionalFeePeriods : prodServiceVO.getProdAdditionalFeePeriodsList()){ + for (ProdAdditionalFeePeriodsDO prodAdditionalFeePeriods : prodServiceVO.getProdAdditionalFeePeriodsList()) { prodAdditionalFeePeriods.setProdId(prodServiceVO.getProdId()); prodAdditionalFeePeriodsMapper.insert(prodAdditionalFeePeriods); } } //体重设置 - if(Objects.equals(prodServiceVO.getWeightSwitch(),BaseEnum.YES_ONE.getKey())){ + if (Objects.equals(prodServiceVO.getWeightSwitch(), BaseEnum.YES_ONE.getKey())) { prodDO.setWeightSwitch(BaseEnum.YES_ONE.getKey()); ProdWeightRangePricesDO prodWeightRangePrices = prodServiceVO.prodWeightConfig; prodWeightRangePrices.setProdId(prodDO.getProdId()); @@ -179,23 +180,23 @@ public class ProdServiceImpl implements ProdService { ProdDO prod = BeanUtils.toBean(prodServiceVO, ProdDO.class); //服务区域设置 - if(Objects.equals(prodServiceVO.getRegionSwitch(),BaseEnum.YES_ONE.getKey())){ - ProdServiceOverAreaRulesDO overAreaRules= prodServiceOverAreaRulesMapper.selectOne(new LambdaQueryWrapper() + if (Objects.equals(prodServiceVO.getRegionSwitch(), BaseEnum.YES_ONE.getKey())) { + ProdServiceOverAreaRulesDO overAreaRules = prodServiceOverAreaRulesMapper.selectOne(new LambdaQueryWrapper() .eq(ProdServiceOverAreaRulesDO::getProdId, prodServiceVO.getProdId())); - if(overAreaRules==null){ + if (overAreaRules == null) { prod.setRegionSwitch(BaseEnum.YES_ONE.getKey()); //保存区域设置信息 ProdServiceOverAreaRulesDO prodServiceOverAreaRules = BeanUtils.toBean(prodServiceVO.getProdServiceAreasInfo(), ProdServiceOverAreaRulesDO.class); prodServiceOverAreaRules.setProdId(prod.getProdId()); prodServiceOverAreaRulesMapper.insert(prodServiceOverAreaRules); //保存区域 - List areaNameList =prodServiceVO.getProdServiceAreasInfo().getAreaNameList(); - for(String areaName : areaNameList){ + List areaNameList = prodServiceVO.getProdServiceAreasInfo().getAreaNameList(); + for (String areaName : areaNameList) { //查询区域信息 ProdServiceAreasDO prodServiceAreas = prodServiceAreasMapper.selectOne(new LambdaQueryWrapper() .eq(ProdServiceAreasDO::getAreaName, areaName) ); - if(prodServiceAreas != null){ + if (prodServiceAreas != null) { //插入关联表 prodServiceAreaRelevanceMapper.insert(new ProdServiceAreaRelevanceDO() .setProdId(prod.getProdId()) @@ -203,7 +204,7 @@ public class ProdServiceImpl implements ProdService { ); } } - }else { + } else { //保存区域设置信息 ProdServiceOverAreaRulesDO prodServiceOverAreaRules = BeanUtils.toBean(prodServiceVO.getProdServiceAreasInfo(), ProdServiceOverAreaRulesDO.class); prodServiceOverAreaRules.setProdId(prodServiceVO.getProdId()); @@ -211,13 +212,13 @@ public class ProdServiceImpl implements ProdService { //先批量删除区域关联表 prodServiceAreaRelevanceMapper.deleteRelevance(prodServiceVO.getProdId()); //保存区域 - List areaNameList =prodServiceVO.getProdServiceAreasInfo().getAreaNameList(); - for(String areaName : areaNameList){ + List areaNameList = prodServiceVO.getProdServiceAreasInfo().getAreaNameList(); + for (String areaName : areaNameList) { //查询区域信息 ProdServiceAreasDO prodServiceAreas = prodServiceAreasMapper.selectOne(new LambdaQueryWrapper() .eq(ProdServiceAreasDO::getAreaName, areaName) ); - if(prodServiceAreas == null){ + if (prodServiceAreas != null) { //插入关联表 prodServiceAreaRelevanceMapper.insert(new ProdServiceAreaRelevanceDO() .setProdId(prodServiceVO.getProdId()) @@ -229,87 +230,99 @@ public class ProdServiceImpl implements ProdService { } //预约设置设置 - if(Objects.equals(prodServiceVO.getReservationSwitch(),BaseEnum.YES_ONE.getKey())){ - ProdReservationConfigDO reservationConfig= prodReservationConfigMapper.selectOne(new LambdaQueryWrapper() + if (Objects.equals(prodServiceVO.getReservationSwitch(), BaseEnum.YES_ONE.getKey())) { + ProdReservationConfigDO reservationConfig = prodReservationConfigMapper.selectOne(new LambdaQueryWrapper() .eq(ProdReservationConfigDO::getProdId, prodServiceVO.getProdId())); - if(reservationConfig==null){ + if (reservationConfig == null) { prod.setReservationSwitch(BaseEnum.YES_ONE.getKey()); - ProdReservationConfigDO prodReservationConfigDO = prodServiceVO.getProdReservationConfig(); + ProdReservationConfigDO prodReservationConfigDO = prodServiceVO.getProdReservationConfig(); prodReservationConfigDO.setProdId(prod.getProdId()); + prodReservationConfigDO.setTimeBook(prodServiceVO.getProdReservationConfig().getTimeBook()); + prodReservationConfigDO.setReservationTimeSlots(prodServiceVO.getProdReservationConfig().getReservationTimeSlots()); prodReservationConfigMapper.insert(prodReservationConfigDO); - }else { + } else { + prodServiceVO.getProdReservationConfig().setTimeBook(prodServiceVO.getProdReservationConfig().getTimeBook()); + prodServiceVO.getProdReservationConfig().setReservationTimeSlots(prodServiceVO.getProdReservationConfig().getReservationTimeSlots()); prodReservationConfigMapper.updateById(prodServiceVO.getProdReservationConfig()); } } //紧急响应设置 - if(Objects.equals(prodServiceVO.getEmergencySwitch(),BaseEnum.YES_ONE.getKey())){ - ProdEmergencyResponseDO rmergencyResponse= prodEmergencyResponseMapper.selectOne(new LambdaQueryWrapper() + if (Objects.equals(prodServiceVO.getEmergencySwitch(), BaseEnum.YES_ONE.getKey())) { + ProdEmergencyResponseDO rmergencyResponse = prodEmergencyResponseMapper.selectOne(new LambdaQueryWrapper() .eq(ProdEmergencyResponseDO::getProdId, prodServiceVO.getProdId())); - if(rmergencyResponse==null){ + if (rmergencyResponse == null) { prod.setEmergencySwitch(BaseEnum.YES_ONE.getKey()); // 插入 - ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.prodEmergencyInfoVO, ProdEmergencyResponseDO.class); + ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.getProdEmergencyInfoVO(), ProdEmergencyResponseDO.class); prodEmergencyResponse.setProdId(prod.getProdId()); prodEmergencyResponseMapper.insert(prodEmergencyResponse); - for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.prodEmergencyInfoVO.getProdEmergencyResponseIntervalsList()){ - prodEmergencyResponseIntervals.setConfigId(prodEmergencyResponse.getId()); - prodEmergencyResponseIntervalsMapper.insert(prodEmergencyResponseIntervals); + if(prodServiceVO.getProdEmergencyInfoVO().getProdEmergencyResponseIntervalsList()!=null){ + for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.getProdEmergencyInfoVO().getProdEmergencyResponseIntervalsList()) { + prodEmergencyResponseIntervals.setConfigId(prodEmergencyResponse.getId()); + prodEmergencyResponseIntervals.setProdId(prod.getProdId()); + prodEmergencyResponseIntervalsMapper.insert(prodEmergencyResponseIntervals); + } } - }else { - ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.prodEmergencyInfoVO, ProdEmergencyResponseDO.class); - if(prodEmergencyResponse!=null){ + + } else { + ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.getProdEmergencyInfoVO(), ProdEmergencyResponseDO.class); + if (prodEmergencyResponse != null) { prodEmergencyResponseMapper.updateById(prodEmergencyResponse); prodEmergencyResponseIntervalsMapper.deleteIntervals(prodEmergencyResponse.getId()); - for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.prodEmergencyInfoVO.getProdEmergencyResponseIntervalsList()){ - prodEmergencyResponseIntervals.setConfigId(prodEmergencyResponse.getId()); - prodEmergencyResponseIntervalsMapper.insert(prodEmergencyResponseIntervals); + if(prodServiceVO.getProdEmergencyInfoVO().getProdEmergencyResponseIntervalsList()!=null) { + for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.getProdEmergencyInfoVO().getProdEmergencyResponseIntervalsList()) { + prodEmergencyResponseIntervals.setConfigId(prodEmergencyResponse.getId()); + prodEmergencyResponseIntervals.setProdId(prod.getProdId()); + prodEmergencyResponseIntervalsMapper.insert(prodEmergencyResponseIntervals); + } } } } } //接单上线设置 - if(Objects.equals(prodServiceVO.getOrderLimitSwitch(),BaseEnum.YES_ONE.getKey())){ - ProductOrderLimitDO orderLimit= productOrderLimitMapper.selectOne(new LambdaQueryWrapper() + if (Objects.equals(prodServiceVO.getOrderLimitSwitch(), BaseEnum.YES_ONE.getKey())) { + ProductOrderLimitDO orderLimit = productOrderLimitMapper.selectOne(new LambdaQueryWrapper() .eq(ProductOrderLimitDO::getProdId, prodServiceVO.getProdId())); - if(orderLimit==null){ + if (orderLimit == null) { prod.setOrderLimitSwitch(BaseEnum.YES_ONE.getKey()); ProductOrderLimitDO productOrderLimit = prodServiceVO.getProductOrderLimitVO(); productOrderLimit.setProdId(prod.getProdId()); productOrderLimitMapper.insert(productOrderLimit); - }else { + } else { productOrderLimitMapper.updateById(prodServiceVO.getProductOrderLimitVO()); } } //特殊时段设置 - if(Objects.equals(prodServiceVO.getAdditionalSwitch(),BaseEnum.YES_ONE.getKey())){ - for (ProdAdditionalFeeDatesDO prodAdditionalFeeDates : prodServiceVO.getProdAdditionalFeeDatesList()){ - if(prodAdditionalFeeDates.getId()==null){ - prodAdditionalFeeDates.setProdId(prodServiceVO.getProdId()); - prodAdditionalFeeDatesMapper.insert(prodAdditionalFeeDates); - }else { - prodAdditionalFeeDatesMapper.updateById(prodAdditionalFeeDates); + if (Objects.equals(prodServiceVO.getAdditionalSwitch(), BaseEnum.YES_ONE.getKey())) { + if (prodServiceVO.getProdAdditionalFeeDatesList() != null) + for (ProdAdditionalFeeDatesDO prodAdditionalFeeDates : prodServiceVO.getProdAdditionalFeeDatesList()) { + if (prodAdditionalFeeDates.getId() == null) { + prodAdditionalFeeDates.setProdId(prodServiceVO.getProdId()); + prodAdditionalFeeDatesMapper.insert(prodAdditionalFeeDates); + } else { + prodAdditionalFeeDatesMapper.updateById(prodAdditionalFeeDates); + } } - } } //特殊日期设置 - if(Objects.equals(prodServiceVO.getAdditionalFeeSwitch(),BaseEnum.YES_ONE.getKey())){ - for (ProdAdditionalFeePeriodsDO prodAdditionalFeePeriods : prodServiceVO.getProdAdditionalFeePeriodsList()){ - if(prodAdditionalFeePeriods.getId()==null){ + if (Objects.equals(prodServiceVO.getAdditionalFeeSwitch(), BaseEnum.YES_ONE.getKey())) { + for (ProdAdditionalFeePeriodsDO prodAdditionalFeePeriods : prodServiceVO.getProdAdditionalFeePeriodsList()) { + if (prodAdditionalFeePeriods.getId() == null) { prodAdditionalFeePeriods.setProdId(prodServiceVO.getProdId()); prodAdditionalFeePeriodsMapper.insert(prodAdditionalFeePeriods); - }else { + } else { prodAdditionalFeePeriodsMapper.updateById(prodAdditionalFeePeriods); } } } //体重设置 - if(Objects.equals(prodServiceVO.getWeightSwitch(),BaseEnum.YES_ONE.getKey())){ - if(prodServiceVO.getProdWeightConfig().getId()==null){ + if (Objects.equals(prodServiceVO.getWeightSwitch(), BaseEnum.YES_ONE.getKey())) { + if (prodServiceVO.getProdWeightConfig().getId() == null) { prod.setWeightSwitch(BaseEnum.YES_ONE.getKey()); ProdWeightRangePricesDO prodWeightRangePrices = prodServiceVO.getProdWeightConfig(); prodWeightRangePrices.setProdId(prod.getProdId()); prodWeightRangePricesMapper.insert(prodWeightRangePrices); - }else { + } else { prodWeightRangePricesMapper.updateById(prodServiceVO.getProdWeightConfig()); } } @@ -319,14 +332,14 @@ public class ProdServiceImpl implements ProdService { @Override public ProdServiceVO getProdService(Long prodId) { ProdDO prodDO = prodMapper.selectById(prodId); - if(prodDO!= null&&prodDO.getRegionSwitch()==BaseEnum.YES_ONE.getKey()){ - return prodMapper.selectProdService(prodDO.getProdId(),prodDO.getRegionSwitch(), - prodDO.getReservationSwitch(),prodDO.getEmergencySwitch(),prodDO.getOrderLimitSwitch(), - prodDO.getAdditionalSwitch(),prodDO.getAdditionalFeeSwitch(),prodDO.getWeightSwitch()); - }else { + if (prodDO != null && prodDO.getRegionSwitch() == BaseEnum.YES_ONE.getKey()) { + return prodMapper.selectProdService(prodDO.getProdId(), prodDO.getRegionSwitch(), + prodDO.getReservationSwitch(), prodDO.getEmergencySwitch(), prodDO.getOrderLimitSwitch(), + prodDO.getAdditionalSwitch(), prodDO.getAdditionalFeeSwitch(), prodDO.getWeightSwitch()); + } else { return prodMapper.selectProdServiceInfo(prodDO.getProdId(), - prodDO.getReservationSwitch(),prodDO.getEmergencySwitch(),prodDO.getOrderLimitSwitch(), - prodDO.getAdditionalSwitch(),prodDO.getAdditionalFeeSwitch(),prodDO.getWeightSwitch()); + prodDO.getReservationSwitch(), prodDO.getEmergencySwitch(), prodDO.getOrderLimitSwitch(), + prodDO.getAdditionalSwitch(), prodDO.getAdditionalFeeSwitch(), prodDO.getWeightSwitch()); } @@ -365,19 +378,21 @@ public class ProdServiceImpl implements ProdService { } @Override - public PageResult getProdPage(ProdPageReqVO pageReqVO) { - IPage prodPageList = prodMapper.getProdPageList(MyBatisUtils.buildPage(pageReqVO), + public PageResult getProdPage(ProdPageReqVO pageReqVO) { + IPage prodPageList = prodMapper.getProdPageList(MyBatisUtils.buildPage(pageReqVO), pageReqVO.getCreateTime(), pageReqVO.getProdName(), pageReqVO.getShopId(), pageReqVO.getStatus(), pageReqVO.getCategoryId()); - return new PageResult<>(prodPageList.getRecords(),prodPageList.getTotal()); + return new PageResult<>(prodPageList.getRecords(), prodPageList.getTotal()); } @Override - public PageResult getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO){ - IPage prodPageList = prodMapper.getProdRecycleBinPageList(MyBatisUtils.buildPage(prodRecycleBinVO), prodRecycleBinVO.getDeleteTime(), prodRecycleBinVO.getProdName()); - for(ProdListVO prodPage : prodPageList.getRecords()){ - prodPage.setRemainingDays(DateUtils.getRemainingDays(prodPage.getDeleteTime())); + public PageResult getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO) { + IPage prodPageList = prodMapper.getProdRecycleBinPageList(MyBatisUtils.buildPage(prodRecycleBinVO), prodRecycleBinVO.getDeleteTime(), prodRecycleBinVO.getProdName()); + for (ProdRestoreListVO prodPage : prodPageList.getRecords()) { + if (prodPage.getDeleteTime() != null) { + prodPage.setRemainingDays(DateUtils.getRemainingDays(prodPage.getDeleteTime())); + } } - return new PageResult<>(prodPageList.getRecords(),prodPageList.getTotal()); + return new PageResult<>(prodPageList.getRecords(), prodPageList.getTotal()); } @Override diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml index 1c7c164..3134a78 100644 --- a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdMapper.xml @@ -50,6 +50,7 @@ + @@ -173,6 +174,7 @@ + @@ -233,26 +235,7 @@ - + @@ -265,6 +248,12 @@ p.reservation_switch, p.order_limit_switch, p.weight_switch, + p.region_switch, + p.create_time, + p.update_time, + p.creator, + p.updater, + p.category_name, erc.id AS erc_record_id, @@ -328,6 +317,7 @@ rc.reservation_date_range AS rc_reservation_date_range, rc.allow_change AS rc_allow_change, rc.change_time_rule AS rc_change_time_rule, + rc.time_slot AS rc_time_slot, rc.max_change_times AS rc_max_change_times, rc.blacklisted_dates AS rc_blacklisted_dates, rc.is_blacklisted AS rc_is_blacklisted, @@ -405,6 +395,7 @@ p.reservation_switch, p.order_limit_switch, p.weight_switch, + p.region_switch, erc.id AS erc_record_id, @@ -468,6 +459,7 @@ rc.reservation_date_range AS rc_reservation_date_range, rc.allow_change AS rc_allow_change, rc.change_time_rule AS rc_change_time_rule, + rc.time_slot AS rc_time_slot, rc.max_change_times AS rc_max_change_times, rc.blacklisted_dates AS rc_blacklisted_dates, rc.is_blacklisted AS rc_is_blacklisted, @@ -523,48 +515,64 @@ - + + + + + - + - - - + + + + + + + + + + + + + + + + + + + + + + UPDATE tz_prod SET deleted = 0