[1078] 兼容2013版本的设备属性查询和注册鉴权

This commit is contained in:
lin
2025-07-07 17:23:12 +08:00
parent 93c24a74e6
commit fae839af05
7 changed files with 29 additions and 21 deletions

View File

@@ -40,7 +40,7 @@ public class Jt808Decoder extends ByteToMessageDecoder {
@Override
protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {
Session session = ctx.channel().attr(Session.KEY).get();
log.debug("> {} hex:{}", session, ByteBufUtil.hexDump(in));
log.info("> {} hex:{}", session, ByteBufUtil.hexDump(in));
try {
ByteBuf buf = unEscapeAndCheck(in);

View File

@@ -109,7 +109,7 @@ public class JT1078TerminalController {
@Operation(summary = "1078-新增通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "channel", description = "通道", required = true)
@PostMapping("/channel/add")
public JTChannel addChannel(JTChannel channel){
public JTChannel addChannel(@RequestBody JTChannel channel){
assert channel.getChannelId() != null;
assert channel.getTerminalDbId() != 0;
service.addChannel(channel);

View File

@@ -25,7 +25,7 @@ public class JTChannelProvider {
public String selectAll(Map<String, Object> params ){
StringBuilder sqlBuild = new StringBuilder();
sqlBuild.append(BASE_SQL);
sqlBuild.append(" WHERE 1=1 ");
sqlBuild.append(" WHERE jc.terminal_db_id = #{terminalDbId} ");
if (params.get("query") != null) {
sqlBuild.append(" AND ")
.append(" jc.name LIKE ").append("'%").append(params.get("query")).append("%'")

View File

@@ -28,12 +28,13 @@ public class J0102 extends Re {
@Override
protected Rs decode0(ByteBuf buf, Header header, Session session) {
int lenCode = buf.readUnsignedByte();
byte[] authenticationCodeBytes = new byte[lenCode];
// ByteBuf byteBuf = buf.readBytes(authenticationCodeBytes);
authenticationCode = buf.readCharSequence(lenCode, Charset.forName("GBK")).toString();
if (header.is2019Version()) {
int lenCode = buf.readUnsignedByte();
authenticationCode = buf.readCharSequence(lenCode, Charset.forName("GBK")).toString();
}else {
authenticationCode = buf.readCharSequence(buf.readableBytes(), Charset.forName("GBK")).toString();
}
log.info("设备鉴权: authenticationCode " + authenticationCode);
// if 2019 to decode next
return null;
}

View File

@@ -42,10 +42,14 @@ public class J0107 extends Re {
deviceAttribute.setMakerId(buf.readCharSequence(5, Charset.forName("GBK")).toString().trim());
deviceAttribute.setDeviceModel(buf.readCharSequence(20, Charset.forName("GBK")).toString().trim());
buf.readCharSequence(10, Charset.forName("GBK"));
if (header.is2019Version()) {
buf.readCharSequence(10, Charset.forName("GBK"));
}
deviceAttribute.setTerminalId(buf.readCharSequence(7, Charset.forName("GBK")).toString().trim());
buf.readCharSequence(23, Charset.forName("GBK"));
if (header.is2019Version()) {
buf.readCharSequence(23, Charset.forName("GBK"));
}
byte[] bytes = new byte[10];
buf.readBytes(bytes);

View File

@@ -54,7 +54,7 @@ export default {
console.log(this.jtChannel)
const isEdit = typeof (this.jtChannel.id) !== 'undefined'
if (isEdit) {
this.$store.dispatch('jtDevice/updateChannel')
this.$store.dispatch('jtDevice/updateChannel', this.jtChannel)
.then(data => {
this.$message({
showClose: true,
@@ -67,7 +67,7 @@ export default {
console.log(error)
})
} else {
this.$store.dispatch('jtDevice/addChannel')
this.$store.dispatch('jtDevice/addChannel', this.jtChannel)
.then(data => {
this.$message({
showClose: true,

View File

@@ -216,19 +216,22 @@
<el-form-item label="疲劳驾驶预警差值(秒)" prop="drowsyDrivingWarningDifference">
<el-input v-model="form.drowsyDrivingWarningDifference" clearable />
</el-form-item>
<el-form-item label="碰撞报警-碰撞时间(毫秒)" prop="collisionAlarmParamsCollisionAlarmTime">
<el-input v-model="form.collisionAlarmParams.collisionAlarmTime" clearable />
</el-form-item>
<el-form-item label="碰撞报警-碰撞加速度(0.1g)" prop="collisionAlarmParamsCollisionAcceleration">
<el-input v-model="form.collisionAlarmParams.collisionAcceleration" clearable />
</el-form-item>
<div v-if="form.collisionAlarmParams">
<el-form-item label="碰撞报警-碰撞时间(毫秒)" prop="collisionAlarmParamsCollisionAlarmTime">
<el-input v-model="form.collisionAlarmParams.collisionAlarmTime" clearable />
</el-form-item>
<el-form-item label="碰撞报警-碰撞加速度(0.1g)" prop="collisionAlarmParamsCollisionAcceleration">
<el-input v-model="form.collisionAlarmParams.collisionAcceleration" clearable />
</el-form-item>
</div>
<el-form-item label="侧翻报警参数-侧翻角度(度)" prop="rolloverAlarm">
<el-input v-model="form.rolloverAlarm" clearable />
</el-form-item>
</el-form>
<el-divider content-position="center">定时拍照控制</el-divider>
<el-form ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-divider v-if="form.cameraTimer" content-position="center">定时拍照控制</el-divider>
<el-form v-if="form.cameraTimer" ref="form" size="mini" :rules="rules" :model="form" label-width="240px" style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;">
<el-form-item label="定时拍照开关-通道1" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.switchForChannel1" />
</el-form-item>
@@ -261,7 +264,7 @@
</el-form-item>
<el-form-item label="定时时间间隔" prop="timeInterval">
<el-input v-model="form.timeInterval" clearable />
<el-input v-model="form.cameraTimer.timeInterval" clearable />
</el-form-item>
<el-form-item label="定时时间单位" prop="rolloverAlarm">
<el-switch v-model="form.cameraTimer.timeUnit" active-text="分" inactive-text="秒" />