优化目录订阅时父节点的更新

This commit is contained in:
648540858 2022-03-11 09:54:35 +08:00
parent 613c771c45
commit 3735943594
5 changed files with 12 additions and 6 deletions

View File

@ -30,7 +30,7 @@ public class SipSubscribe {
// @Scheduled(fixedRate= 100 * 60 * 60 )
@Scheduled(cron="0 0/5 * * * ?") //每5分钟执行一次
public void execute(){
logger.info("[定时任务] 清理过期的订阅信息");
logger.info("[定时任务] 清理过期的SIP订阅信息");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE) - 5);

View File

@ -233,7 +233,6 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
*/
private void processNotifyCatalogList(RequestEvent evt) {
try {
System.out.println(343434);
FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
String deviceId = SipUtils.getUserIdFromFromHeader(fromHeader);

View File

@ -67,9 +67,6 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement
// 查询设备是否存在
CSeqHeader cseqHeader = (CSeqHeader) evt.getRequest().getHeader(CSeqHeader.NAME);
String method = cseqHeader.getMethod();
if (method.equals("MESSAGE")) {
System.out.println();
}
Device device = redisCatchStorage.getDevice(deviceId);
// 查询上级平台是否存在
ParentPlatform parentPlatform = storage.queryParentPlatByServerGBId(deviceId);

View File

@ -247,4 +247,13 @@ public interface DeviceChannelMapper {
"<foreach collection='channels' item='item' open='(' separator=',' close=')' > #{item.channelId}</foreach>" +
" </script>"})
int cleanChannelsNotInList(String deviceId, List<DeviceChannel> channels);
@Update(" update device_channel" +
" set subCount = (select *" +
" from (select count(0)" +
" from device_channel" +
" where deviceId = #{deviceId} and parentId = #{channelId}) as temp)" +
" where deviceId = #{deviceId} " +
" and channelId = #{channelId}")
int updateChannelSubCount(String deviceId, String channelId);
}

View File

@ -42,7 +42,7 @@ import java.util.*;
@Component
public class VideoManagerStoragerImpl implements IVideoManagerStorager {
private Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class);
private final Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class);
@Autowired
EventPublisher eventPublisher;
@ -171,6 +171,7 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager {
}else {
deviceChannelMapper.update(channel);
}
deviceChannelMapper.updateChannelSubCount(deviceId,channel.getParentId());
}
@Override