package com.yolo.keyboard.dal.dataobject.themes;

import com.yolo.keyboard.framework.tenant.core.aop.TenantIgnore;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.yolo.keyboard.framework.mybatis.core.type.JsonbTypeHandler;
import com.yolo.keyboard.framework.mybatis.core.dataobject.BaseDO;

/**
 * 键盘皮肤 DO
 *
 * @author ziin
 */
@TableName(value = "keyboard_themes", autoResultMap = true)
@KeySequence("keyboard_themes_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TenantIgnore
public class KeyboardThemesDO  {

    /**
     * 主键 Id
     */
    @TableId
    private Long id;
    /**
     * 键盘皮肤名称
     */
    private String themeName;
    /**
     * 键盘价格
     */
    private BigDecimal themePrice;
    /**
     * 主题标签
     */
    @TableField(typeHandler = JsonbTypeHandler.class)
    private Object themeTag;
    /**
     * 主题下载次数
     */
    private String themeDownload;
    /**
     * 主题风格
     */
    private Long themeStyle;
    /**
     * 主题上架状态
     */
    private Boolean themeStatus;
    /**
     * 主题购买次数
     */
    private Long themePurchasesNumber;
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;
    /**
     * 预览图
     */
    private String themePreviewImageUrl;
    /**
     * 是否免费
     */
    private Boolean isFree;
    /**
     * 下载地址
     */
    private String themeDownloadUrl;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 真实下载数量
     */
    private Long realDownloadCount;


}