package com.genersoft.iot.vmp.jt1078.proc.request; 
 | 
  
 | 
import com.alibaba.fastjson2.JSON; 
 | 
import com.genersoft.iot.vmp.jt1078.annotation.MsgId; 
 | 
import com.genersoft.iot.vmp.jt1078.proc.Header; 
 | 
import com.genersoft.iot.vmp.jt1078.proc.response.J8001; 
 | 
import com.genersoft.iot.vmp.jt1078.proc.response.Rs; 
 | 
import com.genersoft.iot.vmp.jt1078.session.Session; 
 | 
import com.genersoft.iot.vmp.jt1078.session.SessionManager; 
 | 
import io.netty.buffer.ByteBuf; 
 | 
import io.netty.buffer.ByteBufUtil; 
 | 
  
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 终端上传音视频资源列表 
 | 
 * 
 | 
 * @author QingtaiJiang 
 | 
 * @date 2023/4/28 10:36 
 | 
 * @email qingtaij@163.com 
 | 
 */ 
 | 
@MsgId(id = "1205") 
 | 
public class J1205 extends Re { 
 | 
    Integer respNo; 
 | 
  
 | 
    private List<JRecordItem> recordList = new ArrayList<JRecordItem>(); 
 | 
  
 | 
    @Override 
 | 
    protected Rs decode0(ByteBuf buf, Header header, Session session) { 
 | 
        respNo = buf.readUnsignedShort(); 
 | 
        long size = buf.readUnsignedInt(); 
 | 
  
 | 
        for (int i = 0; i < size; i++) { 
 | 
            JRecordItem item = new JRecordItem(); 
 | 
            item.setChannelId(buf.readUnsignedByte()); 
 | 
            item.setStartTime(ByteBufUtil.hexDump(buf.readSlice(6))); 
 | 
            item.setEndTime(ByteBufUtil.hexDump(buf.readSlice(6))); 
 | 
            item.setWarn(buf.readLong()); 
 | 
            item.setMediaType(buf.readUnsignedByte()); 
 | 
            item.setStreamType(buf.readUnsignedByte()); 
 | 
            item.setStorageType(buf.readUnsignedByte()); 
 | 
            item.setSize(buf.readUnsignedInt()); 
 | 
            recordList.add(item); 
 | 
        } 
 | 
  
 | 
        return null; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    protected Rs handler(Header header, Session session) { 
 | 
        SessionManager.INSTANCE.response(header.getDevId(), "1205", (long) respNo, JSON.toJSONString(this)); 
 | 
  
 | 
        J8001 j8001 = new J8001(); 
 | 
        j8001.setRespNo(header.getSn()); 
 | 
        j8001.setRespId(header.getMsgId()); 
 | 
        j8001.setResult(J8001.SUCCESS); 
 | 
        return j8001; 
 | 
    } 
 | 
  
 | 
  
 | 
    public Integer getRespNo() { 
 | 
        return respNo; 
 | 
    } 
 | 
  
 | 
    public void setRespNo(Integer respNo) { 
 | 
        this.respNo = respNo; 
 | 
    } 
 | 
  
 | 
    public List<JRecordItem> getRecordList() { 
 | 
        return recordList; 
 | 
    } 
 | 
  
 | 
    public void setRecordList(List<JRecordItem> recordList) { 
 | 
        this.recordList = recordList; 
 | 
    } 
 | 
  
 | 
    public static class JRecordItem { 
 | 
  
 | 
        // 逻辑通道号 
 | 
        private int channelId; 
 | 
  
 | 
        // 开始时间 
 | 
        private String startTime; 
 | 
  
 | 
        // 结束时间 
 | 
        private String endTime; 
 | 
  
 | 
        // 报警标志 
 | 
        private long warn; 
 | 
  
 | 
        // 音视频资源类型 
 | 
        private int mediaType; 
 | 
  
 | 
        // 码流类型 
 | 
        private int streamType = 1; 
 | 
  
 | 
        // 存储器类型 
 | 
        private int storageType; 
 | 
  
 | 
        // 文件大小 
 | 
        private long size; 
 | 
  
 | 
        public int getChannelId() { 
 | 
            return channelId; 
 | 
        } 
 | 
  
 | 
        public void setChannelId(int channelId) { 
 | 
            this.channelId = channelId; 
 | 
        } 
 | 
  
 | 
        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 long getWarn() { 
 | 
            return warn; 
 | 
        } 
 | 
  
 | 
        public void setWarn(long warn) { 
 | 
            this.warn = warn; 
 | 
        } 
 | 
  
 | 
        public int getMediaType() { 
 | 
            return mediaType; 
 | 
        } 
 | 
  
 | 
        public void setMediaType(int mediaType) { 
 | 
            this.mediaType = mediaType; 
 | 
        } 
 | 
  
 | 
        public int getStreamType() { 
 | 
            return streamType; 
 | 
        } 
 | 
  
 | 
        public void setStreamType(int streamType) { 
 | 
            this.streamType = streamType; 
 | 
        } 
 | 
  
 | 
        public int getStorageType() { 
 | 
            return storageType; 
 | 
        } 
 | 
  
 | 
        public void setStorageType(int storageType) { 
 | 
            this.storageType = storageType; 
 | 
        } 
 | 
  
 | 
        public long getSize() { 
 | 
            return size; 
 | 
        } 
 | 
  
 | 
        public void setSize(long size) { 
 | 
            this.size = size; 
 | 
        } 
 | 
  
 | 
        @Override 
 | 
        public String toString() { 
 | 
            return "JRecordItem{" + 
 | 
                    "channelId=" + channelId + 
 | 
                    ", startTime='" + startTime + '\'' + 
 | 
                    ", endTime='" + endTime + '\'' + 
 | 
                    ", warn=" + warn + 
 | 
                    ", mediaType=" + mediaType + 
 | 
                    ", streamType=" + streamType + 
 | 
                    ", storageType=" + storageType + 
 | 
                    ", size=" + size + 
 | 
                    '}'; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public String toString() { 
 | 
        return "J1205{" + 
 | 
                "respNo=" + respNo + 
 | 
                ", recordList=" + recordList + 
 | 
                '}'; 
 | 
    } 
 | 
} 
 |