Merge branch 'develop' into feature/order
# Conflicts: # tashow-module/pom.xml # tashow-module/tashow-module-infra/src/main/resources/application-local.yaml
This commit is contained in:
@@ -9,50 +9,54 @@ import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
/**
|
||||
* RPC 服务 - 文件
|
||||
*/
|
||||
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory =
|
||||
/** RPC 服务 - 文件 */
|
||||
public interface FileApi {
|
||||
|
||||
String PREFIX = ApiConstants.PREFIX + "/file";
|
||||
String PREFIX = ApiConstants.PREFIX + "/file";
|
||||
|
||||
/**
|
||||
* 保存文件,并返回文件的访问路径
|
||||
*
|
||||
* @param content 文件内容
|
||||
* @return 文件路径
|
||||
*/
|
||||
default String createFile(byte[] content) {
|
||||
return createFile(null, null, content);
|
||||
}
|
||||
/**
|
||||
* 保存文件,并返回文件的访问路径
|
||||
*
|
||||
* @param content 文件内容
|
||||
* @return 文件路径
|
||||
*/
|
||||
default String createFile(byte[] content) {
|
||||
return createFile(null, null, content);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存文件,并返回文件的访问路径
|
||||
*
|
||||
* @param path 文件路径
|
||||
* @param content 文件内容
|
||||
* @return 文件路径
|
||||
*/
|
||||
default String createFile(String path, byte[] content) {
|
||||
return createFile(null, path, content);
|
||||
}
|
||||
/**
|
||||
* 保存文件,并返回文件的访问路径
|
||||
*
|
||||
* @param path 文件路径
|
||||
* @param content 文件内容
|
||||
* @return 文件路径
|
||||
*/
|
||||
default String createFile(String path, byte[] content) {
|
||||
return createFile(null, path, content);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存文件,并返回文件的访问路径
|
||||
*
|
||||
* @param name 原文件名称
|
||||
* @param path 文件路径
|
||||
* @param content 文件内容
|
||||
* @return 文件路径
|
||||
*/
|
||||
default String createFile(
|
||||
@RequestParam("name") String name,
|
||||
@RequestParam("path") String path,
|
||||
@RequestParam("content") byte[] content) {
|
||||
return createFile(new FileCreateReqDTO().setName(name).setPath(path).setContent(content))
|
||||
.getCheckedData();
|
||||
}
|
||||
/**
|
||||
* 保存文件,并返回文件的访问路径
|
||||
*
|
||||
* @param name 原文件名称
|
||||
* @param path 文件路径
|
||||
* @param content 文件内容
|
||||
* @return 文件路径
|
||||
*/
|
||||
default String createFile(
|
||||
@RequestParam("name") String name,
|
||||
@RequestParam("path") String path,
|
||||
@RequestParam("content") byte[] content) {
|
||||
return createFile(new FileCreateReqDTO().setName(name).setPath(path).setContent(content))
|
||||
.getCheckedData();
|
||||
}
|
||||
|
||||
@PostMapping(PREFIX + "/create")
|
||||
/** 保存文件,并返回文件的访问路径 */
|
||||
CommonResult<String> createFile(@Valid @RequestBody FileCreateReqDTO createReqDTO);
|
||||
/**
|
||||
* 保存文件,并返回文件的访问路径
|
||||
*/
|
||||
@PostMapping(PREFIX + "/create")
|
||||
CommonResult<String> createFile(@Valid @RequestBody FileCreateReqDTO createReqDTO);
|
||||
}
|
||||
|
||||
@@ -1,85 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.tashow.cloud</groupId>
|
||||
<artifactId>tashow-feign</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
<artifactId>tashow-product-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.tashow.cloud</groupId>
|
||||
<artifactId>tashow-feign</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
<artifactId>tashow-product-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>${project.artifactId}</name>
|
||||
<description>
|
||||
infra 模块 API,暴露给其它模块调用
|
||||
</description>
|
||||
<name>${project.artifactId}</name>
|
||||
<description>
|
||||
infra 模块 API,暴露给其它模块调用
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.tashow.cloud</groupId>
|
||||
<artifactId>tashow-common</artifactId>
|
||||
</dependency>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.tashow.cloud</groupId>
|
||||
<artifactId>tashow-common</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 参数校验 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<!-- 参数校验 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<!-- RPC 远程调用相关 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
<version>3.5.13</version> <!-- 推荐使用最新稳定版本 -->
|
||||
</dependency>
|
||||
<!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 -->
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>1.6.2</version>
|
||||
</dependency>
|
||||
<!-- Swagger Core -->
|
||||
<dependency>
|
||||
<groupId>io.swagger.core.v3</groupId>
|
||||
<artifactId>swagger-core</artifactId>
|
||||
<version>2.2.20</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.validation</groupId>
|
||||
<artifactId>jakarta.validation-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Swagger Models -->
|
||||
<dependency>
|
||||
<groupId>io.swagger.core.v3</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>2.2.20</version>
|
||||
</dependency>
|
||||
<!-- EasyExcel 核心库 -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>easyexcel</artifactId>
|
||||
<version>4.0.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
<version>3.5.9</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-annotation</artifactId>
|
||||
<version>3.5.9</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.tashow.cloud</groupId>
|
||||
<artifactId>tashow-data-mybatis</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<!-- RPC 远程调用相关 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
<version>3.5.13</version> <!-- 推荐使用最新稳定版本 -->
|
||||
</dependency>
|
||||
<!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 -->
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>1.6.2</version>
|
||||
</dependency>
|
||||
<!-- Swagger Core -->
|
||||
<dependency>
|
||||
<groupId>io.swagger.core.v3</groupId>
|
||||
<artifactId>swagger-core</artifactId>
|
||||
<version>2.2.20</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Swagger Models -->
|
||||
<dependency>
|
||||
<groupId>io.swagger.core.v3</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>2.2.20</version>
|
||||
</dependency>
|
||||
<!-- EasyExcel 核心库 -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>easyexcel</artifactId>
|
||||
<version>4.0.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mybatis</groupId>
|
||||
<artifactId>mybatis</artifactId>
|
||||
<version>3.5.9</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-annotation</artifactId>
|
||||
<version>3.5.9</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.tashow.cloud</groupId>
|
||||
<artifactId>tashow-data-mybatis</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -43,16 +43,22 @@ public class ProdAdditionalFeeDatesDO extends BaseDO {
|
||||
* 日期类型0:'自定义日期范围':1:'指定日期':2:'法定节假日',3:'固定休息日'
|
||||
*/
|
||||
private Integer dateType;
|
||||
|
||||
/**
|
||||
* 自定义日期时间段
|
||||
* 类型:1:特殊日期 2:可预约时段黑名单日期 3:紧急相应服务黑名单日期
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> customTimeSlots;
|
||||
/**
|
||||
/* *//**
|
||||
* 指定日期
|
||||
*/
|
||||
*//*
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> specificDates;
|
||||
private List<String> specificDates;*/
|
||||
/**
|
||||
* 收费方式0:''固定金额'':1:''基准价上浮
|
||||
*/
|
||||
@@ -65,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 ;
|
||||
}
|
||||
}
|
||||
@@ -39,23 +39,5 @@ public class ProdEmergencyResponseDO extends BaseDO {
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> responseTimeSlots;
|
||||
/**
|
||||
* 黑名自定义日期
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> blacklistedDates;
|
||||
/**
|
||||
* 黑名单指定日期
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> blackAppointDates;
|
||||
/**
|
||||
* 法定节假日是否开启0:关闭1开启
|
||||
*/
|
||||
private Integer blackHappy;
|
||||
/**
|
||||
* 固定休息日周末是否开启0关闭1开启
|
||||
*/
|
||||
private Integer blackWeekend;
|
||||
|
||||
}
|
||||
@@ -38,9 +38,9 @@ public class ProdEmergencyResponseIntervalsDO extends BaseDO {
|
||||
private Long prodId;
|
||||
|
||||
/**
|
||||
* 响应模式名称
|
||||
* 响应模式名称modeName
|
||||
*/
|
||||
private String modeName;
|
||||
private String name;
|
||||
/**
|
||||
* 响应时间(小时)
|
||||
*/
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -66,37 +66,6 @@ public class ProdReservationConfigDO extends BaseDO {
|
||||
* 允许更改预约时间的最大次数
|
||||
*/
|
||||
private Integer maxChangeTimes;
|
||||
/**
|
||||
* 黑名自定义日期
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> blacklistedDates;
|
||||
|
||||
/**
|
||||
* '是否开启黑名单自定义0关1开'
|
||||
*/
|
||||
private Integer isBlacklisted;
|
||||
|
||||
/**
|
||||
* '是否开启黑名单指定日期0关1开'
|
||||
*/
|
||||
private Integer isBlackAppoint;
|
||||
|
||||
/**
|
||||
* 黑名单指定日期
|
||||
*/
|
||||
//private String blackAppointDates;
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> blackAppointDates;
|
||||
/**
|
||||
* 法定节假日是否开启0:关闭1开启
|
||||
*/
|
||||
private Integer blackHappy;
|
||||
/**
|
||||
* 固定休息日周末是否开启0关闭1开启
|
||||
*/
|
||||
private Integer blackWeekend;
|
||||
|
||||
/**
|
||||
* 预约时间区间设置
|
||||
*/
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -63,7 +63,8 @@ public class ProdListVO {
|
||||
/**
|
||||
* 服务时段
|
||||
*/
|
||||
private BigDecimal reservationTimeSlots;
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> reservationTimeSlots;
|
||||
|
||||
/**
|
||||
* 还剩多少天
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.tashow.cloud.productapi.general.StringListTypeHandler;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -49,7 +51,8 @@ public class ProdRestoreListVO {
|
||||
/**
|
||||
* 服务时段
|
||||
*/
|
||||
private BigDecimal reservationTimeSlots;
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> reservationTimeSlots;
|
||||
|
||||
/**
|
||||
* 还剩多少天
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.tashow.cloud.productapi.api.product.vo.prod;
|
||||
import com.tashow.cloud.productapi.api.product.dto.SkuDO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodprop.ProdPropSaveReqVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
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.ProdEmergencyInfoReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodemergencyresponse.ProdEmergencyInfoVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodreservationconfig.ProdReservationInfoReqVO;
|
||||
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.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
|
||||
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 ProdReservationInfoReqVO prodReservationConfig;
|
||||
|
||||
@Schema(description = "是否紧急响应服务0关1开")
|
||||
private Integer emergencySwitch;
|
||||
@Schema(description = "急响应服务配置")
|
||||
public ProdEmergencyInfoReqVO 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 ProdWeightRangePricesSaveInfoVO prodWeightConfig;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,14 +1,20 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prod;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prodadditionalfeedates.ProdAdditionalFeeBlackVO;
|
||||
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 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.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "商品服务配置 VO")
|
||||
@Data
|
||||
@@ -43,7 +49,23 @@ public class ProdServiceVO {
|
||||
@Schema(description = "是否预约0关1开")
|
||||
private Integer reservationSwitch;
|
||||
@Schema(description = "预约配置")
|
||||
public ProdReservationConfigDO prodReservationConfig;
|
||||
public ProdReservationInfoVO prodReservationConfig;
|
||||
|
||||
/* public List<ProdAdditionalFeeBlackVO> getProdReservationBlackList() {
|
||||
if (prodReservationBlackList == null || prodReservationBlackList.isEmpty()) {
|
||||
return prodReservationBlackList;
|
||||
}
|
||||
return prodReservationBlackList.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void setProdReservationBlackList(List<ProdAdditionalFeeBlackVO> prodReservationBlackList) {
|
||||
this.prodReservationBlackList = prodReservationBlackList;
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
|
||||
@Schema(description = "是否紧急响应服务0关1开")
|
||||
private Integer emergencySwitch;
|
||||
@@ -56,20 +78,42 @@ public class ProdServiceVO {
|
||||
public ProductOrderLimitDO productOrderLimitVO;
|
||||
|
||||
|
||||
@Schema(description = "是否特殊时段0关1开")
|
||||
@Schema(description = "是否特殊日期(节假日周末什么的)0关1开")
|
||||
private Integer additionalSwitch;
|
||||
@Schema(description = "特殊时段规则配置")
|
||||
@Schema(description = "特殊日期规则配置")
|
||||
public List<ProdAdditionalFeeDatesDO> prodAdditionalFeeDatesList;
|
||||
|
||||
@Schema(description = "是否特殊日期(节假日周末什么的)0关1开")
|
||||
@Schema(description = "是否特殊时段0关1开 ")
|
||||
private Integer additionalFeeSwitch;
|
||||
@Schema(description = "特殊日期规则配置")
|
||||
@Schema(description = "特殊时段规则配置 ")
|
||||
public List<ProdAdditionalFeePeriodsDO> prodAdditionalFeePeriodsList;
|
||||
|
||||
|
||||
@Schema(description = "是否开启体重配置0关1开")
|
||||
private Integer weightSwitch;
|
||||
@Schema(description = "体重配置")
|
||||
public ProdWeightRangePricesDO prodWeightConfig;
|
||||
public ProdWeightRangePricesSaveInfoVO prodWeightConfig;
|
||||
|
||||
|
||||
public ProdReservationInfoVO getProdReservationConfig() {
|
||||
|
||||
if (this.prodReservationConfig == null) {
|
||||
return null;
|
||||
}
|
||||
// 判断是否“逻辑上为空”
|
||||
if (isProdReservationInfoEmpty(this.prodReservationConfig)) {
|
||||
return null;
|
||||
}
|
||||
return this.prodReservationConfig;
|
||||
}
|
||||
|
||||
public void setProdReservationConfig(ProdReservationInfoVO prodReservationConfig) {
|
||||
this.prodReservationConfig = prodReservationConfig;
|
||||
}
|
||||
|
||||
private boolean isProdReservationInfoEmpty(ProdReservationInfoVO config) {
|
||||
if (config == null) return true;
|
||||
// 判断所有字段是否都为 null 或空
|
||||
return config.getId() == null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prodadditionalfeedates;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
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.List;
|
||||
|
||||
@Schema(description = "管理后台 - 特殊日期附加费用规则 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProdAdditionalFeeBlackVO {
|
||||
|
||||
@Schema(description = "特殊日期规则的唯一标识符")
|
||||
@ExcelProperty("特殊日期规则的唯一标识符")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "日期类型0:'自定义日期范围':1:'指定日期':2:'法定节假日',3:'固定休息日'")
|
||||
@ExcelProperty("日期类型0:'自定义日期范围':1:'指定日期':2:'法定节假日',3:'固定休息日'")
|
||||
private Integer dateType;
|
||||
|
||||
@Schema(description = "黑名单日期设置")
|
||||
@ExcelProperty("黑名单日期设置")
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> customTimeSlots;
|
||||
|
||||
|
||||
@Schema(description = "类型:1:特殊日期 2:可预约时段黑名单日期 3:紧急相应服务黑名单日期")
|
||||
@ExcelProperty("类型:1:特殊日期 2:可预约时段黑名单日期 3:紧急相应服务黑名单日期")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "是否启用该规则是否启用该规则0关1开", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("是否启用该规则是否启用该规则0关1开")
|
||||
private Integer isEnabled;
|
||||
public boolean isEmpty() {
|
||||
return id == null ;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prodemergencyresponse;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdEmergencyResponseIntervalsDO;
|
||||
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.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "管理后台 - 商品紧急响应服务设置 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProdEmergencyInfoReqVO {
|
||||
|
||||
|
||||
/**
|
||||
* 紧急响应服务配置的唯一标识符
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 关联的商品ID
|
||||
*/
|
||||
private Long prodId;
|
||||
/**
|
||||
* 可响应时间段
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> responseTimeSlots;
|
||||
|
||||
@Schema(description = "紧急响应时间区间设置")
|
||||
public List<ProdEmergencyResponseIntervalsDO> prodEmergencyResponseIntervalsList;
|
||||
|
||||
@Schema(description = "紧急响应黑名单日期设置")
|
||||
public List<ProdAdditionalFeeBlackVO> prodEmergencyResponseBlackList;
|
||||
|
||||
}
|
||||
@@ -1,11 +1,15 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prodemergencyresponse;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdEmergencyResponseIntervalsDO;
|
||||
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.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Schema(description = "管理后台 - 商品紧急响应服务设置 Response VO")
|
||||
@Data
|
||||
@@ -24,27 +28,12 @@ public class ProdEmergencyInfoVO {
|
||||
/**
|
||||
* 可响应时间段
|
||||
*/
|
||||
@TableField(typeHandler = StringListTypeHandler.class)
|
||||
private List<String> responseTimeSlots;
|
||||
/**
|
||||
* 黑名自定义日期
|
||||
*/
|
||||
private List<String> blacklistedDates;
|
||||
/**
|
||||
* 黑名单指定日期
|
||||
*/
|
||||
private List<String> blackAppointDates;
|
||||
/**
|
||||
* 法定节假日是否开启0:关闭1开启
|
||||
*/
|
||||
private Integer blackHappy;
|
||||
/**
|
||||
* 固定休息日周末是否开启0关闭1开启
|
||||
*/
|
||||
private Integer blackWeekend;
|
||||
|
||||
|
||||
|
||||
@Schema(description = "紧急响应时间区间设置")
|
||||
public List<ProdEmergencyResponseIntervalsDO> prodEmergencyResponseIntervalsList;
|
||||
|
||||
@Schema(description = "紧急响应黑名单日期设置")
|
||||
public List<ProdAdditionalFeeBlackVO> prodEmergencyResponseBlackList;
|
||||
}
|
||||
@@ -19,7 +19,7 @@ public class ProdEmergencyResponseIntervalsPageReqVO extends PageParam {
|
||||
private Long configId;
|
||||
|
||||
@Schema(description = "响应模式名称", example = "王五")
|
||||
private String modeName;
|
||||
private String name;
|
||||
|
||||
@Schema(description = "响应时间(小时)")
|
||||
private BigDecimal responseHours;
|
||||
|
||||
@@ -23,7 +23,7 @@ public class ProdEmergencyResponseIntervalsRespVO {
|
||||
|
||||
@Schema(description = "响应模式名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
|
||||
@ExcelProperty("响应模式名称")
|
||||
private String modeName;
|
||||
private String name;
|
||||
|
||||
@Schema(description = "响应时间(小时)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("响应时间(小时)")
|
||||
|
||||
@@ -21,7 +21,7 @@ public class ProdEmergencyResponseIntervalsSaveReqVO {
|
||||
|
||||
@Schema(description = "响应模式名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
|
||||
@NotEmpty(message = "响应模式名称不能为空")
|
||||
private String modeName;
|
||||
private String name;
|
||||
|
||||
@Schema(description = "响应时间(小时)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "响应时间(小时)不能为空")
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prodpropvalue;
|
||||
|
||||
import com.tashow.cloud.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
@Schema(description = "")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class ProPageReqVO extends PageParam {
|
||||
|
||||
/**
|
||||
* 属性规格名称
|
||||
*/
|
||||
private String propValue;
|
||||
|
||||
/**
|
||||
* 商品id
|
||||
*/
|
||||
private Long prodId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.prodpropvalue;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class ProPropRecycleBinVO {
|
||||
@Schema(description = "规格值id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 属性规格名称
|
||||
*/
|
||||
private String propValue;
|
||||
/**
|
||||
* 关联规格属性id
|
||||
*/
|
||||
private Long propId;
|
||||
|
||||
/**
|
||||
* 还剩多少天
|
||||
*/
|
||||
private Long remainingDays;
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date deleteTime;
|
||||
}
|
||||
@@ -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<>();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
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.dto.ProdEmergencyResponseIntervalsDO;
|
||||
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 ProdReservationInfoVO {
|
||||
|
||||
/**
|
||||
* 预约配置的唯一标识符
|
||||
*/
|
||||
@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;
|
||||
|
||||
|
||||
/* public List<ProdAdditionalFeeBlackVO> getProdReservationBlackList() {
|
||||
if (prodReservationBlackList == null || prodReservationBlackList.isEmpty()) {
|
||||
return prodReservationBlackList;
|
||||
}
|
||||
return prodReservationBlackList.stream()
|
||||
.filter(black -> black != null && !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;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.tashow.cloud.productapi.api.product.vo.sku;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@@ -12,9 +15,13 @@ public class SkuRecycleBinVO {
|
||||
private Long skuId;
|
||||
|
||||
/**
|
||||
* 是否显示失效规格值 0否1是
|
||||
* 属性规格名称
|
||||
*/
|
||||
private String properties;
|
||||
/**
|
||||
* 是否显示失效规格值 0否1是
|
||||
*/
|
||||
private String skuName;
|
||||
|
||||
/**
|
||||
* 还剩多少天
|
||||
@@ -25,4 +32,140 @@ public class SkuRecycleBinVO {
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date deleteTime;
|
||||
|
||||
|
||||
|
||||
|
||||
@Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18784")
|
||||
@ExcelProperty("商品ID")
|
||||
private Long prodId;
|
||||
|
||||
@Schema(description = "别名")
|
||||
@ExcelProperty("别名")
|
||||
private String alias;
|
||||
|
||||
@Schema(description = "当前价格", example = "32405")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 基准价
|
||||
*/
|
||||
private BigDecimal basePrice;
|
||||
|
||||
@Schema(description = "最低价格", example = "5040")
|
||||
@ExcelProperty("最低价格")
|
||||
private BigDecimal minPrice;
|
||||
|
||||
@Schema(description = "最高价格", example = "11547")
|
||||
@ExcelProperty("最高价格")
|
||||
private BigDecimal maxPrice;
|
||||
|
||||
@Schema(description = "成本价", example = "28062")
|
||||
@ExcelProperty("成本价")
|
||||
private BigDecimal originalPrice;
|
||||
|
||||
@Schema(description = "市场价", example = "11547")
|
||||
@ExcelProperty("市场价")
|
||||
private BigDecimal marketPrice;
|
||||
|
||||
@Schema(description = "单位")
|
||||
@ExcelProperty("单位")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "0:主服务1:待定", example = "1")
|
||||
@ExcelProperty("0:主服务1:待定")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "概述")
|
||||
@ExcelProperty("概述")
|
||||
private String overview;
|
||||
|
||||
@Schema(description = "库存")
|
||||
@ExcelProperty("库存")
|
||||
private Integer stocks;
|
||||
|
||||
|
||||
@Schema(description = "总库存是0 无线库存是1")
|
||||
@ExcelProperty("总库存是0 无线库存是1")
|
||||
private Integer stocksFlg;
|
||||
|
||||
/**
|
||||
* 锁定库存数
|
||||
*/
|
||||
@Schema(description = "锁定库存数")
|
||||
@ExcelProperty("锁定库存数")
|
||||
private Integer stocksLockNum;
|
||||
|
||||
@Schema(description = "预警库存")
|
||||
@ExcelProperty("预警库存")
|
||||
private Integer warnStocks;
|
||||
|
||||
@Schema(description = "库存扣款时机0:付款扣1:下单扣", example = "1")
|
||||
@ExcelProperty("库存扣款时机0:付款扣1:下单扣")
|
||||
private Boolean stocksType;
|
||||
|
||||
@Schema(description = "sku编码")
|
||||
@ExcelProperty("sku编码")
|
||||
private String skuCode;
|
||||
|
||||
@Schema(description = "商品条形码", example = "14390")
|
||||
@ExcelProperty("商品条形码")
|
||||
private String modelId;
|
||||
|
||||
@Schema(description = "sku图片")
|
||||
@ExcelProperty("sku图片")
|
||||
private String pic;
|
||||
|
||||
|
||||
@Schema(description = "商品名称", example = "芋艿")
|
||||
@ExcelProperty("商品名称")
|
||||
private String prodName;
|
||||
|
||||
@Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("版本号")
|
||||
private Integer version;
|
||||
|
||||
@Schema(description = "商品重量")
|
||||
@ExcelProperty("商品重量")
|
||||
private Double weight;
|
||||
|
||||
@Schema(description = "商品体积")
|
||||
@ExcelProperty("商品体积")
|
||||
private Double volume;
|
||||
|
||||
@Schema(description = "0 禁用 1 启用", example = "1")
|
||||
@ExcelProperty("0 禁用 1 启用")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "0 正常 1 已被删除")
|
||||
@ExcelProperty("0 正常 1 已被删除")
|
||||
private Integer isDelete;
|
||||
|
||||
@Schema(description = "最小购买数量")
|
||||
@ExcelProperty("最小购买数量")
|
||||
private Integer moq;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 是否上下架0下架1上架
|
||||
*/
|
||||
private Integer isShelf;
|
||||
|
||||
/**
|
||||
* 是否默认规则0否1是
|
||||
*/
|
||||
private Integer isSpecs;
|
||||
|
||||
/**
|
||||
* 服务内容
|
||||
*/
|
||||
private String serviceContent;
|
||||
/**
|
||||
* 规格id 多个用逗号分隔(1,2,3)
|
||||
*/
|
||||
private String propIds;
|
||||
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@ public class SkuSaveReqVO {
|
||||
private Long skuId;
|
||||
|
||||
@Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18784")
|
||||
@NotNull(message = "商品ID不能为空")
|
||||
private Long prodId;
|
||||
|
||||
@Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2")
|
||||
@@ -86,7 +85,6 @@ public class SkuSaveReqVO {
|
||||
private String prodName;
|
||||
|
||||
@Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "版本号不能为空")
|
||||
private Integer version;
|
||||
|
||||
@Schema(description = "商品重量")
|
||||
@@ -103,6 +101,11 @@ public class SkuSaveReqVO {
|
||||
|
||||
@Schema(description = "最小购买数量")
|
||||
private Integer moq;
|
||||
/**
|
||||
* 是否默认规则0否1是
|
||||
*/
|
||||
private Integer isSpecs;
|
||||
|
||||
/**
|
||||
* 扩展服务表单id
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user