后端:优惠劵模板 + 优惠劵的表结构

This commit is contained in:
YunaiV 2019-03-31 23:08:50 +08:00
parent 6ca3fc8f12
commit a6c3bf440f
3 changed files with 255 additions and 302 deletions

View File

@ -1,21 +1,19 @@
package cn.iocoder.mall.promotion.biz.dataobject;
import cn.iocoder.common.framework.dataobject.BaseDO;
import java.util.Date;
/**
* 优惠劵
* 优惠劵 DO
*/
public class Coupon {
public class CouponDO extends BaseDO {
// ========== 基本信息 BEGIN ==========
/**
* 卡券ID
* 优惠劵编号
*/
private Integer id;
/**
* 店铺编号
*/
private Integer shopId;
/**
* 类型
*
@ -24,17 +22,13 @@ public class Coupon {
*/
private Integer type;
/**
* 优惠劵分组编号{@link CouponTemplate} id
* 优惠劵分组编号{@link CouponTemplateDO} id
*/
private Integer couponGroupId;
/**
* 核销码
*/
private String verifyCode;
/**
* 创建时间
*/
private Date createTime;
private Integer templateId;
// /**
// * 核销码
// */
// private String verifyCode;
/**
* 优惠码状态
*
@ -43,6 +37,8 @@ public class Coupon {
* 3-已过期
* 4-已删除
* 5-已使用
*
* TODO 需要讨论下
*/
private Integer status;
@ -52,7 +48,7 @@ public class Coupon {
/**
* 是否领取
*/
private Boolean isTake;
private Boolean taked;
/**
* 领取用户编号
*/
@ -61,6 +57,13 @@ public class Coupon {
* 领取时间
*/
private Date takeTime;
/**
* 领取类型
*
* 1 - 用户主动领取
* 2 - 后台自动发放
*/
private Integer takeType;
// ========== 领取情况 END ==========
// ========== 使用规则 BEGIN ==========
@ -79,32 +82,38 @@ public class Coupon {
* 优惠类型
*
* 1-代金卷
* 2-折扣卷 优惠劵独有
* 2-折扣卷
*/
private Integer preferentialType;
/**
* 折扣
*/
private Double discount;
private Double percentOff;
/**
* 优惠金额单位
*/
private Integer value;
private Integer priceOff;
/**
* 折扣上限仅在 {@link #preferentialType} 等于 2 时生效
*
* 例如折扣上限为 20 当使用 8 折优惠券订单金额为 1000 元时最高只可折扣 20 而非 80
*/
private Integer discountPriceLimit;
// ========== 使用效果 END ==========
// ========== 使用情况 BEGIN ==========
/**
* 是否使用
*/
private Boolean isUsed;
private Boolean used;
/**
* 使用订单号
*/
private String usedInTid;
private String usedOrderId;
/**
* 订单中优惠面值单位
*/
private Integer usedValue;
private Integer usedPrice;
/**
* 使用时间
*/

View File

@ -1,278 +0,0 @@
package cn.iocoder.mall.promotion.biz.dataobject;
import java.util.Date;
/**
* 优惠劵模板
*
* 当用户领取时会生成 {@link Coupon} 优惠劵
*/
public class CouponTemplate {
// ========== 基本信息 BEGIN ==========
/**
* 编号自增唯一
*/
private Integer id;
/**
* 店铺编号
*/
private Integer shopId;
/**
* 别名
*
* 系统生成作为唯一标识例如2fpa62tbmsl9h
* 可以用于生成优惠券领取链接例如https://wap.youzan.com/v2/showcase/coupon/fetch?alias=17xcvjbd8
*/
private String alias;
/**
* 标题
*/
private String title;
/**
* 使用说明
*/
private String description;
/**
* 类型
*
* 1-优惠劵
* 2-优惠码
*/
private Integer type;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 优惠码状态
*
* 1-生效中
* 2-已失效
* 3-已过期
* 4-已删除
*
* 当优惠劵有效时可以手动操作设置成无效
*/
private Integer status;
/**
* 是否可分享领取链接
*/
private Boolean isShare;
/**
* 设置为失效时间
*/
private Date invalidTime;
/**
* 删除时间
*/
private Date deleteTime;
// ========== 基本信息 END ==========
// ========== 码信息 BEGIN ==========
/**
* 码类型
*
* 1-一卡一码UNIQUE
* 2-通用码GENERAL
*
* 优惠码独有
*/
private Integer codeType;
/**
* 优惠码
*
* 优惠码独有
*/
private String code;
// ========== 码信息 END ==========
// ========== 领取规则 BEGIN ==========
/**
* 是否限制领用者的等级
*
* 0-不限制
* 大于0-领用者必须是这个等级编号
*
* 优惠劵独有
*/
private Integer needUserLevel;
/**
* 每人限领个数
*
* 0-则表示不限制
*/
private Integer quota;
/**
* 剩余可用库存
*/
private Integer stock;
/**
* 总库存
*/
private Integer total;
/**
* 领取优惠券要给用户打上的标签的列表使用逗号分隔标签编号
*/
private String markTags;
// ========== 领取规则 END ==========
// ========== 使用规则 BEGIN ==========
/**
* 是否仅原价购买商品时可用
*
* true-
* false-
*/
private Boolean isForbidPreference;
/**
* 是否设置满多少金额可用单位
*
* 0-不限制
* 大于0-多少金额可用
*/
private Integer condition;
/**
* 可用范围的类型
*
* 1-部分ALL全部商品可用
* 2-全部PART部分商品可用或指定商品可用
*/
private Integer rangeType;
/**
* 指定可用商品列表使用逗号分隔商品编号 {@link cn.iocoder.doraemon.itemgroup.item.entity.Item#id}
*/
private String rangeValues;
/**
* 生效日期类型
*
* 1-固定日期
* 2-领取日期领到券 {@link #fixedBeginTerm} 日开始 N 天内有效
*/
private Integer dateType;
/**
* 固定日期-生效开始时间
*/
private Date validStartTime;
/**
* 固定日期-生效结束时间
*/
private Date validEndTime;
/**
* 领取日期-开始天数
*
* 例如0-当天1-次天
*/
private Integer fixedBeginTerm;
/**
* 领取日期-结束天数
*/
private Integer fixedTerm;
/**
* 是否到期前4天发送提醒
*
* true-发送
* false-不发送
*/
private Boolean expireNotice;
// ========== 使用规则 END ==========
// ========== 使用效果 BEGIN ==========
/**
* 优惠类型
*
* 1-代金卷
* 2-折扣卷 优惠劵独有
*/
private Integer preferentialType;
/**
* 折扣例如80% 80
*
*优惠劵独有
*/
private Integer discount;
/**
* 是否是随机优惠券
*
* true-随机
* false-不随机
*
* 优惠劵独有
*/
private Boolean isRandom;
/**
* 优惠金额单位
*
* {@link #isRandom} true 代表随机优惠金额的下限
*/
private Integer value;
/**
* 优惠金额上限
*
* 优惠劵独有
*/
private Integer valueRandomTo;
// ========== 使用效果 END ==========
// ========== 统计信息 BEGIN ==========
/**
* 领取优惠券的人数
*/
private Integer statFetchUserNum;
/**
* 领取优惠券的次数
*/
private Integer statFetchNum;
/**
* 使用优惠券的次数
*/
private Integer statUseNum;
// ========== 统计信息 END ==========
// ========== 微信卡卷 BEGIN ==========
/**
* 是否同步微信卡券
*
* true-
* false-
*/
private Boolean isSyncWeixin;
/**
* 同步微信卡券选择的卡券颜色的值
*
* 例如Color10
*/
private String weixinColor;
/**
* 同步微信卡券选择的卡券颜色的RGB值
*
* 例如#ffaaff
*/
private String weixinColorRGB;
/**
* 同步微信卡券卡券的标题
*/
private String weixinTitle;
/**
* 同步微信卡券卡券的副标题
*/
private String weixinSubTitle;
/**
* 同步微信卡券卡券的客服电话
*/
private String servicePhone;
/**
* 同步微信卡券设置是否可以转赠
*
* true-可以
* false-不可以
*/
private Boolean canGiveFriend;
// ========== 微信卡卷 END ==========
}

View File

@ -0,0 +1,222 @@
package cn.iocoder.mall.promotion.biz.dataobject;
import cn.iocoder.common.framework.dataobject.BaseDO;
import java.util.Date;
/**
* 优惠劵模板 DO
*
* 当用户领取时会生成 {@link CouponDO} 优惠劵
*/
public class CouponTemplateDO extends BaseDO {
// ========== 基本信息 BEGIN ==========
/**
* 模板编号自增唯一
*/
private Integer id;
/**
* 标题
*/
private String title;
/**
* 使用说明
*/
private String description;
/**
* 类型
*
* 1-优惠劵
* 2-优惠码
*/
private Integer type;
/**
* 优惠码状态
*
* 1-生效中
* 2-已失效
* 3-已过期
* 4-已删除
*
* 当优惠劵有效时可以手动操作设置成无效
*
* TODO 需要讨论下
*/
private Integer status;
// /**
// * 是否可分享领取链接
// */
// private Boolean isShare;
/**
* 设置为失效时间
*/
private Date invalidTime;
/**
* 删除时间
*/
private Date deleteTime;
// ========== 基本信息 END ==========
// ========== 码信息 BEGIN ==========
/**
* 码类型
*
* 1-一卡一码UNIQUE
* 2-通用码GENERAL
*
* 优惠码独有
*/
private Integer codeType;
/**
* 优惠码
*
* 优惠码独有
*/
private String code;
// ========== 码信息 END ==========
// ========== 领取规则 BEGIN ==========
// /**
// * 是否限制领用者的等级
// *
// * 0-不限制
// * 大于0-领用者必须是这个等级编号
// *
// * 优惠劵独有
// */
// private Integer needUserLevel;
/**
* 每人限领个数
*
* null - 则表示不限制
*/
private Integer quota;
/**
* 剩余可用库存
*
* null - 则表示无限库存
*/
private Integer stock;
// ========== 领取规则 END ==========
// ========== 使用规则 BEGIN ==========
// /**
// * 是否仅原价购买商品时可用
// *
// * true-
// * false-
// */
// private Boolean isForbidPreference;
/**
* 是否设置满多少金额可用单位
*
* 0-不限制
* 大于0-多少金额可用
*/
private Integer priceAvailable;
/**
* 可用范围的类型
*
* 1-部分ALL全部商品可用
* 2-全部PART部分商品可用或指定商品可用
*/
private Integer rangeType;
/**
* 指定可用商品列表使用逗号分隔商品编号
*/
private String rangeValues;
/**
* 生效日期类型
*
* 1-固定日期
* 2-领取日期领到券 {@link #fixedTerm} 日开始 N 天内有效
*/
private Integer dateType;
/**
* 固定日期-生效开始时间
*/
private Date validStartTime;
/**
* 固定日期-生效结束时间
*/
private Date validEndTime;
// /**
// * 领取日期-开始天数
// *
// * 例如0-当天1-次天
// */
// private Integer fixedBeginTerm;
/**
* 领取日期-结束天数
*/
private Integer fixedTerm;
// /**
// * 是否到期前4天发送提醒
// *
// * true-发送
// * false-不发送
// */
// private Boolean expireNotice;
// ========== 使用规则 END ==========
// ========== 使用效果 BEGIN ==========
/**
* 优惠类型
*
* 1-代金卷
* 2-折扣卷
*/
private Integer preferentialType;
/**
* 折扣百分比
*
* 例如80% 80
* 100% 100 则代表免费
*/
private Integer percentOff;
// /**
// * 是否是随机优惠券
// *
// * true-随机
// * false-不随机
// *
// * 优惠劵独有
// */
// private Boolean isRandom;
/**
* 优惠金额单位
*/
// * {@link #isRandom} true 代表随机优惠金额的下限
private Integer priceOff;
// /**
// * 优惠金额上限
// *
// * 优惠劵独有
// */
// private Integer valueRandomTo;
/**
* 折扣上限仅在 {@link #preferentialType} 等于 2 时生效
*
* 例如折扣上限为 20 当使用 8 折优惠券订单金额为 1000 元时最高只可折扣 20 而非 80
*/
private Integer discountPriceLimit;
// ========== 使用效果 END ==========
// // ========== 统计信息 BEGIN ==========
// /**
// * 领取优惠券的人数
// */
// private Integer statFetchUserNum;
// /**
// * 领取优惠券的次数
// */
// private Integer statFetchNum;
// /**
// * 使用优惠券的次数
// */
// private Integer statUseNum;
// // ========== 统计信息 END ==========
}