Coupon.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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. @ApiModelProperty("是否新用户注册发放:0否,1是")
  49. @TableField("is_new_user_coupon")
  50. private Integer isNewUserCoupon;
  51. /**
  52. * 图片
  53. */
  54. @ApiModelProperty("图片")
  55. @TableField("pic_url")
  56. private String picUrl;
  57. /**
  58. * 使用说明
  59. */
  60. @ApiModelProperty("使用说明")
  61. @TableField("description")
  62. private String description;
  63. /**
  64. * 优惠类型;1代金券、2折扣券、3兑换券
  65. */
  66. @ApiModelProperty("优惠类型;1代金券、2折扣券、3兑换券")
  67. @TableField("discount_type")
  68. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  69. private CouponDiscountTypeEnum discountType;
  70. /**
  71. * 优惠金额(比例)
  72. */
  73. @ApiModelProperty("优惠金额(比例)")
  74. @TableField("discount")
  75. private Integer discount;
  76. /**
  77. * 最低消费金额
  78. */
  79. @ApiModelProperty("最低消费金额")
  80. @TableField("min_order_amt")
  81. private Integer minOrderAmt;
  82. /**
  83. * 渠道代金券,渠道承担比例
  84. */
  85. @ApiModelProperty("渠道代金券,渠道承担比例")
  86. @TableField("channel_shared_rate")
  87. private Integer channelSharedRate;
  88. /**
  89. * 状态;off下架 on正常
  90. */
  91. @ApiModelProperty("状态;off下架 on正常")
  92. @TableField("status")
  93. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  94. private CouponStatusEnum status;
  95. /**
  96. * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
  97. * 0:进票门店 1、指定盲票 2:所有门票
  98. */
  99. @ApiModelProperty("使用范围;0通用, 1指定范围, 2门店消费,发放时动态指定范围, 3线上票, 4线下票")
  100. @TableField("use_area")
  101. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  102. private CouponUseAreaEnum useArea;
  103. /**
  104. * 发放方式;1系统发放 2用户主动领取
  105. */
  106. @ApiModelProperty("发放方式;1系统发放 2用户主动领取")
  107. @TableField("distribute_type")
  108. @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  109. private CouponDistributeTypeEnum distributeType;
  110. /**
  111. * 叠加使用;0不允许 1允许
  112. */
  113. @ApiModelProperty("叠加使用;0不允许 1允许")
  114. @TableField("composite_use")
  115. private Integer compositeUse;
  116. /**
  117. * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期
  118. */
  119. @ApiModelProperty("有效期天数;从领券后开始多少天有效,0则使用绝对有效期")
  120. @TableField("due_days")
  121. private Integer dueDays;
  122. /**
  123. * 有效期开始日
  124. */
  125. @TableField("valid_start")
  126. private Date validStart;
  127. /**
  128. * 有效期结束日
  129. */
  130. @TableField("valid_end")
  131. private Date validEnd;
  132. /**
  133. * 总量;总量为0代表不限量
  134. */
  135. @TableField("quantity")
  136. private Integer quantity;
  137. /**
  138. * 已发放量
  139. */
  140. @TableField("distribute_qty")
  141. private Integer distributeQty;
  142. /**
  143. * 逻辑删除标识
  144. */
  145. @TableField("is_deleted")
  146. @TableLogic
  147. private Integer isDeleted;
  148. /**
  149. * 创建时间
  150. */
  151. @TableField("created_time")
  152. private Date createdTime;
  153. /**
  154. * 更新时间
  155. */
  156. @TableField("updated_time")
  157. private Date updatedTime;
  158. /**
  159. * 优惠卷详情
  160. */
  161. @TableField("coupon_detail")
  162. private String couponDetail;
  163. }