Files
FrameTour-BE/src/main/java/com/ycwl/basic/pricing/entity/PriceCouponConfig.java
Jerry Yan 68a674ba51 feat(coupon): 添加优惠券领取后有效期功能
- 在 PriceCouponClaimRecord 实体中添加过期时间字段
- 在 PriceCouponConfig 实体中添加领取后有效天数配置
- 更新查询可用优惠券的 SQL 条件以过滤过期券
- 修改插入领用记录的 SQL 语句以包含过期时间
- 实现领取时根据配置计算过期时间的逻辑
2026-01-22 14:03:28 +08:00

118 lines
2.2 KiB
Java

package com.ycwl.basic.pricing.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycwl.basic.pricing.enums.CouponType;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 优惠券配置实体
*/
@Data
@TableName("price_coupon_config")
public class PriceCouponConfig {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 优惠券名称
*/
private String couponName;
/**
* 优惠券类型
*/
private CouponType couponType;
/**
* 优惠值
*/
private BigDecimal discountValue;
/**
* 最小使用金额
*/
private BigDecimal minAmount;
/**
* 最大优惠金额
*/
private BigDecimal maxDiscount;
/**
* 适用商品类型(JSON)
*/
private String applicableProducts;
/**
* 优惠券使用门槛:要求在可折扣商品范围内出现指定属性Key(JSON)
* 为空表示不限制
*/
private String requiredAttributeKeys;
/**
* 发行总量
*/
private Integer totalQuantity;
/**
* 已使用数量
*/
private Integer usedQuantity;
/**
* 已领取数量(区分于已使用数量)
*/
private Integer claimedQuantity;
/**
* 每个用户可领取数量限制(NULL表示不限制)
*/
private Integer userClaimLimit;
/**
* 生效时间
*/
private Date validFrom;
/**
* 失效时间
*/
private Date validUntil;
/**
* 领取后有效天数(NULL表示不限制,仅使用全局有效期)
*/
private Integer validDaysAfterClaim;
/**
* 是否启用
*/
private Boolean isActive;
/**
* 景区ID - 限制优惠券只能在该景区使用
*/
private String scenicId;
@TableField("create_time")
private Date createTime;
@TableField("update_time")
private Date updateTime;
private Long createBy;
private Long updateBy;
private Integer deleted;
private Date deletedAt;
}