package com.iotechn.unimall.data.dto.product; import com.dobbinsoft.fw.core.annotation.doc.ApiEntity; import com.dobbinsoft.fw.core.annotation.doc.ApiField; import com.dobbinsoft.fw.core.entiy.SuperDTO; import com.dobbinsoft.fw.support.annotation.LeafTable; import com.dobbinsoft.fw.support.model.Page; import com.iotechn.unimall.data.domain.SkuDO; import com.iotechn.unimall.data.domain.SpuAttributeDO; import com.iotechn.unimall.data.domain.SpuSpecificationDO; import com.iotechn.unimall.data.dto.CategoryDTO; import com.iotechn.unimall.data.dto.appraise.AppraiseResponseDTO; import com.iotechn.unimall.data.dto.freight.FreightTemplateDTO; import com.iotechn.unimall.data.enums.SpuActivityType; import com.iotechn.unimall.data.enums.StatusType; import lombok.Data; import java.util.Date; import java.util.List; /** * Created by rize on 2019/7/2. */ @Data @ApiEntity(description = "商品传输实体") public class SpuDTO extends SuperDTO { /** * 商品原价 */ @ApiField(description = "商品原价(仅显示作用)") private Integer originalPrice; /** * 商品价格 单位 分 */ @ApiField(description = "价格(仅显示作用)") private Integer price; /** * 会员价格 */ @ApiField(description = "VIP价格(仅显示作用)") private Integer vipPrice; /** * 商品标题 */ @ApiField(description = "商品标题") private String title; /** * 商品销量 */ @ApiField(description = "当前销量") private Integer sales; /** * 商品主图(冗余信息) */ @ApiField(description = "商品主图") private String img; /** * 后面的图,仅在详情接口才出现 */ @ApiField(description = "画廊") private List imgList; /** * 商品详情 */ @ApiField(description = "富文本详情") private String detail; /** * 商品一句话描述 */ @ApiField(description = "商品描述") private String description; /** * 商品类目id */ @ApiField(description = "所属类目ID") private Long categoryId; @ApiField(description = "类目全ID") private List categoryIds; @ApiField(description = "类目对象列表") private List categoryList; @ApiField(description = "类目全名称") private String categoryFullTitle; /** * TODO 修改热评 * 商品的第一页(前10条)评价 */ @ApiField(description = "第一页评论") private Page appraisePage; @ApiField(description = "商品单位") private String unit; @ApiField(description = "运费模板ID") private Long freightTemplateId; @ApiField(description = "运费模板标题") private String freightTemplateTitle; @ApiField(description = "运费模板实体") private FreightTemplateDTO freightTemplate; /** * 用户是否LIKE此商品 */ @ApiField(description = "当前用户是否LIKE此商品") private Boolean favorite; @ApiField(description = "状态", enums = StatusType.class) private Integer status; /** * 商品正在参加的活动类型 */ @ApiField(description = "促销活动类型", enums = SpuActivityType.class) private Integer activityType; /** * 商品正在参加的活动Id */ @ApiField(description = "促销活动ID") private Long activityId; /** * 商品活动开始时间 * 若此当前时间已经超过时间,即时费用系统没有通知到商品系统,商品系统也默认此活动已经结束,可覆盖创建新的活动。 * 若活动没有结束时间,应该将其设为巨大的值eg.Long.MAX_VALUE,否则商品系统会误判活动已经结束 */ @ApiField(description = "活动开始时间") private Date gmtActivityStart; /** * 商品活动结束时间 * 若此当前时间已经超过时间,即时费用系统没有通知到商品系统,商品系统也默认此活动已经结束,可覆盖创建新的活动。 * 若活动没有结束时间,应该将其设为巨大的值eg.Long.MAX_VALUE,否则商品系统会误判活动已经结束 */ @ApiField(description = "活动结束时间") private Date gmtActivityEnd; /** * Spu活动 */ @ApiField(description = "活动附加对象") private Object activity; /*************************** 直接子表 *********************************/ @ApiField(description = "属性列表") private List attributeList; /** * 商品规格枚举列表 */ @ApiField(description = "商品规格枚举列表") private List specificationList; @ApiField(description = "商品列表") private List skuList; }