package com.wms.entity.app.request;

import cn.hutool.core.bean.BeanUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms.entity.table.UploadRecord;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 上传记录查询
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class UploadRecordQuery extends PageQuery {
    /**
     * 上传id
     */
    @JsonProperty("uploadId")
    private String uploadId;
    /**
     * 文件id
     */
    @JsonProperty("fileId")
    private String fileId;
    /**
     * 文件名
     */
    @JsonProperty("fileName")
    private String fileName;
    /**
     * 文件描述
     */
    @JsonProperty("fileDescription")
    private String fileDescription;
    /**
     * 文件类型
     */
    @JsonProperty("fileType")
    private String fileType;
    /**
     * 上传时间
     */
    @JsonProperty("uploadTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime uploadTime;
    /**
     * 上传人员
     */
    @JsonProperty("uploadUser")
    private String uploadUser;

    /**
     * 将UploadRecordQuery转化为UploadRecordPo
     * @return UploadRecordPo结果
     */
    public UploadRecord toUploadRecordPO() {
        return BeanUtil.copyProperties(this, UploadRecord.class);
    }
}
