package com.ruoyi.ss.card.domain;

import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 卡券对象 ss_card
 *
 * @author qzz
 * @date 2025-03-03
 */
@Data
public class SsCard extends BaseEntity{

    private static final long serialVersionUID = 1L;

    private Long couponId;

    @Excel(name = "优惠券名称")
    @ApiModelProperty("优惠券名称")
    private String name;

    @Excel(name = "类型")
    @ApiModelProperty("类型")
    private String type;

    @Excel(name = "折扣比例")
    @ApiModelProperty("折扣比例")
    private BigDecimal discountPercent;

    @Excel(name = "店铺id")
    @ApiModelProperty("店铺id")
    private Long storeId;

    @Excel(name = "商户id")
    @ApiModelProperty("商户id")
    private Long merchantId;

    @Excel(name = "抵扣金额")
    @ApiModelProperty("抵扣金额")
    private BigDecimal discountAmount;

    @Excel(name = "限制次数")
    @ApiModelProperty("限制次数")
    private String limitNum;

    @Excel(name = "描述")
    @ApiModelProperty("描述")
    private String descr;

    @Excel(name = "零售价")
    @ApiModelProperty("零售价")
    private BigDecimal retailPrice;

    @Excel(name = "有效期的值")
    @ApiModelProperty("有效期的值")
    private Integer validityValue;

    @Excel(name = "有效期单位")
    @ApiModelProperty("有效期单位")
    private String validityUnit;

    @Excel(name = "帐号状态")
    @ApiModelProperty("帐号状态")
    private String status;

    @Excel(name = "是否热门")
    @ApiModelProperty("是否热门")
    private String isHot;

    @Excel(name = "原价")
    @ApiModelProperty("原价")
    private BigDecimal originalPrice;

    private String delFlag;

    @Excel(name = "可用的房间id")
    @ApiModelProperty("可用的房间id")
    private List<Long> availableRooms;

    @Excel(name = "可使用周")
    @ApiModelProperty("可使用周")
    private List<String> availableWeek;

    @Excel(name = "可用时间结束")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @ApiModelProperty("可用时间结束")
    private LocalTime availableTimeEnd;

    @Excel(name = "可用时间开始")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @ApiModelProperty("可用时间开始")
    private LocalTime availableTimeStart;


}
