package com.ylx.giftCard.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ylx.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 购物卡信息表
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("gift_card")
public class GiftCard extends BaseEntity {
    private static final long serialVersionUID = 2378338959829222898L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 商户ID
     */
    private String merchantId;

    /**
     * 购物卡名称，如“200元购物卡”
     */
    private String name;

    /**
     * 缩略图URL（上传后存储路径）
     */
    private String imageUrl;

    /**
     * 面值金额，单位：元
     */
    private BigDecimal amount;

    /**
     * 商户提成比例，如 1.00 表示 1%
     */
    private BigDecimal commissionRate;

    /**
     * 是否上架：1=上架，0=下架
     */
    private Integer isPublished;

    /**
     * 库存数量，0表示无库存
     */
    private Integer stock;

    /**
     * 累计销量
     */
    private Integer sales;

    /**
     * 有效期开始日期
     */
    private LocalDate validStartDate;

    /**
     * 有效期结束日期
     */
    private LocalDate validEndDate;

    /**
     * 详情（富文本，可存HTML或Markdown）
     */
    private String description;

    /**
     * 是否删除：0=否，1=是。
     */
    @TableLogic
    private Integer isDelete;
}
