说明 / 示例
```json
/**
* 商品id
*/
private Integer spuId;
/**
* 商品名称
*/
@NotBlank(message = "商名称不能为空!")
private String spuName;
/**
* 商品描述
*/
@NotBlank(message = "商品描述不能为空!")
private String spuDesc;
/**
* 所属分类id
*/
@NotNull(message = "所属分类不能为空!")
private Integer catId;
/**
* 重量
*/
@NotNull(message = "重量不能为空!")
private Integer weight;
/**
* 上架状态[0 - 下架,1 - 上架]
*/
private Boolean publishStatus;
/**
* 商品类型1实物商品 2 虚拟商品
*/
private String type;
/**
* 商品图片地址 用来展示
*/
@NotNull(message = "商品首图不能为空!")
private String imgUrl;
/**
* 是否开启会员折扣
*/
private Boolean memberDiscount;
/**
* 开售时间
*/
@JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
private Date saleTime;
/**
* 起售数量
*/
private Integer saleMin;
/**
* 规格列表
*/
@Valid
@NotEmpty(message = "规格不能为空!")
private List<ProductSkuSaveVo> skuList;
/**
* 基本属性列表
*/
@Valid
private List<ProductAttrValueSaveVo> baseAttrList;
/**
* 销售属性attrId集合用来校验
*/
@NotEmpty(message = "商品销售属性信息不能为空!")
private List<ProductSaleAttrVo> saleAttrList;
/**
* 商户id
*/
@NotNull(message = "商户id不能为空!")
private Integer merchantId;
/**
* 商品图集
*/
private List<ProductImagesSaveVo> imageList;
/**
* 虚拟商品输入框配置信息
*/
private ProductInputRulesConfigDto inputRules;
```
基本属性格式
```json
@Data
public class ProductAttrValueSaveVo {
/**
* attr_id
*/
@NotNull(message = "基本属性的属性id不能为空!")
private Integer attrId;
/**
* 属性值
*/
@NotBlank(message = "基本属性属性值不能为空!")
private String attrValue;
/**
* 顺序
*/
private Integer attrSort;
}
```
商品规格信息参数
```json
/**
* sku名称
*/
private String skuName;
/**
* sku介绍描述
*/
private String skuDesc;
/**
* 默认图片
*/
private String skuImg;
/**
* 标题
*/
private String skuTitle;
/**
* 价格 分
*/
@NotNull(message = "商品价格不能为空!")
private Integer currentPrice;
/**
* 商品库存
*/
@NotNull(message = "库存不能为空!")
@Min(value = 0, message = "库存最小为0!")
private Integer inventory;
/**
* 商品原价 划线价
*/
private Integer originPrice;
/**
* 成本价
*/
private Integer costPrice;
/**
* 商品规格的销售属性
*/
@Valid
private List<ProductSkuAttrSaveVo> attrList;
```
规格的销售属性
```json
/**
* 属性id
*/
@NotNull(message = "属性id不能为空!")
private Integer attrId;
/**
* 属性值
*/
@NotBlank(message = "属性值不能为空!")
private String attrValue;
/**
* 第三方虚拟商品信息
*/
private ThirdSkuInfoDto thirdSkuInfo;
```
商品销售属性格式
```json
ProductSaleAttrVo
/**
* 销售属性id
*/
private Integer saleAttrId;
/**
* 销售属性值列表
*/
private Set<String> saleAttrValueList;
```
商品图片列表
```json
/**
* 排序
*/
private Integer imgSort;
/**
* 图片地址
*/
@NotBlank(message = "图片地址不能为空!")
@Pattern(regexp = "^((ht|f)tps?):\\/\\/([\\w-]+(\\.[\\w-]+)*\\/?)+(\\?([\\w\\-\\.,@?^=%&:\\/~\\+#]*)+)?$", message = "图片地址错误!")
private String imgUrl;
```
虚拟商品规格第三方信息
```json
public class ThirdSkuInfoDto {
/**
* 第三方商品id
*/
private Integer productId;
/**
* 规格代码
*/
private String standardCode;
/**
* 请求类型 1卡密 2 直充
*/
private String requestType;
}
```
虚拟商品输入框配置信息
```json
/**
* 规则详情列表
*/
private List<ProductInputRuleDetailDto> rules;
/**
* 是否隐藏充值账号
*/
private Boolean isHidden;
```
```json
@Data
public class ProductInputRuleDetailDto {
/**
* 输入项名称
*/
private String name;
/**
* 输入项属性
*/
private String prop;
/**
* 输入项列表
*/
private String type;
/**
* 长度限制
*/
private String max;
/**
* 校验正则
*/
private String pattern;
}
```