package com.dora.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * 类目实体类
 */
@Data
@Schema(description = "类目实体")
public class Category {
    
    /**
     * 主键
     */
    @Schema(description = "类目ID", example = "1")
    private Long id;
    
    /**
     * 类目名称
     */
    @Schema(description = "类目名称", example = "人工智能")
    private String name;
    
    /**
     * 类目类型(1课程分类/2工作流分类)
     */
    @Schema(description = "类目类型(1课程分类/2工作流分类)", example = "1")
    private Integer type;
    
    /**
     * 类目描述
     */
    @Schema(description = "类目描述", example = "人工智能相关的课程和工作流")
    private String description;
    
    /**
     * 排序字段
     */
    @Schema(description = "排序字段", example = "1")
    private Integer sortOrder;
    
    /**
     * 是否启用(0禁用/1启用)
     */
    @Schema(description = "是否启用(0禁用/1启用)", example = "1")
    private Integer isEnabled;
    
    /**
     * 创建时间
     */
    @Schema(description = "创建时间", example = "2024-01-15T10:30:00")
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    @Schema(description = "更新时间", example = "2024-01-15T10:30:00")
    private LocalDateTime updateTime;
    
    /**
     * 逻辑删除标识
     */
    @Schema(description = "逻辑删除标识", example = "0")
    private Integer isDeleted;
    
    /**
     * 类目类型常量
     */
    public static final Integer TYPE_COURSE = 1;  // 课程分类
    public static final Integer TYPE_WORKFLOW = 2;  // 工作流分类
}
