package com.qs.mp.admin.domain; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.Version; import com.qs.mp.common.enums.TicketBoxStatusEnum; import com.qs.mp.common.enums.TicketTypeEnum; import java.io.Serializable; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Date; import java.util.Objects; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @describe 盲票组实体类 * @auther quanshu * @create 2022-03-02 12:25:55 */ @ApiModel("盲票组实体类") @TableName("mp_ticket_box") @Data public class TicketBox implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @ApiModelProperty("盲票组id") @TableId(value = "box_id" , type = IdType.INPUT) private String boxId; /** * 盲票组编号 */ @ApiModelProperty("盲票组编号") @TableField("box_no") private String boxNo; /** * 盲票组标题 */ @ApiModelProperty("盲票组标题") @TableField("title") private String title; /** * 主图url */ @ApiModelProperty("主图url") @TableField("pic_url") private String picUrl; /** * 盲票类别 */ @ApiModelProperty("盲票类别") @TableField("category_id") private Long categoryId; /** * 详细描述 */ @ApiModelProperty("详细描述") @TableField("description") private String description; /** * 卖点 */ @ApiModelProperty("卖点") @TableField("sale_point") private String salePoint; /** * 盲票形式(线上或线下) */ @ApiModelProperty("盲票形式(线上或线下)") @TableField("type") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private TicketTypeEnum type; /** * 盲票张数 */ @ApiModelProperty("盲票张数") @TableField("quantity") private Integer quantity; /** * 已售盲票张数 */ @TableField("sale_qty") private Integer saleQty; /** * 盲票包售价 */ @ApiModelProperty("盲票包售价") @TableField("pkg_sale_price") private Integer pkgSalePrice; /** * 每包盲票张数 */ @ApiModelProperty("每包盲票张数") @TableField("pkg_unit") private Integer pkgUnit; /** * 盲票包数 */ @ApiModelProperty("盲票包数") @TableField("pkg_qty") private Integer pkgQty; /** * 已销售包数 */ @ApiModelProperty("已销售包数") @TableField("sale_pkg_qty") private Integer salePkgQty; @ApiModelProperty("原价") @TableField("origin_price") private Integer originPrice; /** * 盲票票面价格 */ @ApiModelProperty("盲票票面价格") @TableField("face_price") private Integer facePrice; /** * 盲票销售价格 */ @ApiModelProperty("盲票销售价格") @TableField("sale_price") private Integer salePrice; @ApiModelProperty("预购价") @TableField("pre_price") private Integer prePrice; /** * 分佣的销售额百分比 */ @ApiModelProperty("分佣的销售额百分比") @TableField("sale_comm_rate") private BigDecimal saleCommRate; @ApiModelProperty("销售渠道类型:1所有渠道,2指定渠道") @TableField("sale_channel_type") private Integer saleChannelType; /** * 规格属性 */ @ApiModelProperty("规格属性") @TableField("properties") private String properties; @ApiModelProperty("排序权重,越大越靠前") @TableField("sort_weight") private Integer sortWeight; /** * 上架时间 */ @ApiModelProperty("上架时间") @TableField("on_time") private Date onTime; /** * 下架时间 */ @ApiModelProperty("下架时间") @TableField("off_time") private Date offTime; /** * 人工下架标识,1为人工下架 */ @ApiModelProperty("人工下架标识,1为人工下架") @TableField("manual_off") private Integer manualOff; /** * 状态,上架/下架 */ @ApiModelProperty("状态,上架/下架") @TableField("status") @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString) private TicketBoxStatusEnum status; @ApiModelProperty("序列号加密:0否,1是") @TableField("is_encrypt") private Integer isEncrypt; /** * 逻辑删除标识 */ @ApiModelProperty("逻辑删除标识") @TableField("is_deleted") @TableLogic private Integer isDeleted; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("created_time") private Date createdTime; /** * 更新时间 */ @ApiModelProperty("更新时间") @TableField("updated_time") @Version private Date updatedTime; @ApiModelProperty("实时毛利") @TableField(exist = false) private Integer realTimeGrossProfit; @ApiModelProperty("终极毛利") @TableField(exist = false) private Integer finalGrossProfit; @ApiModelProperty("奖项有无红包 0无 1有") @TableField("is_have_red_pkg") private Integer isHaveRedPkg; @ApiModelProperty("预付票包价格") public Integer getPkgPrePrice() { if (Objects.nonNull(this.prePrice) && Objects.nonNull(this.pkgUnit)) { return this.prePrice * this.pkgUnit; } return 0; } }