|
|
@@ -0,0 +1,190 @@
|
|
|
+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 +
|
|
|
+ '}';
|
|
|
+ }
|
|
|
+}
|