package cn.lili.modules.order.order.entity.dto; import cn.lili.modules.promotion.entity.enums.MemberCouponStatusEnum; import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.data.elasticsearch.annotations.DateFormat; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; import java.util.Date; /** * lmk-shop-java * * @author : zxl * @date : 2025-08-07 17:42 **/ @Data public class CouponExportDetailDTO { @ApiModelProperty(value = "会员名称") private String memberName; @ApiModelProperty(value = "优惠券名称") private String couponName; @ApiModelProperty(value = "商家名称,如果是平台,这个值为 platform") private String storeName; @ApiModelProperty(value = "面额") private Double price; @ApiModelProperty(value = "折扣") private Double discount; @ApiModelProperty(value = "消费门槛") private Double consumeThreshold; /** * @see cn.lili.modules.promotion.entity.enums.CouponGetEnum */ @ApiModelProperty(value = "优惠券类型,分为免费领取和活动赠送") private String getType; /** * @see MemberCouponStatusEnum */ @ApiModelProperty(value = "会员优惠券状态") private String memberCouponStatus; /** * POINT("打折"), PRICE("减免现金"); * * @see cn.lili.modules.promotion.entity.enums.CouponTypeEnum */ @ApiModelProperty(value = "优惠卷类型") private String couponType; /** * @see PromotionsScopeTypeEnum */ @ApiModelProperty(value = "关联范围类型") private String scopeType; @ApiModelProperty(value = "使用起始时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss || yyyy-MM-dd || yyyy/MM/dd HH:mm:ss|| yyyy/MM/dd ||epoch_millis") private Date startTime; @ApiModelProperty(value = "使用截止时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss || yyyy-MM-dd || yyyy/MM/dd HH:mm:ss|| yyyy/MM/dd ||epoch_millis") private Date endTime; }