1078-补充终端音视频参数设置 + 查询终端音视频属性
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
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.bean.JTDevice;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.JTDeviceConfig;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.common.ConfigAttribute;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.config.*;
|
||||
@@ -13,9 +11,7 @@ import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service;
|
||||
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 org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.util.StringUtil;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
@@ -81,25 +77,25 @@ public class J0104 extends Re {
|
||||
methodForShort.invoke(deviceConfig, buf.readUnsignedByte());
|
||||
continue;
|
||||
case "IllegalDrivingPeriods":
|
||||
IllegalDrivingPeriods illegalDrivingPeriods = new IllegalDrivingPeriods();
|
||||
JTIllegalDrivingPeriods illegalDrivingPeriods = new JTIllegalDrivingPeriods();
|
||||
int startHour = buf.readUnsignedByte();
|
||||
int startMinute = buf.readUnsignedByte();
|
||||
int stopHour = buf.readUnsignedByte();
|
||||
int stopMinute = buf.readUnsignedByte();
|
||||
illegalDrivingPeriods.setStartTime(startHour + ":" + startMinute);
|
||||
illegalDrivingPeriods.setEndTime(stopHour + ":" + stopMinute);
|
||||
Method methodForIllegalDrivingPeriods = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), IllegalDrivingPeriods.class);
|
||||
Method methodForIllegalDrivingPeriods = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTIllegalDrivingPeriods.class);
|
||||
methodForIllegalDrivingPeriods.invoke(deviceConfig, illegalDrivingPeriods);
|
||||
continue;
|
||||
case "CollisionAlarmParams":
|
||||
CollisionAlarmParams collisionAlarmParams = new CollisionAlarmParams();
|
||||
JTCollisionAlarmParams collisionAlarmParams = new JTCollisionAlarmParams();
|
||||
collisionAlarmParams.setCollisionAlarmTime(buf.readUnsignedByte());
|
||||
collisionAlarmParams.setCollisionAcceleration(buf.readUnsignedByte());
|
||||
Method methodForCollisionAlarmParams = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), CollisionAlarmParams.class);
|
||||
Method methodForCollisionAlarmParams = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTCollisionAlarmParams.class);
|
||||
methodForCollisionAlarmParams.invoke(deviceConfig, collisionAlarmParams);
|
||||
continue;
|
||||
case "CameraTimer":
|
||||
CameraTimer cameraTimer = new CameraTimer();
|
||||
JTCameraTimer cameraTimer = new JTCameraTimer();
|
||||
long cameraTimerContent = buf.readUnsignedInt();
|
||||
cameraTimer.setSwitchForChannel1((cameraTimerContent & 1) == 1);
|
||||
cameraTimer.setSwitchForChannel2((cameraTimerContent >>> 1 & 1) == 1);
|
||||
@@ -113,48 +109,53 @@ public class J0104 extends Re {
|
||||
cameraTimer.setStorageFlagsForChannel5((cameraTimerContent >>> 11 & 1) == 1);
|
||||
cameraTimer.setTimeUnit((cameraTimerContent >>> 15 & 1) == 1);
|
||||
cameraTimer.setTimeInterval((int)cameraTimerContent >>> 16);
|
||||
Method methodForCameraTimer = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), CameraTimer.class);
|
||||
Method methodForCameraTimer = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTCameraTimer.class);
|
||||
methodForCameraTimer.invoke(deviceConfig, cameraTimer);
|
||||
continue;
|
||||
case "GnssPositioningMode":
|
||||
GnssPositioningMode gnssPositioningMode = new GnssPositioningMode();
|
||||
JTGnssPositioningMode gnssPositioningMode = new JTGnssPositioningMode();
|
||||
short gnssPositioningModeContent = buf.readUnsignedByte();
|
||||
gnssPositioningMode.setGps((gnssPositioningModeContent& 1) == 1);
|
||||
gnssPositioningMode.setBeidou((gnssPositioningModeContent >>> 1 & 1) == 1);
|
||||
gnssPositioningMode.setGlonass((gnssPositioningModeContent >>> 2 & 1) == 1);
|
||||
gnssPositioningMode.setGaLiLeo((gnssPositioningModeContent >>> 3 & 1) == 1);
|
||||
Method methodForGnssPositioningMode = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), GnssPositioningMode.class);
|
||||
Method methodForGnssPositioningMode = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTGnssPositioningMode.class);
|
||||
methodForGnssPositioningMode.invoke(deviceConfig, gnssPositioningMode);
|
||||
continue;
|
||||
case "VideoParam":
|
||||
VideoParam videoParam = VideoParam.decode(buf);
|
||||
Method methodForVideoParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), VideoParam.class);
|
||||
JTVideoParam videoParam = JTVideoParam.decode(buf);
|
||||
Method methodForVideoParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTVideoParam.class);
|
||||
methodForVideoParam.invoke(deviceConfig, videoParam);
|
||||
continue;
|
||||
case "ChannelListParam":
|
||||
ChannelListParam channelListParam = ChannelListParam.decode(buf);
|
||||
Method methodForChannelListParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), ChannelListParam.class);
|
||||
JTChannelListParam channelListParam = JTChannelListParam.decode(buf);
|
||||
Method methodForChannelListParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTChannelListParam.class);
|
||||
methodForChannelListParam.invoke(deviceConfig, channelListParam);
|
||||
case "ChannelParam":
|
||||
ChannelParam channelParam = ChannelParam.decode(buf);
|
||||
Method methodForChannelParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), ChannelParam.class);
|
||||
JTChannelParam channelParam = JTChannelParam.decode(buf);
|
||||
Method methodForChannelParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTChannelParam.class);
|
||||
methodForChannelParam.invoke(deviceConfig, channelParam);
|
||||
continue;
|
||||
case "alarmRecordingParam":
|
||||
AlarmRecordingParam alarmRecordingParam = AlarmRecordingParam.decode(buf);
|
||||
Method methodForAlarmRecordingParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), AlarmRecordingParam.class);
|
||||
JTAlarmRecordingParam alarmRecordingParam = JTAlarmRecordingParam.decode(buf);
|
||||
Method methodForAlarmRecordingParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTAlarmRecordingParam.class);
|
||||
methodForAlarmRecordingParam.invoke(deviceConfig, alarmRecordingParam);
|
||||
continue;
|
||||
case "VideoAlarmBit":
|
||||
VideoAlarmBit videoAlarmBit = VideoAlarmBit.decode(buf);
|
||||
Method methodForVideoAlarmBit = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), VideoAlarmBit.class);
|
||||
JTVideoAlarmBit videoAlarmBit = JTVideoAlarmBit.decode(buf);
|
||||
Method methodForVideoAlarmBit = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTVideoAlarmBit.class);
|
||||
methodForVideoAlarmBit.invoke(deviceConfig, videoAlarmBit);
|
||||
continue;
|
||||
case "AnalyzeAlarmParam":
|
||||
AnalyzeAlarmParam analyzeAlarmParam = AnalyzeAlarmParam.decode(buf);
|
||||
Method methodForAnalyzeAlarmParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), AnalyzeAlarmParam.class);
|
||||
JTAnalyzeAlarmParam analyzeAlarmParam = JTAnalyzeAlarmParam.decode(buf);
|
||||
Method methodForAnalyzeAlarmParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTAnalyzeAlarmParam.class);
|
||||
methodForAnalyzeAlarmParam.invoke(deviceConfig, analyzeAlarmParam);
|
||||
continue;
|
||||
case "AwakenParam":
|
||||
JTAwakenParam awakenParamParam = JTAwakenParam.decode(buf);
|
||||
Method methodForAwakenParam = deviceConfig.getClass().getDeclaredMethod("set" + StringUtils.capitalize(field.getName()), JTAwakenParam.class);
|
||||
methodForAwakenParam.invoke(deviceConfig, awakenParamParam);
|
||||
continue;
|
||||
default:
|
||||
System.err.println(field.getGenericType().getTypeName());
|
||||
continue;
|
||||
|
||||
@@ -2,12 +2,6 @@ package com.genersoft.iot.vmp.jt1078.proc.request;
|
||||
|
||||
import com.genersoft.iot.vmp.jt1078.annotation.MsgId;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.*;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.common.ConfigAttribute;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.config.CameraTimer;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.config.CollisionAlarmParams;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.config.GnssPositioningMode;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.config.IllegalDrivingPeriods;
|
||||
import com.genersoft.iot.vmp.jt1078.controller.JT1078Controller;
|
||||
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;
|
||||
@@ -16,20 +10,11 @@ import com.genersoft.iot.vmp.jt1078.session.Session;
|
||||
import com.genersoft.iot.vmp.jt1078.session.SessionManager;
|
||||
import com.genersoft.iot.vmp.jt1078.util.BCDUtil;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.ByteBufUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 查询终端属性应答
|
||||
@@ -72,8 +57,8 @@ public class J0107 extends Re {
|
||||
int firmwareVersionLength = buf.readUnsignedByte();
|
||||
deviceAttribute.setFirmwareVersion(buf.readCharSequence(firmwareVersionLength, Charset.forName("GBK")).toString().trim());
|
||||
|
||||
deviceAttribute.setGnssAttribute(JGnssAttribute.getInstance(buf.readUnsignedByte()));
|
||||
deviceAttribute.setCommunicationModuleAttribute(JCommunicationModuleAttribute.getInstance(buf.readUnsignedByte()));
|
||||
deviceAttribute.setGnssAttribute(JTGnssAttribute.getInstance(buf.readUnsignedByte()));
|
||||
deviceAttribute.setCommunicationModuleAttribute(JTCommunicationModuleAttribute.getInstance(buf.readUnsignedByte()));
|
||||
|
||||
SessionManager.INSTANCE.response(header.getTerminalId(), "0107", null, deviceAttribute);
|
||||
return null;
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.genersoft.iot.vmp.jt1078.proc.request;
|
||||
|
||||
import com.genersoft.iot.vmp.jt1078.annotation.MsgId;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.JTMediaAttribute;
|
||||
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.service.Ijt1078Service;
|
||||
import com.genersoft.iot.vmp.jt1078.session.Session;
|
||||
import com.genersoft.iot.vmp.jt1078.session.SessionManager;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
/**
|
||||
* 终端上传音视频属性
|
||||
*
|
||||
*/
|
||||
@MsgId(id = "1003")
|
||||
public class J1003 extends Re {
|
||||
|
||||
JTMediaAttribute mediaAttribute;
|
||||
|
||||
@Override
|
||||
protected Rs decode0(ByteBuf buf, Header header, Session session) {
|
||||
mediaAttribute = JTMediaAttribute.decode(buf);
|
||||
SessionManager.INSTANCE.response(header.getTerminalId(), "1003", null, mediaAttribute);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Rs handler(Header header, Session session, Ijt1078Service service) {
|
||||
J8001 j8001 = new J8001();
|
||||
j8001.setRespNo(header.getSn());
|
||||
j8001.setRespId(header.getMsgId());
|
||||
j8001.setResult(J8001.SUCCESS);
|
||||
return j8001;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApplicationEvent getEvent() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -95,6 +95,7 @@ public class J8103 extends Rs {
|
||||
case "AlarmShielding":
|
||||
case "VideoAlarmBit":
|
||||
case "AnalyzeAlarmParam":
|
||||
case "AwakenParam":
|
||||
field.setAccessible(true);
|
||||
JTDeviceSubConfig subConfig = (JTDeviceSubConfig)field.get(config);
|
||||
ByteBuf bytesForIllegalDrivingPeriods = subConfig.encode();
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.genersoft.iot.vmp.jt1078.proc.response;
|
||||
|
||||
import com.genersoft.iot.vmp.jt1078.annotation.MsgId;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.JConfirmationAlarmMessageType;
|
||||
import com.genersoft.iot.vmp.jt1078.bean.JTConfirmationAlarmMessageType;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
/**
|
||||
* 人工确认报警消息
|
||||
@@ -19,7 +18,7 @@ public class J8203 extends Rs {
|
||||
/**
|
||||
* 人工确认报警类型
|
||||
*/
|
||||
private JConfirmationAlarmMessageType alarmMessageType;
|
||||
private JTConfirmationAlarmMessageType alarmMessageType;
|
||||
|
||||
@Override
|
||||
public ByteBuf encode() {
|
||||
@@ -39,11 +38,11 @@ public class J8203 extends Rs {
|
||||
this.alarmPackageNo = alarmPackageNo;
|
||||
}
|
||||
|
||||
public JConfirmationAlarmMessageType getAlarmMessageType() {
|
||||
public JTConfirmationAlarmMessageType getAlarmMessageType() {
|
||||
return alarmMessageType;
|
||||
}
|
||||
|
||||
public void setAlarmMessageType(JConfirmationAlarmMessageType alarmMessageType) {
|
||||
public void setAlarmMessageType(JTConfirmationAlarmMessageType alarmMessageType) {
|
||||
this.alarmMessageType = alarmMessageType;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.genersoft.iot.vmp.jt1078.proc.response;
|
||||
|
||||
import com.genersoft.iot.vmp.jt1078.annotation.MsgId;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
/**
|
||||
* 查询终端音视频属性
|
||||
*/
|
||||
@MsgId(id = "9003")
|
||||
public class J9003 extends Rs {
|
||||
|
||||
@Override
|
||||
public ByteBuf encode() {
|
||||
ByteBuf buffer = Unpooled.buffer();
|
||||
return buffer;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user