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; 
 | 
        } 
 | 
  
 | 
    } 
 | 
} 
 |