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.DOWNPlaybackMsgControl;
|
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 11:51
|
*/
|
@Slf4j
|
@Service
|
public class DOWNPlaybackMsgControlService {
|
|
@Resource
|
private UPExgMsgRegisterDao upExgMsgRegisterDao;
|
|
|
/**
|
* 远程录像回放控制
|
*
|
* @param inferiorPlatformId
|
* @param vehicleNo
|
* @param controlType
|
* @param fastTime
|
* @return
|
*/
|
public R playbackMsgControl(Integer inferiorPlatformId, String vehicleNo, Integer controlType, Integer fastTime) {
|
Channel channel = ChannelMap.getClientChannel(inferiorPlatformId);
|
if (!channel.isActive()) {
|
return R.fail("失败");
|
}
|
//查询车辆信息
|
UPExgMsgRegister exgMsgRegister = upExgMsgRegisterDao.findByVehicleNo(vehicleNo);
|
DOWNPlaybackMsgControl downPlaybackMsgControl = new DOWNPlaybackMsgControl();
|
downPlaybackMsgControl.setVehicleNo(exgMsgRegister.getVehicleNo());
|
downPlaybackMsgControl.setVehicleColor(exgMsgRegister.getVehicleColor());
|
downPlaybackMsgControl.setDataType(DataType.DOWN_PLAYBACK_MSG_CONTROL.getCode());
|
downPlaybackMsgControl.setDataLength(10);
|
downPlaybackMsgControl.setControlType(controlType);
|
downPlaybackMsgControl.setFastTime(fastTime);
|
downPlaybackMsgControl.setDateTime(null);
|
byte[] body = downPlaybackMsgControl.encode();
|
OuterPacket out = new OuterPacket(DataType.DOWN_PLAYBACK_MSG.getCode(), body);
|
channel.writeAndFlush(out);
|
log.info("远程录像回放控制请求({}):{}", DataType.DOWN_PLAYBACK_MSG_CONTROL.getCode(), JSON.toJSONString(downPlaybackMsgControl));
|
return R.ok();
|
}
|
}
|