| | |
| | | package com.ycl.controller.cockpit.aiIot; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ycl.api.CommonResult; |
| | | import com.ycl.entity.video.VideoPoint; |
| | | import com.ycl.service.carManage.ICarSlagcarService; |
| | | import com.ycl.service.equipment.IHandheldTerminalService; |
| | | import com.ycl.service.equipment.ILoudspeakerService; |
| | | import com.ycl.service.video.impl.IVideoPointService; |
| | | import com.ycl.util.CheckApiUtil; |
| | | import com.ycl.util.VideoUtil; |
| | | import com.ycl.vo.cockpit.CockpitVO; |
| | | import com.ycl.vo.cockpit.aiIot.AIIotVO; |
| | | import com.ycl.vo.cockpit.aiIot.EfficiencyVO; |
| | | import com.ycl.vo.cockpit.aiIot.VideoVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | private IVideoPointService iVideoPointService; |
| | | @Autowired |
| | | private VideoUtil videoUtil; |
| | | @Autowired |
| | | IHandheldTerminalService iHandheldTerminalService; |
| | | @Autowired |
| | | ILoudspeakerService loudspeakerService; |
| | | @Autowired |
| | | ICarSlagcarService iCarSlagcarService; |
| | | |
| | | @ApiOperation(value = "监测数据") |
| | | @GetMapping("/detection") |
| | | public CommonResult<AIIotVO.DetectionVO> detection(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | AIIotVO.DetectionVO detectionVO = new AIIotVO.DetectionVO(); |
| | | detectionVO.setVideo(121); |
| | | detectionVO.setIndividual(20); |
| | | detectionVO.setLampblack(154); |
| | | detectionVO.setLoudspeaker(30); |
| | | detectionVO.setSlagCar(33); |
| | | detectionVO.setVideo(iVideoPointService.count()); |
| | | detectionVO.setIndividual(iHandheldTerminalService.count()); |
| | | detectionVO.setLampblack(154L); |
| | | /// TODO: 2022/12/13 缺少油烟机监控表 |
| | | detectionVO.setLoudspeaker(loudspeakerService.count()); |
| | | detectionVO.setSlagCar(iCarSlagcarService.count()); |
| | | return CommonResult.success(detectionVO); |
| | | } |
| | | |
| | |
| | | @GetMapping("/video") |
| | | public CommonResult video(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | return CommonResult.success(iVideoPointService.list().stream().map(item -> { |
| | | /// TODO: 2022/12/13 视频点位设备为空 没数据 |
| | | List<VideoPoint> list = iVideoPointService.list(new LambdaQueryWrapper<VideoPoint>() |
| | | .eq(params.getStreetId() != null, VideoPoint::getStreetId, params.getStreetId()) |
| | | .isNotNull(VideoPoint::getPlatResourceId)); |
| | | |
| | | List<VideoVO> vos = list.stream().map(item -> { |
| | | VideoVO videoVO = new VideoVO(); |
| | | videoVO.setName(item.getName()); |
| | | videoVO.setBrand(item.getEquipmentBrand()); |
| | | videoVO.setModel(item.getEquipmentModel()); |
| | | videoVO.setIp(item.getEquipmentIp()); |
| | | videoVO.setLatitude(item.getLatitude().toString()); |
| | | videoVO.setLongitude(item.getLongitude().toString()); |
| | | videoVO.setLatitude(item.getLatitude() != null ? item.getLatitude().toString() : ""); |
| | | videoVO.setLongitude(item.getLongitude() != null ? item.getLongitude().toString() : ""); |
| | | videoVO.setResourceId(item.getPlatResourceId()); |
| | | return videoVO; |
| | | }).collect(Collectors.toList())); |
| | | }).collect(Collectors.toList()); |
| | | |
| | | return CommonResult.success(vos); |
| | | |
| | | } |
| | | |
| | | @ApiOperation(value = "AI算法效能") |
| | | @GetMapping("/efficiency") |
| | | public CommonResult<List<AIIotVO.EfficiencyVO>> efficiency(@Validated CockpitVO params) { |
| | | public CommonResult efficiency(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | List<AIIotVO.EfficiencyVO> efficiencyVOS = new ArrayList<>(); |
| | | AIIotVO.EfficiencyVO a = null; |
| | | List<EfficiencyVO> efficiencyVOS = new ArrayList<>(); |
| | | for (int i = 0; i < 4; i++) { |
| | | a = new AIIotVO.EfficiencyVO(); |
| | | EfficiencyVO a = new EfficiencyVO(); |
| | | a.setType("道路破损"); |
| | | a.setCount(12); |
| | | a.setRatio(new BigDecimal("0.63").setScale(2, RoundingMode.HALF_UP)); |