TicketBox.java 5.4 KB

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