package cn.lili.modules.goods.entity.dos;
|
|
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
|
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
import cn.lili.mybatis.BaseEntity;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.models.auth.In;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
import lombok.NoArgsConstructor;
|
import org.hibernate.validator.constraints.Length;
|
|
import javax.validation.constraints.Max;
|
import java.util.Date;
|
|
/**
|
* 商品sku
|
*
|
* @author pikachu
|
* @since 2020-02-23 9:14:33
|
*/
|
@EqualsAndHashCode(callSuper = true)
|
@Data
|
@TableName("li_goods_sku")
|
@ApiModel(value = "商品sku对象")
|
@NoArgsConstructor
|
public class GoodsSku extends BaseEntity {
|
|
private static final long serialVersionUID = 4865908658161118934L;
|
|
@ApiModelProperty(value = "商品id")
|
private String goodsId;
|
|
@ApiModelProperty(value = "规格信息json", hidden = true)
|
@JsonIgnore
|
private String specs;
|
|
@ApiModelProperty(value = "规格信息")
|
private String simpleSpecs;
|
|
@ApiModelProperty(value = "配送模版id")
|
private String freightTemplateId;
|
|
@ApiModelProperty(value = "是否是促销商品")
|
private Boolean promotionFlag;
|
|
@ApiModelProperty(value = "促销价")
|
private Double promotionPrice;
|
|
@ApiModelProperty(value = "商品名称")
|
private String goodsName;
|
|
@Length(max = 30, message = "商品规格编号太长,不能超过30个字符")
|
@ApiModelProperty(value = "商品编号")
|
private String sn;
|
|
@ApiModelProperty(value = "品牌id")
|
private String brandId;
|
|
@ApiModelProperty(value = "分类path")
|
private String categoryPath;
|
|
@ApiModelProperty(value = "计量单位")
|
private String goodsUnit;
|
|
@ApiModelProperty(value = "卖点")
|
private String sellingPoint;
|
|
@ApiModelProperty(value = "重量")
|
@Max(value = 99999999, message = "重量不能超过99999999")
|
private Double weight;
|
/**
|
* @see GoodsStatusEnum
|
*/
|
@ApiModelProperty(value = "上架状态")
|
private String marketEnable;
|
|
@ApiModelProperty(value = "商品详情")
|
private String intro;
|
|
@Max(value = 99999999, message = "价格不能超过99999999")
|
@ApiModelProperty(value = "商品价格")
|
private Double price;
|
|
@Max(value = 99999999, message = "成本价格99999999")
|
@ApiModelProperty(value = "成本价格")
|
private Double cost;
|
|
@ApiModelProperty(value = "浏览数量")
|
private Integer viewCount;
|
|
@ApiModelProperty(value = "购买数量")
|
private Integer buyCount;
|
|
@Max(value = 99999999, message = "库存不能超过99999999")
|
@ApiModelProperty(value = "库存")
|
private Integer quantity;
|
|
@ApiModelProperty(value = "商品好评率")
|
private Double grade;
|
|
@ApiModelProperty(value = "缩略图路径")
|
private String thumbnail;
|
|
@ApiModelProperty(value = "大图路径")
|
private String big;
|
|
@ApiModelProperty(value = "小图路径")
|
private String small;
|
|
@ApiModelProperty(value = "原图路径")
|
private String original;
|
|
@ApiModelProperty(value = "店铺分类id")
|
private String storeCategoryPath;
|
|
@ApiModelProperty(value = "评论数量")
|
private Integer commentNum;
|
|
@ApiModelProperty(value = "卖家id")
|
private String storeId;
|
|
@ApiModelProperty(value = "卖家名字")
|
private String storeName;
|
|
@ApiModelProperty(value = "运费模板id")
|
private String templateId;
|
|
/**
|
* @see GoodsAuthEnum
|
*/
|
@ApiModelProperty(value = "审核状态")
|
private String authFlag;
|
|
@ApiModelProperty(value = "审核信息")
|
private String authMessage;
|
|
@ApiModelProperty(value = "下架原因")
|
private String underMessage;
|
|
@ApiModelProperty(value = "是否自营")
|
private Boolean selfOperated;
|
|
@ApiModelProperty(value = "商品移动端详情")
|
private String mobileIntro;
|
|
@ApiModelProperty(value = "商品视频")
|
private String goodsVideo;
|
|
@ApiModelProperty(value = "是否为推荐商品", required = true)
|
private Boolean recommend;
|
|
/**
|
* @see cn.lili.modules.goods.entity.enums.GoodsSalesModeEnum
|
*/
|
@ApiModelProperty(value = "销售模式", required = true)
|
private String salesModel;
|
/**
|
* @see cn.lili.modules.goods.entity.enums.GoodsTypeEnum
|
*/
|
@ApiModelProperty(value = "商品类型", required = true)
|
private String goodsType;
|
|
@ApiModelProperty(value = "预警数量")
|
private Integer alertQuantity;
|
|
public Double getWeight() {
|
if (weight == null) {
|
return 0d;
|
}
|
return weight;
|
}
|
|
public Integer getAlertQuantity() {
|
if(alertQuantity == null){
|
return 0;
|
}
|
return alertQuantity;
|
}
|
|
@Override
|
public Date getCreateTime() {
|
if (super.getCreateTime() == null) {
|
return new Date(1593571928);
|
} else {
|
return super.getCreateTime();
|
}
|
}
|
|
/**
|
* 设置规格商品的基本商品信息
|
*
|
* @param goods 基本商品信息
|
*/
|
public GoodsSku(Goods goods) {
|
//商品基本信息
|
this.goodsId = goods.getId();
|
this.goodsName = goods.getGoodsName();
|
this.goodsType = goods.getGoodsType();
|
this.goodsVideo = goods.getGoodsVideo();
|
this.selfOperated = goods.getSelfOperated();
|
this.sellingPoint = goods.getSellingPoint();
|
this.categoryPath = goods.getCategoryPath();
|
this.brandId = goods.getBrandId();
|
this.marketEnable = goods.getMarketEnable();
|
this.intro = goods.getIntro();
|
this.mobileIntro = goods.getMobileIntro();
|
this.goodsUnit = goods.getGoodsUnit();
|
this.grade = 100D;
|
this.alertQuantity = 0;
|
//商品状态
|
this.authFlag = goods.getAuthFlag();
|
this.salesModel = goods.getSalesModel();
|
//卖家信息
|
this.storeId = goods.getStoreId();
|
this.storeName = goods.getStoreName();
|
this.storeCategoryPath = goods.getStoreCategoryPath();
|
this.freightTemplateId = goods.getTemplateId();
|
this.recommend = goods.getRecommend();
|
}
|
|
}
|