package cn.iocoder.yudao.module.server.controller.admin.materialinfo.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 资料库分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MaterialInfoPageReqVO extends PageParam {

    @Schema(description = "分类ID", example = "14107")
    private Long categoryId;

    @Schema(description = "分类名称")
    private String categoryName;

    @Schema(description = "资料名称", example = "李四")
    private String name;

    @Schema(description = "资料介绍", example = "你猜")
    private String description;

    @Schema(description = "失效日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
//    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDateTime[] expireTime;

    @Schema(description = "生效日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
//    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDateTime startTime;

    @Schema(description = "开启过期提醒")
    private Boolean remind;

    @Schema(description = "提前提醒天数")
    private Integer dayleft;

    @Schema(description = "共享类型")
    private Integer shareType;

    @Schema(description = "下载次数", example = "21516")
    private Integer downloadCount;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "备注信息", example = "你说的对")
    private String reportRemark;

    @Schema(description = "附件名称")
    private String attachment;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "部门ID", example = "31665")
    private Long departmentId;

    @Schema(description = "部门/盟市")
    private String departmentName;

    @Schema(description = "部门")
    private String shareDeptName;

}