获取服务配置2
This commit is contained in:
@@ -71,5 +71,7 @@ public class ProdAdditionalFeeDatesDO extends BaseDO {
|
||||
* 是否启用该规则是否启用该规则0关1开
|
||||
*/
|
||||
private Integer isEnabled;
|
||||
|
||||
public boolean isEmpty() {
|
||||
return id == null ;
|
||||
}
|
||||
}
|
||||
@@ -56,5 +56,7 @@ public class ProdAdditionalFeePeriodsDO extends BaseDO {
|
||||
* 浮动百分比
|
||||
*/
|
||||
private BigDecimal floatingPercentage;
|
||||
|
||||
public boolean isEmpty() {
|
||||
return id == null ;
|
||||
}
|
||||
}
|
||||
@@ -58,4 +58,8 @@ public class ProdEmergencyResponseIntervalsDO extends BaseDO {
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
|
||||
public boolean isEmpty() {
|
||||
return id == null;
|
||||
}
|
||||
}
|
||||
@@ -41,4 +41,9 @@ public class ProdExtendDO {
|
||||
*/
|
||||
private Integer isDisable;
|
||||
|
||||
/**
|
||||
* 体重是否收费0否1是
|
||||
*/
|
||||
private Integer isWeightCharge;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prod;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdAdditionalFeeDatesDO;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdAdditionalFeePeriodsDO;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdWeightRangePricesDO;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProductOrderLimitDO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodemergencyresponse.ProdEmergencyInfoVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodreservationconfig.ProdReservationInfoVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodserviceareas.ProdServiceAreasInfoVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "商品服务配置 VO")
|
||||
@Data
|
||||
public class ProdServiceInfoVO {
|
||||
|
||||
@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;
|
||||
@Schema(description = "服务区域配置")
|
||||
public ProdServiceAreasInfoVO prodServiceAreasInfo;
|
||||
|
||||
|
||||
@Schema(description = "是否预约0关1开")
|
||||
private Integer reservationSwitch;
|
||||
@Schema(description = "预约配置")
|
||||
public ProdReservationInfoVO prodReservationConfig;
|
||||
|
||||
@Schema(description = "是否紧急响应服务0关1开")
|
||||
private Integer emergencySwitch;
|
||||
@Schema(description = "急响应服务配置")
|
||||
public ProdEmergencyInfoVO prodEmergencyInfoVO;
|
||||
|
||||
@Schema(description = "是否接单上线0关1开")
|
||||
private Integer orderLimitSwitch;
|
||||
@Schema(description = "接单上线配置")
|
||||
public ProductOrderLimitDO productOrderLimitVO;
|
||||
|
||||
|
||||
@Schema(description = "是否特殊时段0关1开")
|
||||
private Integer additionalSwitch;
|
||||
@Schema(description = "特殊时段规则配置")
|
||||
public List<ProdAdditionalFeeDatesDO> prodAdditionalFeeDatesList;
|
||||
|
||||
@Schema(description = "是否特殊日期(节假日周末什么的)0关1开")
|
||||
private Integer additionalFeeSwitch;
|
||||
@Schema(description = "特殊日期规则配置")
|
||||
public List<ProdAdditionalFeePeriodsDO> prodAdditionalFeePeriodsList;
|
||||
|
||||
|
||||
@Schema(description = "是否开启体重配置0关1开")
|
||||
private Integer weightSwitch;
|
||||
@Schema(description = "体重配置")
|
||||
public List<ProdWeightRangePricesDO> prodWeightConfig;
|
||||
|
||||
}
|
||||
@@ -5,11 +5,13 @@ import com.tashow.cloud.productapi.api.product.vo.prodemergencyresponse.ProdEmer
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodreservationconfig.ProdReservationInfoVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodserviceareas.ProdServiceAreasInfoVO;
|
||||
import com.tashow.cloud.productapi.api.product.dto.*;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodweightrangeprices.ProdWeightRangePricesSaveInfoVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "商品服务配置 VO")
|
||||
@Data
|
||||
@@ -71,6 +73,31 @@ public class ProdServiceVO {
|
||||
@Schema(description = "是否开启体重配置0关1开")
|
||||
private Integer weightSwitch;
|
||||
@Schema(description = "体重配置")
|
||||
public ProdWeightRangePricesDO prodWeightConfig;
|
||||
public ProdWeightRangePricesSaveInfoVO prodWeightConfig;
|
||||
|
||||
public List<ProdAdditionalFeeDatesDO> getProdAdditionalFeeDatesList() {
|
||||
if (prodAdditionalFeeDatesList == null) {
|
||||
return null; // 或者 return Collections.emptyList(); 根据你希望 null 还是 []d
|
||||
}
|
||||
return prodAdditionalFeeDatesList.stream()
|
||||
.filter(black -> black != null && !black.isEmpty())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void setProdAdditionalFeeDatesList(List<ProdAdditionalFeeDatesDO> prodAdditionalFeeDatesList) {
|
||||
this.prodAdditionalFeeDatesList = prodAdditionalFeeDatesList;
|
||||
}
|
||||
|
||||
public List<ProdAdditionalFeePeriodsDO> getProdAdditionalFeePeriodsList() {
|
||||
if (prodAdditionalFeePeriodsList == null) {
|
||||
return null; // 或者 return Collections.emptyList(); 根据你希望 null 还是 []d
|
||||
}
|
||||
return prodAdditionalFeePeriodsList.stream()
|
||||
.filter(black -> black != null && !black.isEmpty())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void setProdAdditionalFeePeriodsList(List<ProdAdditionalFeePeriodsDO> prodAdditionalFeePeriodsList) {
|
||||
this.prodAdditionalFeePeriodsList = prodAdditionalFeePeriodsList;
|
||||
}
|
||||
}
|
||||
@@ -36,6 +36,7 @@ public class ProdAdditionalFeeBlackVO {
|
||||
@Schema(description = "是否启用该规则是否启用该规则0关1开", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否启用该规则是否启用该规则0关1开")
|
||||
private Integer isEnabled;
|
||||
|
||||
|
||||
public boolean isEmpty() {
|
||||
return id == null ;
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "管理后台 - 商品紧急响应服务设置 Response VO")
|
||||
@Data
|
||||
@@ -35,4 +36,31 @@ public class ProdEmergencyInfoVO {
|
||||
|
||||
@Schema(description = "紧急响应黑名单日期设置")
|
||||
public List<ProdAdditionalFeeBlackVO> prodEmergencyResponseBlackList;
|
||||
|
||||
public List<ProdEmergencyResponseIntervalsDO> getProdEmergencyResponseIntervalsList() {
|
||||
if (prodEmergencyResponseIntervalsList == null) {
|
||||
return null; // 或者 return Collections.emptyList(); 根据你希望 null 还是 []
|
||||
}
|
||||
return prodEmergencyResponseIntervalsList.stream()
|
||||
.filter(black -> black != null && !black.isEmpty())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void setProdEmergencyResponseIntervalsList(List<ProdEmergencyResponseIntervalsDO> prodEmergencyResponseIntervalsList) {
|
||||
this.prodEmergencyResponseIntervalsList = prodEmergencyResponseIntervalsList;
|
||||
}
|
||||
|
||||
// getter 中做转换
|
||||
public List<ProdAdditionalFeeBlackVO> getProdEmergencyResponseBlackList() {
|
||||
if (prodEmergencyResponseBlackList == null) {
|
||||
return null; // 或者 return Collections.emptyList(); 根据你希望 null 还是 []
|
||||
}
|
||||
return prodEmergencyResponseBlackList.stream()
|
||||
.filter(black -> black != null && !black.isEmpty())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void setProdEmergencyResponseBlackList(List<ProdAdditionalFeeBlackVO> prodEmergencyResponseBlackList) {
|
||||
this.prodEmergencyResponseBlackList = prodEmergencyResponseBlackList;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prodreservationconfig;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodadditionalfeedates.ProdAdditionalFeeBlackVO;
|
||||
import com.tashow.cloud.productapi.general.StringListTypeHandler;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "管理后台 - 商品紧急响应服务设置 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProdReservationInfoReqVO {
|
||||
|
||||
/**
|
||||
* 预约配置的唯一标识符
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 关联的商品ID
|
||||
*/
|
||||
private Long prodId;
|
||||
/**
|
||||
* 预约时段设置
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> reservationTimeSlots;
|
||||
/**
|
||||
* 需提前多少小时预约
|
||||
*/
|
||||
private Integer advanceHours;
|
||||
/**
|
||||
* 预约日期范围 7天 10天 15天 30天
|
||||
*/
|
||||
private Integer reservationDateRange;
|
||||
/**
|
||||
* 是否允许更改预约时间 1可以 0不可以
|
||||
*/
|
||||
private Integer allowChange;
|
||||
|
||||
/**
|
||||
* 时间段
|
||||
*/
|
||||
private Integer timeSlot;
|
||||
|
||||
/**
|
||||
* 更改预约时间的时间规则(如服务开始前1小时可更改)
|
||||
*/
|
||||
private Integer changeTimeRule;
|
||||
/**
|
||||
* 允许更改预约时间的最大次数
|
||||
*/
|
||||
private Integer maxChangeTimes;
|
||||
|
||||
/**
|
||||
* 预约时间区间设置
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
|
||||
@Schema(description = "预约黑名单日期设置")
|
||||
public List<ProdAdditionalFeeBlackVO> prodReservationBlackList = new ArrayList<>();
|
||||
|
||||
}
|
||||
@@ -10,6 +10,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "管理后台 - 商品紧急响应服务设置 Response VO")
|
||||
@Data
|
||||
@@ -78,4 +80,19 @@ public class ProdReservationInfoVO {
|
||||
|
||||
@Schema(description = "预约黑名单日期设置")
|
||||
public List<ProdAdditionalFeeBlackVO> prodReservationBlackList;
|
||||
|
||||
public List<ProdAdditionalFeeBlackVO> getProdReservationBlackList() {
|
||||
if (prodReservationBlackList == null || prodReservationBlackList.isEmpty()) {
|
||||
return prodReservationBlackList;
|
||||
}
|
||||
return prodReservationBlackList.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.filter(black -> !black.isEmpty())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void setProdReservationBlackList(List<ProdAdditionalFeeBlackVO> prodReservationBlackList) {
|
||||
this.prodReservationBlackList = prodReservationBlackList;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prodweightrangeprices;
|
||||
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdWeightRangePricesDO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 体重区间价格新增/修改 Request VO")
|
||||
@Data
|
||||
public class ProdWeightRangePricesSaveInfoVO {
|
||||
|
||||
@Schema(description = "体重是否收费0否1是")
|
||||
private Integer isWeightCharge;
|
||||
|
||||
@Schema(description = "体重配置")
|
||||
public List<ProdWeightRangePricesDO> prodWeightConfigList;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user