package com.genersoft.iot.vmp.policeBodyCamera.service.impl; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.bean.MobilePosition; import com.genersoft.iot.vmp.policeBodyCamera.entity.DeviceChannelPoliceCamera; import com.genersoft.iot.vmp.policeBodyCamera.mapper.DeviceChannelPoliceCameraMapper; import com.genersoft.iot.vmp.policeBodyCamera.service.DeviceChannelPoliceCameraService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; /** * 执法记录仪服务实现层 * @author zhongrj * @date 2023-03-04 */ @Service public class DeviceChannelPoliceCameraServiceImpl implements DeviceChannelPoliceCameraService { @Autowired private IRedisCatchStorage redisCatchStorage; @Autowired private DeviceChannelPoliceCameraMapper deviceChannelPoliceCameraMapper; private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /** * 更新执法记录仪信息 * 注:DeviceChannel类和DeviceChannelPoliceCamera类字段完全相同 * @param channel */ @Override public void updateChannelPoliceCamera(DeviceChannel channel) { String channelId = channel.getChannelId(); String deviceId = channel.getDeviceId(); //日期格式化 String now = this.format.format(System.currentTimeMillis()); //查询执法记录仪信息 DeviceChannelPoliceCamera deviceChannel = deviceChannelPoliceCameraMapper.queryChannel(deviceId, channelId); //如果为空,则新增 if (deviceChannel == null) { channel.setCreateTime(now); //新增 deviceChannelPoliceCameraMapper.add(channel); }else { channel.setId(deviceChannel.getId()); //更新 deviceChannelPoliceCameraMapper.update(channel); } deviceChannelPoliceCameraMapper.updateChannelSubCount(deviceId,channel.getParentId()); } /** * 删除执法记录仪信息 * @param deviceId * @param channelId */ @Override public void del(String deviceId, String channelId) { deviceChannelPoliceCameraMapper.del(deviceId,channelId); } /** * 添加执法记录仪位置信息 * @param deviceChannelPoliceCamera */ @Override public void insertDeviceChannelPoliceCamera(DeviceChannel deviceChannelPoliceCamera) { //新增 deviceChannelPoliceCameraMapper.add(deviceChannelPoliceCamera); //新增记录 MobilePosition mobilePosition = new MobilePosition(); mobilePosition.setDirection(1.12); mobilePosition.setDeviceId("123"); mobilePosition.setChannelId("123456"); mobilePosition.setSpeed(1.12); // mobilePosition.setCnLat("1.12"); // mobilePosition.setCnLng("1.12"); mobilePosition.setLongitude(117.123652); mobilePosition.setLatitude(28.124525); insertNewPositionPoliceCamera(mobilePosition); } /** * 添加执法记录仪移动位置信息 * @param mobilePosition */ @Override public void insertNewPositionPoliceCamera(MobilePosition mobilePosition) { deviceChannelPoliceCameraMapper.insertNewPositionPoliceCamera(mobilePosition); } }