package cn.lili.modules.lmk.domain.vo; import cn.lili.base.AbsVo; import cn.lili.modules.lmk.domain.entity.StoreCouponClaimRecord; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; import java.math.BigDecimal; import java.util.Date; /** * 店铺优惠卷领取记录展示 * * @author peng * @since 2025-09-25 */ @Data @ApiModel(value = "店铺优惠卷领取记录响应数据", description = "店铺优惠卷领取记录响应数据") public class StoreCouponClaimRecordVO extends AbsVo { /** 店铺名称 */ @ApiModelProperty("店铺名称") private String storeName; /** 优惠卷id */ @ApiModelProperty("优惠卷id") private Long couponId; /** 优惠卷名称 */ @ApiModelProperty("优惠卷名称") private String couponName; /** 店铺id */ @ApiModelProperty("店铺id") private String storeId; /** 用户id */ @ApiModelProperty("用户id") private String userId; @ApiModelProperty("店铺优惠券关联ID") private String storeCouponId; @ApiModelProperty("创建者") private String createBy; @ApiModelProperty("创建时间") private Date createTime; @ApiModelProperty("修改者") private String updateBy; @ApiModelProperty("更新时间") private Date updateTime; @ApiModelProperty("删除标志") private Boolean deleteFlag; // 补充会员优惠券表关联字段 @ApiModelProperty("会员ID") private String memberId; @ApiModelProperty("会员名称") private String memberName; @ApiModelProperty("优惠券面额") private BigDecimal price; @ApiModelProperty("使用起始时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; @ApiModelProperty("使用截止时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @ApiModelProperty("会员优惠券状态") private String memberCouponStatus; @ApiModelProperty("商品使用限制次数") private Integer goodsUseLimitNum; @ApiModelProperty("是否是平台优惠券") private Boolean platformFlag; @ApiModelProperty("优惠券类型") private String getType; @ApiModelProperty("折扣") private BigDecimal discount; @ApiModelProperty("活动类型") private String couponType; public static StoreCouponClaimRecordVO getVoByEntity(@NonNull StoreCouponClaimRecord entity, StoreCouponClaimRecordVO vo) { if(vo == null) { vo = new StoreCouponClaimRecordVO(); } BeanUtils.copyProperties(entity, vo); return vo; } }