package com.ruoyi.dataInterchange.server;
|
|
import com.alibaba.fastjson.JSON;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.dataInterchange.dao.UPExgMsgRegisterDao;
|
import com.ruoyi.dataInterchange.model.DOWNRealvideoMsgEnd;
|
import com.ruoyi.dataInterchange.model.UPExgMsgRegister;
|
import com.ruoyi.dataInterchange.model.enu.DataType;
|
import com.ruoyi.dataInterchange.netty.client.ChannelMap;
|
import com.ruoyi.dataInterchange.util.jtt809.packet.common.OuterPacket;
|
import io.netty.channel.Channel;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
|
/**
|
* @author zhibing.pu
|
* @Date 2025/3/24 9:24
|
*/
|
@Slf4j
|
@Service
|
public class DOWNRealvideoMsgEndService {
|
|
@Resource
|
private UPExgMsgRegisterDao upExgMsgRegisterDao;
|
|
|
/**
|
* 发起实时音视频请求
|
*
|
* @param vehicleNo
|
*/
|
public R stopRealVideo(Integer inferiorPlatformId, String vehicleNo) {
|
Channel channel = ChannelMap.getClientChannel(inferiorPlatformId);
|
if (!channel.isActive()) {
|
return R.fail("失败");
|
}
|
//查询车辆信息
|
UPExgMsgRegister exgMsgRegister = upExgMsgRegisterDao.findByVehicleNo(vehicleNo);
|
DOWNRealvideoMsgEnd downRealvideoMsgEnd = new DOWNRealvideoMsgEnd();
|
downRealvideoMsgEnd.setVehicleNo(exgMsgRegister.getVehicleNo());
|
downRealvideoMsgEnd.setVehicleColor(exgMsgRegister.getVehicleColor());
|
downRealvideoMsgEnd.setDataType(DataType.DOWN_REALVIDEO_MSG_END.getCode());
|
downRealvideoMsgEnd.setDataLength(2);
|
downRealvideoMsgEnd.setChannelId(1);
|
downRealvideoMsgEnd.setAvttemType(0X00);
|
byte[] body = downRealvideoMsgEnd.encode();
|
OuterPacket out = new OuterPacket(DataType.DOWN_REALVIDEO_MSG.getCode(), inferiorPlatformId, body);
|
channel.writeAndFlush(out);
|
log.info("主动请求停止实时音视频({}):{}", DataType.DOWN_REALVIDEO_MSG_END.getCode(), JSON.toJSONString(downRealvideoMsgEnd));
|
return R.ok();
|
}
|
|
}
|