Coupon.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  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.qs.mp.common.enums.CouponDiscountTypeEnum;
  10. import com.qs.mp.common.enums.CouponDistributeTypeEnum;
  11. import com.qs.mp.common.enums.CouponStatusEnum;
  12. import com.qs.mp.common.enums.CouponTypeEnum;
  13. import com.qs.mp.common.enums.CouponUseAreaEnum;
  14. import java.io.Serializable;
  15. import java.util.Date;
  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-07 20:43:44
  23. */
  24. @TableName("mp_coupon")
  25. @Data
  26. @ApiModel("优惠券实体类")
  27. public class Coupon implements Serializable {
  28. private static final long serialVersionUID = 1L;
  29. /**
  30. * 主键
  31. */
  32. @ApiModelProperty("优惠券id")
  33. @TableId(value = "coupon_id", type = IdType.AUTO)
  34. private Long couponId;
  35. /**
  36. * 标题
  37. */
  38. @ApiModelProperty("标题")
  39. @TableField("title")
  40. private String title;
  41. /**
  42. * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
  43. */
  44. @ApiModelProperty("类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券")
  45. @TableField("type")
  46. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  47. private CouponTypeEnum type;
  48. /**
  49. * 图片
  50. */
  51. @ApiModelProperty("图片")
  52. @TableField("pic_url")
  53. private String picUrl;
  54. /**
  55. * 使用说明
  56. */
  57. @ApiModelProperty("使用说明")
  58. @TableField("description")
  59. private String description;
  60. /**
  61. * 优惠类型;1代金券、2折扣券、3兑换券
  62. */
  63. @ApiModelProperty("优惠类型;1代金券、2折扣券、3兑换券")
  64. @TableField("discount_type")
  65. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  66. private CouponDiscountTypeEnum discountType;
  67. /**
  68. * 优惠金额(比例)
  69. */
  70. @ApiModelProperty("优惠金额(比例)")
  71. @TableField("discount")
  72. private Integer discount;
  73. /**
  74. * 最低消费金额
  75. */
  76. @ApiModelProperty("最低消费金额")
  77. @TableField("min_order_amt")
  78. private Integer minOrderAmt;
  79. /**
  80. * 渠道代金券,渠道承担比例
  81. */
  82. @ApiModelProperty("渠道代金券,渠道承担比例")
  83. @TableField("channel_shared_rate")
  84. private Integer channelSharedRate;
  85. /**
  86. * 状态;off下架 on正常
  87. */
  88. @ApiModelProperty("状态;off下架 on正常")
  89. @TableField("status")
  90. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  91. private CouponStatusEnum status;
  92. /**
  93. * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
  94. * 0:进票门店 1、指定盲票 2:所有门票
  95. */
  96. @ApiModelProperty("使用范围;0通用, 1指定范围, 2门店消费,发放时动态指定范围, 3线上票, 4线下票")
  97. @TableField("use_area")
  98. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  99. private CouponUseAreaEnum useArea;
  100. /**
  101. * 发放方式;1系统发放 2用户主动领取
  102. */
  103. @ApiModelProperty("发放方式;1系统发放 2用户主动领取")
  104. @TableField("distribute_type")
  105. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  106. private CouponDistributeTypeEnum distributeType;
  107. /**
  108. * 叠加使用;0不允许 1允许
  109. */
  110. @ApiModelProperty("叠加使用;0不允许 1允许")
  111. @TableField("composite_use")
  112. private Integer compositeUse;
  113. /**
  114. * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期
  115. */
  116. @ApiModelProperty("有效期天数;从领券后开始多少天有效,0则使用绝对有效期")
  117. @TableField("due_days")
  118. private Integer dueDays;
  119. /**
  120. * 有效期开始日
  121. */
  122. @TableField("valid_start")
  123. private Date validStart;
  124. /**
  125. * 有效期结束日
  126. */
  127. @TableField("valid_end")
  128. private Date validEnd;
  129. /**
  130. * 总量;总量为0代表不限量
  131. */
  132. @TableField("quantity")
  133. private Integer quantity;
  134. /**
  135. * 已发放量
  136. */
  137. @TableField("distribute_qty")
  138. private Integer distributeQty;
  139. /**
  140. * 逻辑删除标识
  141. */
  142. @TableField("is_deleted")
  143. @TableLogic
  144. private Integer isDeleted;
  145. /**
  146. * 创建时间
  147. */
  148. @TableField("created_time")
  149. private Date createdTime;
  150. /**
  151. * 更新时间
  152. */
  153. @TableField("updated_time")
  154. private Date updatedTime;
  155. }