|  |  |  | 
|---|
|  |  |  | package com.ruoyi.media.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.Resource; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 流媒体管理Service业务层处理 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @author ard | 
|---|
|  |  |  | * @date 2023-08-29 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | @Slf4j(topic = "sdk") | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|