| | |
| | | import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmCondition; |
| | | import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmData; |
| | | import com.ruoyi.alarm.globalAlarm.service.IGlobalAlarmService; |
| | | import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar; |
| | | import com.ruoyi.alarm.radarAlarm.mapper.ArdAlarmRadarMapper; |
| | | import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec; |
| | | import com.ruoyi.alarm.stealAlarm.mapper.ArdAlarmStealelecMapper; |
| | | import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube; |
| | |
| | | @Service |
| | | @Slf4j(topic = "mqtt") |
| | | public class GlobalAlarmServiceImpl implements IGlobalAlarmService { |
| | | @Resource |
| | | ArdAlarmRadarMapper ardAlarmRadarMapper; |
| | | @Resource |
| | | ArdAlarmStealelecMapper ardAlarmStealelecMapper; |
| | | @Resource |
| | |
| | | .setLatitude(ardAlarmCamera.getLatitude()) |
| | | .setCount(ardAlarmCamera.getCount()) |
| | | .setTotal(ardAlarmCamera.getTotal()); |
| | | return globalAlarmData; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | case 1003: |
| | | List<ArdAlarmRadar> ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime,"运动目标检测"); |
| | | return ardAlarmRadars.stream() |
| | | .map(ardAlarmRadar -> { |
| | | GlobalAlarmData globalAlarmData = new GlobalAlarmData() |
| | | .setId(ardAlarmRadar.getId()) |
| | | .setName(ardAlarmRadar.getName()) |
| | | .setAlarmTime(ardAlarmRadar.getAlarmTime()) |
| | | .setLongitude(ardAlarmRadar.getLongitude()) |
| | | .setLatitude(ardAlarmRadar.getLatitude()) |
| | | .setCount(ardAlarmRadar.getCount()) |
| | | .setTotal(ardAlarmRadar.getTotal()); |
| | | return globalAlarmData; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | case 1004: |
| | | ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime,"热源检测"); |
| | | return ardAlarmRadars.stream() |
| | | .map(ardAlarmRadar -> { |
| | | GlobalAlarmData globalAlarmData = new GlobalAlarmData() |
| | | .setId(ardAlarmRadar.getId()) |
| | | .setName(ardAlarmRadar.getName()) |
| | | .setAlarmTime(ardAlarmRadar.getAlarmTime()) |
| | | .setLongitude(ardAlarmRadar.getLongitude()) |
| | | .setLatitude(ardAlarmRadar.getLatitude()) |
| | | .setCount(ardAlarmRadar.getCount()) |
| | | .setTotal(ardAlarmRadar.getTotal()); |
| | | return globalAlarmData; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | |
| | | } |
| | | //endregion |
| | | break; |
| | | case "radar": |
| | | //region 处理雷达报警 |
| | | ArdAlarmRadar ardAlarmRadar = JSONObject.parseObject(message, ArdAlarmRadar.class); |
| | | ardAlarmRadar.setId(simpleUUID); |
| | | int aar = ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar); |
| | | if (aar > 0) { |
| | | log.debug("radar入库成功:" + ardAlarmRadar); |
| | | } |
| | | //endregion |
| | | break; |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error("接收报警异常:" + ex.getMessage()); |
| | |
| | | * @修改人和其它信息 |
| | | */ |
| | | @Override |
| | | public Map<String, Integer> selectAlarmLogsCount() { |
| | | public Map<String, Object> selectAlarmLogsCount() { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | Map<String, Integer> countMap = new HashMap<>(); |
| | | String refreshTime = configService.selectConfigByKey("refreshTime"); |
| | | int count1001 = ardAlarmStealelecMapper.selectCountByStartTime(refreshTime); |
| | | countMap.put("1001", count1001); |
| | | int count1014 = ardAlarmTubeMapper.selectCountByStartTime(refreshTime); |
| | | countMap.put("1014 ", count1014); |
| | | return countMap; |
| | | int count1002 = ardAlarmCameraMapper.selectCountByAlarmTime(refreshTime); |
| | | countMap.put("1002", count1002); |
| | | int count1003 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime,"运动目标检测"); |
| | | countMap.put("1003", count1003); |
| | | int count1004 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime,"热源检测"); |
| | | countMap.put("1004", count1004); |
| | | int count1014 = ardAlarmTubeMapper.selectCountByAlarmTime(refreshTime); |
| | | countMap.put("1014", count1014); |
| | | map.put("20000", countMap); |
| | | return map; |
| | | } |
| | | |
| | | @Override |
| | | public Object selectAlarmList(Integer command, String beginTime, String endTime,Integer pageNum,Integer pageSize) { |
| | | public Object selectAlarmList(Integer command, String beginTime, String endTime, Integer pageNum, Integer pageSize) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("beginTime", beginTime); |
| | | params.put("endTime", endTime); |
| | |
| | | aac.setPageSize(pageSize); |
| | | List<ArdAlarmCamera> ardAlarmCameras = ardAlarmCameraMapper.selectArdAlarmCameraList(aac); |
| | | return ardAlarmCameras; |
| | | case 1003: |
| | | ArdAlarmRadar aar = new ArdAlarmRadar(); |
| | | aar.setParams(params); |
| | | aar.setPageNum(pageNum); |
| | | aar.setPageSize(pageSize); |
| | | aar.setAlarmType("运动目标检测"); |
| | | List<ArdAlarmRadar> ardAlarmRadar = ardAlarmRadarMapper.selectArdAlarmRadarList(aar); |
| | | return ardAlarmRadar; |
| | | case 1004: |
| | | ArdAlarmRadar aarr = new ArdAlarmRadar(); |
| | | aarr.setParams(params); |
| | | aarr.setPageNum(pageNum); |
| | | aarr.setPageSize(pageSize); |
| | | aarr.setAlarmType("热源检测"); |
| | | List<ArdAlarmRadar> ardAlarmRadarr = ardAlarmRadarMapper.selectArdAlarmRadarList(aarr); |
| | | return ardAlarmRadarr; |
| | | case 1014: |
| | | ArdAlarmTube aat = new ArdAlarmTube(); |
| | | aat.setParams(params); |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | // 给定坐标 A |
| | | double Ax = 0; |
| | | double Ay = 0; |
| | | |
| | | // 给定角度(以度为单位) |
| | | double angle = 45; |
| | | |
| | | // 给定距离 |
| | | double distance = 1.414; |
| | | |
| | | // 将角度转换为弧度 |
| | | double radians = Math.toRadians(angle); |
| | | |
| | | // 计算 B 坐标 |
| | | double Bx = Ax + distance * Math.cos(radians); |
| | | double By = Ay + distance * Math.sin(radians); |
| | | |
| | | // 输出结果 |
| | | System.out.println("坐标 B: (" + Bx + ", " + By + ")"); |
| | | } |
| | | |
| | | } |