648540858
2024-06-17 1909c7f71fc1b0e290678a3efe95b62d0b9df75e
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -274,19 +274,19 @@
    }
    @Override
    public boolean stop(String app, String streamId) {
        logger.info("[推流 ] 停止流: {}/{}", app, streamId);
        StreamPushItem streamPushItem = streamPushMapper.selectOne(app, streamId);
    public boolean stop(String app, String stream) {
        logger.info("[推流 ] 停止流: {}/{}", app, stream);
        StreamPushItem streamPushItem = streamPushMapper.selectOne(app, stream);
        if (streamPushItem != null) {
            gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL);
        }
        platformGbStreamMapper.delByAppAndStream(app, streamId);
        gbStreamMapper.del(app, streamId);
        int delStream = streamPushMapper.del(app, streamId);
        platformGbStreamMapper.delByAppAndStream(app, stream);
        gbStreamMapper.del(app, stream);
        int delStream = streamPushMapper.del(app, stream);
        if (delStream > 0) {
            MediaServer mediaServerItem = mediaServerService.getOne(streamPushItem.getMediaServerId());
            mediaServerService.closeStreams(mediaServerItem,app, streamId);
            mediaServerService.closeStreams(mediaServerItem,app, stream);
        }
        return true;
    }
@@ -633,4 +633,21 @@
    public Map<String, StreamPushItem> getAllAppAndStreamMap() {
        return streamPushMapper.getAllAppAndStreamMap();
    }
    @Override
    public void updatePush(OnStreamChangedHookParam param) {
        StreamPushItem transform = transform(param);
        StreamPushItem pushInDb = getPush(param.getApp(), param.getStream());
        transform.setPushIng(param.isRegist());
        transform.setUpdateTime(DateUtil.getNow());
        transform.setPushTime(DateUtil.getNow());
        transform.setSelf(userSetting.getServerId().equals(param.getSeverId()));
        if (pushInDb == null) {
            transform.setCreateTime(DateUtil.getNow());
            streamPushMapper.add(transform);
        }else {
            streamPushMapper.update(transform);
            gbStreamMapper.updateMediaServer(param.getApp(), param.getStream(), param.getMediaServerId());
        }
    }
}