package com.starry.admin.modules.shop.module.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.starry.common.domain.BaseEntity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 礼物对象 play_gift_info
 *
 * @author admin
 * @since 2024-04-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("play_gift_info")
public class PlayGiftInfoEntity extends BaseEntity<PlayGiftInfoEntity> {

    /**
     * UUID
     */
    private String id;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 是否是历史礼物(0:不是,1:是)
     */
    private String history;

    /**
     * 礼物名称
     */
    private String name;

    /**
     * 礼物类型（0：盲盒,1:普通礼物）
     *
     * @deprecated 盲盒已迁移至 blind_box_config，请勿再依赖该字段判断
     */
    @Deprecated
    private String type;

    /**
     * 礼物图片地址
     */
    private String url;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 价格单位
     */
    private String unit;

    /**
     * 状态（0:正常,1:下架）
     */
    private String state;

    /**
     * 上架时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime listingTime;

    /**
     * 下架时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime delintingTime;

    /**
     * 备注
     */
    private String remark;

}
