package com.genersoft.iot.vmp.gb28181.bean;  
 | 
  
 | 
  
 | 
import com.genersoft.iot.vmp.utils.DateUtil;  
 | 
import io.swagger.v3.oas.annotations.media.Schema;  
 | 
import org.jetbrains.annotations.NotNull;  
 | 
  
 | 
import java.time.Instant;  
 | 
import java.time.temporal.TemporalAccessor;  
 | 
  
 | 
/**  
 | 
 * @description:设备录像bean   
 | 
 * @author: swwheihei  
 | 
 * @date:   2020年5月8日 下午2:06:54       
 | 
 */  
 | 
@Schema(description = "设备录像详情")  
 | 
public class RecordItem  implements Comparable<RecordItem>{  
 | 
  
 | 
    @Schema(description = "设备编号")  
 | 
    private String deviceId;  
 | 
  
 | 
    @Schema(description = "名称")  
 | 
    private String name;  
 | 
  
 | 
    @Schema(description = "文件路径名 (可选)")  
 | 
    private String filePath;  
 | 
  
 | 
    @Schema(description = "录像文件大小,单位:Byte(可选)")  
 | 
    private String fileSize;  
 | 
  
 | 
    @Schema(description = "录像地址(可选)")  
 | 
    private String address;  
 | 
  
 | 
    @Schema(description = "录像开始时间(可选)")  
 | 
    private String startTime;  
 | 
  
 | 
    @Schema(description = "录像结束时间(可选)")  
 | 
    private String endTime;  
 | 
  
 | 
    @Schema(description = "保密属性(必选)缺省为0;0:不涉密,1:涉密")  
 | 
    private int secrecy;  
 | 
  
 | 
    @Schema(description = "录像产生类型(可选)time或alarm 或 manua")  
 | 
    private String type;  
 | 
  
 | 
    @Schema(description = "录像触发者ID(可选)")  
 | 
    private String recorderId;  
 | 
  
 | 
    public String getDeviceId() {  
 | 
        return deviceId;  
 | 
    }  
 | 
  
 | 
    public void setDeviceId(String deviceId) {  
 | 
        this.deviceId = deviceId;  
 | 
    }  
 | 
  
 | 
    public String getName() {  
 | 
        return name;  
 | 
    }  
 | 
  
 | 
    public void setName(String name) {  
 | 
        this.name = name;  
 | 
    }  
 | 
  
 | 
    public String getFilePath() {  
 | 
        return filePath;  
 | 
    }  
 | 
  
 | 
    public void setFilePath(String filePath) {  
 | 
        this.filePath = filePath;  
 | 
    }  
 | 
  
 | 
    public String getAddress() {  
 | 
        return address;  
 | 
    }  
 | 
  
 | 
    public void setAddress(String address) {  
 | 
        this.address = address;  
 | 
    }  
 | 
  
 | 
    public String getStartTime() {  
 | 
        return startTime;  
 | 
    }  
 | 
  
 | 
    public void setStartTime(String startTime) {  
 | 
        this.startTime = startTime;  
 | 
    }  
 | 
  
 | 
    public String getEndTime() {  
 | 
        return endTime;  
 | 
    }  
 | 
  
 | 
    public void setEndTime(String endTime) {  
 | 
        this.endTime = endTime;  
 | 
    }  
 | 
  
 | 
    public int getSecrecy() {  
 | 
        return secrecy;  
 | 
    }  
 | 
  
 | 
    public void setSecrecy(int secrecy) {  
 | 
        this.secrecy = secrecy;  
 | 
    }  
 | 
  
 | 
    public String getType() {  
 | 
        return type;  
 | 
    }  
 | 
  
 | 
    public void setType(String type) {  
 | 
        this.type = type;  
 | 
    }  
 | 
  
 | 
    public String getRecorderId() {  
 | 
        return recorderId;  
 | 
    }  
 | 
  
 | 
    public void setRecorderId(String recorderId) {  
 | 
        this.recorderId = recorderId;  
 | 
    }  
 | 
  
 | 
    public String getFileSize() {  
 | 
        return fileSize;  
 | 
    }  
 | 
  
 | 
    public void setFileSize(String fileSize) {  
 | 
        this.fileSize = fileSize;  
 | 
    }  
 | 
  
 | 
    @Override  
 | 
    public int compareTo(@NotNull RecordItem recordItem) {  
 | 
        TemporalAccessor startTimeNow = DateUtil.formatter.parse(startTime);  
 | 
        TemporalAccessor startTimeParam = DateUtil.formatter.parse(recordItem.getStartTime());  
 | 
        Instant startTimeParamInstant = Instant.from(startTimeParam);  
 | 
        Instant startTimeNowInstant = Instant.from(startTimeNow);  
 | 
        if (startTimeNowInstant.equals(startTimeParamInstant)) {  
 | 
            return 0;  
 | 
        }else if (Instant.from(startTimeParam).isAfter(Instant.from(startTimeNow)) ) {  
 | 
            return -1;  
 | 
        }else {  
 | 
            return 1;  
 | 
        }  
 | 
  
 | 
    }  
 | 
}  
 |