package com.ruoyi.media.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.media.service.IMediaService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
import com.ruoyi.media.mapper.VtduMapper;
|
import com.ruoyi.media.domain.Vtdu;
|
import com.ruoyi.media.service.IVtduService;
|
|
import javax.annotation.PostConstruct;
|
import javax.annotation.Resource;
|
|
/**
|
* 流媒体管理Service业务层处理
|
*
|
* @author ard
|
* @date 2023-08-29
|
*/
|
@Service
|
@Slf4j(topic = "vtdu")
|
public class VtduServiceImpl implements IVtduService {
|
@Resource
|
private VtduMapper vtduMapper;
|
@Resource
|
private IMediaService mediaService;
|
|
/**
|
* 查询流媒体管理
|
*
|
* @param name 流媒体管理主键
|
* @return 流媒体管理
|
*/
|
@Override
|
public Vtdu selectVtduByName(String name) {
|
|
return vtduMapper.selectVtduByName(name);
|
}
|
|
/**
|
* 查询流媒体管理列表
|
*
|
* @param vtdu 流媒体管理
|
* @return 流媒体管理
|
*/
|
@Override
|
public List<Vtdu> selectVtduList(Vtdu vtdu) {
|
return vtduMapper.selectVtduList(vtdu);
|
}
|
|
/**
|
* 新增流媒体管理
|
*
|
* @param vtdu 流媒体管理
|
* @return 结果
|
*/
|
@Override
|
public int insertVtdu(Vtdu vtdu) {
|
log.debug("流媒体【" + vtdu.getName() + "】通道添加");
|
Map<String, String> map = mediaService.addPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
|
vtdu.setRtspUrl(map.get("rtspUrl"));
|
vtdu.setRtmpUrl(map.get("rtmpUrl"));
|
vtdu.setWebrtcUrl(map.get("webrtcUrl"));
|
|
vtdu.setName(vtdu.getName());
|
vtdu.setRtspSource(vtdu.getRtspSource());
|
vtdu.setIsCode(vtdu.getIsCode());
|
vtdu.setMode(vtdu.getMode());
|
vtdu.setCreateTime(DateUtils.getNowDate());
|
return vtduMapper.insertVtdu(vtdu);
|
}
|
|
/**
|
* 修改流媒体管理
|
*
|
* @param vtdu 流媒体管理
|
* @return 结果
|
*/
|
@Override
|
public int updateVtdu(Vtdu vtdu) {
|
|
log.debug("流媒体【" + vtdu.getName() + "】通道更新");
|
Map<String, String> map = mediaService.editPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
|
vtdu.setName(vtdu.getName());
|
vtdu.setRtspSource(vtdu.getRtspSource());
|
vtdu.setIsCode(vtdu.getIsCode());
|
vtdu.setMode(vtdu.getMode());
|
vtdu.setRtspUrl(map.get("rtspUrl"));
|
vtdu.setRtmpUrl(map.get("rtmpUrl"));
|
vtdu.setWebrtcUrl(map.get("webrtcUrl"));
|
vtdu.setUpdateTime(DateUtils.getNowDate());
|
return vtduMapper.updateVtdu(vtdu);
|
}
|
|
/**
|
* 批量删除流媒体管理
|
*
|
* @param names 需要删除的数据主键集合
|
* @return 结果
|
*/
|
@Override
|
public int deleteVtduByNames(String[] names) {
|
for (String name : names) {
|
log.debug("流媒体【" + name + "】通道删除");
|
}
|
mediaService.removePath(names);
|
return vtduMapper.deleteVtduByNames(names);
|
}
|
|
/**
|
* 删除流媒体管理
|
*
|
* @param name 流媒体通道名称
|
* @return 结果
|
*/
|
@Override
|
public int deleteVtduByName(String name) {
|
mediaService.removePath(name);
|
log.debug("流媒体【" + name + "】通道删除");
|
return vtduMapper.deleteVtduByName(name);
|
}
|
|
/**
|
* 删除流媒体管理信息
|
*
|
* @param cameraId 相机ID
|
* @return 结果
|
*/
|
@Override
|
public int deleteVtduByCameraId(String cameraId) {
|
Vtdu vtdu = new Vtdu();
|
vtdu.setCameraId(cameraId);
|
List<Vtdu> vtdus = vtduMapper.selectVtduList(vtdu);
|
if (vtdus.size() > 0) {
|
for (Vtdu v : vtdus) {
|
mediaService.removePath(v.getName());
|
}
|
}
|
return vtduMapper.deleteVtduByCameraId(cameraId);
|
}
|
}
|