package org.springblade.modules.netty.business.service.impl; import org.springblade.modules.netty.business.entity.PoliceCarEquipment; import org.springblade.modules.netty.business.entity.PoliceCarEquipmentRecord; import org.springblade.modules.netty.business.mapper.PoliceCarEquipmentMapper; import org.springblade.modules.netty.business.service.PoliceCarEquipmentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; /** * 对讲设备服务实现层 * @author zhongrj * @date 2023-03-02 */ @Service public class PoliceCarEquipmentServiceImpl implements PoliceCarEquipmentService { @Autowired private PoliceCarEquipmentMapper policeCarEquipmentMapper; /** * 保存对讲设备数据 * @param talkBackEquipment */ @Override @Transactional(rollbackFor = Exception.class) public void save(PoliceCarEquipment talkBackEquipment) { //判断设备是否已存在,如果存在则更新,不存在则新增 PoliceCarEquipment backEquipment = policeCarEquipmentMapper.getTalkBackEquipment(talkBackEquipment.getTerminalNumber()); if (null==backEquipment) { talkBackEquipment.setCreateTime(new Date()); //新增对接设备数据 policeCarEquipmentMapper.saveTalkBackEquipment(talkBackEquipment); }else { talkBackEquipment.setId(backEquipment.getId()); //修改 policeCarEquipmentMapper.updateTalkBackEquipment(talkBackEquipment); } //判断是否存在设备id if (null != talkBackEquipment.getId()) { PoliceCarEquipmentRecord equipmentRecord = new PoliceCarEquipmentRecord(); equipmentRecord.setPoliceCarEquipmentId(talkBackEquipment.getId()); equipmentRecord.setStatus(talkBackEquipment.getStatus()); equipmentRecord.setTerminalNumber(talkBackEquipment.getTerminalNumber()); equipmentRecord.setLongitude(talkBackEquipment.getLongitude()); equipmentRecord.setLatitude(talkBackEquipment.getLatitude()); equipmentRecord.setSpeed(talkBackEquipment.getSpeed()); equipmentRecord.setDirection(talkBackEquipment.getDirection()); equipmentRecord.setElevation(talkBackEquipment.getElevation()); equipmentRecord.setPrecisions(talkBackEquipment.getPrecisions()); equipmentRecord.setReceiveTime(talkBackEquipment.getReceiveTime()); equipmentRecord.setCreateTime(new Date()); //新增记录信息 policeCarEquipmentMapper.saveTalkBackEquipmentRecord(equipmentRecord); } } }