TicketBox.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. package com.qs.mp.admin.domain;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import com.alibaba.fastjson.serializer.SerializerFeature;
  4. import com.baomidou.mybatisplus.annotation.IdType;
  5. import com.baomidou.mybatisplus.annotation.TableField;
  6. import com.baomidou.mybatisplus.annotation.TableId;
  7. import com.baomidou.mybatisplus.annotation.TableLogic;
  8. import com.baomidou.mybatisplus.annotation.TableName;
  9. import com.baomidou.mybatisplus.annotation.Version;
  10. import com.qs.mp.common.enums.TicketBoxStatusEnum;
  11. import com.qs.mp.common.enums.TicketTypeEnum;
  12. import java.io.Serializable;
  13. import java.math.BigDecimal;
  14. import java.util.Date;
  15. import java.util.Objects;
  16. import io.swagger.annotations.ApiModel;
  17. import io.swagger.annotations.ApiModelProperty;
  18. import lombok.Data;
  19. /**
  20. * @describe 盲票组实体类
  21. * @auther quanshu
  22. * @create 2022-03-02 12:25:55
  23. */
  24. @ApiModel("盲票组实体类")
  25. @TableName("mp_ticket_box")
  26. @Data
  27. public class TicketBox implements Serializable {
  28. private static final long serialVersionUID = 1L;
  29. /**
  30. * 主键
  31. */
  32. @ApiModelProperty("盲票组id")
  33. @TableId(value = "box_id" , type = IdType.INPUT)
  34. private String boxId;
  35. /**
  36. * 盲票组编号
  37. */
  38. @ApiModelProperty("盲票组编号")
  39. @TableField("box_no")
  40. private String boxNo;
  41. /**
  42. * 盲票组标题
  43. */
  44. @ApiModelProperty("盲票组标题")
  45. @TableField("title")
  46. private String title;
  47. /**
  48. * 主图url
  49. */
  50. @ApiModelProperty("主图url")
  51. @TableField("pic_url")
  52. private String picUrl;
  53. /**
  54. * 盲票类别
  55. */
  56. @ApiModelProperty("盲票类别")
  57. @TableField("category_id")
  58. private Long categoryId;
  59. /**
  60. * 详细描述
  61. */
  62. @ApiModelProperty("详细描述")
  63. @TableField("description")
  64. private String description;
  65. /**
  66. * 卖点
  67. */
  68. @ApiModelProperty("卖点")
  69. @TableField("sale_point")
  70. private String salePoint;
  71. /**
  72. * 盲票形式(线上或线下)
  73. */
  74. @ApiModelProperty("盲票形式(线上或线下)")
  75. @TableField("type")
  76. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  77. private TicketTypeEnum type;
  78. /**
  79. * 盲票张数
  80. */
  81. @ApiModelProperty("盲票张数")
  82. @TableField("quantity")
  83. private Integer quantity;
  84. /**
  85. * 已售盲票张数
  86. */
  87. @TableField("sale_qty")
  88. private Integer saleQty;
  89. /**
  90. * 盲票包售价
  91. */
  92. @ApiModelProperty("盲票包售价")
  93. @TableField("pkg_sale_price")
  94. private Integer pkgSalePrice;
  95. /**
  96. * 每包盲票张数
  97. */
  98. @ApiModelProperty("每包盲票张数")
  99. @TableField("pkg_unit")
  100. private Integer pkgUnit;
  101. /**
  102. * 盲票包数
  103. */
  104. @ApiModelProperty("盲票包数")
  105. @TableField("pkg_qty")
  106. private Integer pkgQty;
  107. /**
  108. * 已销售包数
  109. */
  110. @ApiModelProperty("已销售包数")
  111. @TableField("sale_pkg_qty")
  112. private Integer salePkgQty;
  113. @ApiModelProperty("原价")
  114. @TableField("origin_price")
  115. private Integer originPrice;
  116. /**
  117. * 盲票票面价格
  118. */
  119. @ApiModelProperty("盲票票面价格")
  120. @TableField("face_price")
  121. private Integer facePrice;
  122. /**
  123. * 盲票销售价格
  124. */
  125. @ApiModelProperty("盲票销售价格")
  126. @TableField("sale_price")
  127. private Integer salePrice;
  128. @ApiModelProperty("预购价")
  129. @TableField("pre_price")
  130. private Integer prePrice;
  131. /**
  132. * 分佣的销售额百分比
  133. */
  134. @ApiModelProperty("分佣的销售额百分比")
  135. @TableField("sale_comm_rate")
  136. private BigDecimal saleCommRate;
  137. @ApiModelProperty("销售渠道类型:1所有渠道,2指定渠道")
  138. @TableField("sale_channel_type")
  139. private Integer saleChannelType;
  140. /**
  141. * 规格属性
  142. */
  143. @ApiModelProperty("规格属性")
  144. @TableField("properties")
  145. private String properties;
  146. @ApiModelProperty("排序权重,越大越靠前")
  147. @TableField("sort_weight")
  148. private Integer sortWeight;
  149. /**
  150. * 上架时间
  151. */
  152. @ApiModelProperty("上架时间")
  153. @TableField("on_time")
  154. private Date onTime;
  155. /**
  156. * 下架时间
  157. */
  158. @ApiModelProperty("下架时间")
  159. @TableField("off_time")
  160. private Date offTime;
  161. /**
  162. * 人工下架标识,1为人工下架
  163. */
  164. @ApiModelProperty("人工下架标识,1为人工下架")
  165. @TableField("manual_off")
  166. private Integer manualOff;
  167. /**
  168. * 状态,上架/下架
  169. */
  170. @ApiModelProperty("状态,上架/下架")
  171. @TableField("status")
  172. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  173. private TicketBoxStatusEnum status;
  174. @ApiModelProperty("序列号加密:0否,1是")
  175. @TableField("is_encrypt")
  176. private Integer isEncrypt;
  177. /**
  178. * 逻辑删除标识
  179. */
  180. @ApiModelProperty("逻辑删除标识")
  181. @TableField("is_deleted")
  182. @TableLogic
  183. private Integer isDeleted;
  184. /**
  185. * 创建时间
  186. */
  187. @ApiModelProperty("创建时间")
  188. @TableField("created_time")
  189. private Date createdTime;
  190. /**
  191. * 更新时间
  192. */
  193. @ApiModelProperty("更新时间")
  194. @TableField("updated_time")
  195. @Version
  196. private Date updatedTime;
  197. @ApiModelProperty("预付票包价格")
  198. public Integer getPkgPrePrice() {
  199. if (Objects.nonNull(this.prePrice) && Objects.nonNull(this.pkgUnit)) {
  200. return this.prePrice * this.pkgUnit;
  201. }
  202. return 0;
  203. }
  204. }