Compare commits

...

3 Commits

Author SHA1 Message Date
阿斌
f399bbf74b
Pre Merge pull request !43 from 阿斌/N/A 2026-03-30 03:10:40 +00:00
lin
60b1c687ea 添加异步处理的心跳回复方法 2026-03-30 11:05:51 +08:00
阿斌
42a85fbb07
修复生产厂商的gbManufacture少一个r导致设备厂商无法显示
Signed-off-by: 阿斌 <38912748@qq.com>
2025-12-03 10:50:05 +00:00
3 changed files with 10 additions and 4 deletions

View File

@ -13,6 +13,7 @@ import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.util.ObjectUtils;
import javax.sip.*;
@ -30,10 +31,10 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
/**
* @description:处理接收IPCamera发来的SIP协议请求消息
* @author: songww
* @date: 2020年5月3日 下午4:42:22
* @date: 2020年5月3日 下午4:42:22
*/
@Slf4j
public abstract class SIPRequestProcessorParent {
@ -77,6 +78,11 @@ public abstract class SIPRequestProcessorParent {
return responseAck(sipRequest, statusCode, null);
}
@Async("taskExecutor")
public void responseAckAsync(SIPRequest sipRequest, int statusCode) throws SipException, InvalidArgumentException, ParseException {
responseAck(sipRequest, statusCode, null);
}
public SIPResponse responseAck(SIPRequest sipRequest, int statusCode, String msg) throws SipException, InvalidArgumentException, ParseException {
return responseAck(sipRequest, statusCode, msg, null);
}

View File

@ -96,7 +96,7 @@ public class KeepaliveNotifyMessageHandler extends SIPRequestProcessorParent imp
RequestEvent evt = sipMsgInfo.getEvt();
// 回复200 OK
try {
responseAck((SIPRequest) evt.getRequest(), Response.OK);
responseAckAsync((SIPRequest) evt.getRequest(), Response.OK);
} catch (SipException | InvalidArgumentException | ParseException e) {
log.error("[命令发送失败] 心跳回复: {}", e.getMessage());
}

View File

@ -89,7 +89,7 @@
<div class="infobox-content" v-if="channel">
<el-descriptions class="margin-top" :title="channel.gbName" :column="1" :colon="true" size="mini" :labelStyle="labelStyle" >
<el-descriptions-item label="编号" >{{channel.gbDeviceId}}</el-descriptions-item>
<el-descriptions-item label="生产厂商">{{channel.gbManufacture}}</el-descriptions-item>
<el-descriptions-item label="生产厂商">{{channel.gbManufacturer}}</el-descriptions-item>
<el-descriptions-item label="安装地址" >{{channel.gbAddress == null?'未知': channel.gbAddress}}</el-descriptions-item>
</el-descriptions>
<div style="padding-top: 10px; margin: 0 auto; width: fit-content;">