From e5bf0d08d05f5c58224fe28cdf743a1bae88e3f0 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 30 十一月 2023 16:48:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java | 97 ++++++++++++++++++++++++++++++------------------ 1 files changed, 60 insertions(+), 37 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java index a95b420..d6ff0a3 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java @@ -1,11 +1,20 @@ package com.ycl.controller.cockpit.aiIot; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ycl.api.CommonResult; +import com.ycl.dto.allot.EfficiencyDto; +import com.ycl.entity.video.VideoPoint; +import com.ycl.service.allot.IEfficiencyService; +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.AIIotStatisticsVO; 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; @@ -20,6 +29,8 @@ import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; +import java.util.function.Function; +import java.util.function.ToIntFunction; import java.util.stream.Collectors; /** @@ -39,17 +50,27 @@ private IVideoPointService iVideoPointService; @Autowired private VideoUtil videoUtil; + @Autowired + IHandheldTerminalService iHandheldTerminalService; + @Autowired + ILoudspeakerService loudspeakerService; + @Autowired + ICarSlagcarService iCarSlagcarService; + @Autowired + IEfficiencyService iEfficiencyService; + @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(iEfficiencyService.getSmokeCustomer()); + + detectionVO.setLoudspeaker(34L); + detectionVO.setSlagCar(iCarSlagcarService.count()); return CommonResult.success(detectionVO); } @@ -57,32 +78,44 @@ @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).orderByDesc(VideoPoint::getId)); + + 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()); + videoVO.setCode(item.getCode()); 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; - for (int i = 0; i < 4; i++) { - a = new AIIotVO.EfficiencyVO(); - a.setType("閬撹矾鐮存崯"); - a.setCount(12); - a.setRatio(new BigDecimal("0.63").setScale(2, RoundingMode.HALF_UP)); - efficiencyVOS.add(a); - } + List<EfficiencyDto> list = iEfficiencyService.list(); + List<EfficiencyVO> efficiencyVOS = list.stream().map((Function<EfficiencyDto, EfficiencyVO>) efficiencyDto -> { + EfficiencyVO a = new EfficiencyVO(); + a.setType(efficiencyDto.getName()); + a.setCount(efficiencyDto.getNumber()); + a.setRatio(1.0 - ((double) efficiencyDto.getErrorNumber() / (double) efficiencyDto.getNumber())); + return a; + }).collect(Collectors.toList()); + efficiencyVOS.add(new EfficiencyVO("搴楀缁忚惀", 0, 0.0)); + efficiencyVOS.add(new EfficiencyVO("娌胯鏅炬檼", 0, 0.0)); + efficiencyVOS.add(new EfficiencyVO("鏃犵収缁忚惀娓稿晢", 0, 0.0)); + efficiencyVOS.add(new EfficiencyVO("杩濊鎾戜紴", 0, 0.0)); return CommonResult.success(efficiencyVOS); } @@ -90,31 +123,21 @@ @GetMapping("/slag_car") public CommonResult<AIIotVO.SlagCarVO> slagCar(@Validated CockpitVO params) { checkApiUtil.cockpit(params); + AIIotVO.SlagCarVO slagCarVO = new AIIotVO.SlagCarVO(); - slagCarVO.setCar(236); - slagCarVO.setTeam(20); + slagCarVO.setCar(iCarSlagcarService.count()); + slagCarVO.setTeam(0L); + return CommonResult.success(slagCarVO); } @ApiOperation(value = "AI浜嬩欢缁熻") @GetMapping("/event_statistics") - public CommonResult<List<AIIotVO.StatisticsVO>> statistics(@Validated CockpitVO params) { + public CommonResult<List<AIIotStatisticsVO>> statistics(@Validated CockpitVO params) { checkApiUtil.cockpit(params); - List<AIIotVO.StatisticsVO> statisticsVOS = new ArrayList<>(); - List<AIIotVO.Statistics1VO> statistics1VOS = new ArrayList<>(); - AIIotVO.StatisticsVO a = null; - AIIotVO.Statistics1VO a1 = null; - for (int i = 0; i < 4; i++) { - a = new AIIotVO.StatisticsVO(); - a1 = new AIIotVO.Statistics1VO(); - a.setType("閬撹矾鐮存崯"); - a1.setCount(12); - a1.setMonth("2022-10"); - statistics1VOS.add(a1); - a.setRecords(statistics1VOS); - statisticsVOS.add(a); - } - return CommonResult.success(statisticsVOS); + + List<AIIotStatisticsVO> list = iEfficiencyService.aiMonthList(params.getBeginTime(), params.getEndTime()); + return CommonResult.success(list); } -- Gitblit v1.8.0