From 3cf5e9483f60c94d29df1a79bc0c1ca910ca46ef Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期二, 13 十二月 2022 14:58:24 +0800
Subject: [PATCH] fix: 执法事件对外接口
---
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml | 11 +++++
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java | 53 ++++++++++++--------------
ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java | 4 +-
ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java | 3 +
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 15 ++++++-
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/ViolationsMapper.java | 1
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java | 1
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java | 2 +
ycl-platform/src/main/java/com/ycl/vo/TrendVo.java | 2
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java | 2
10 files changed, 59 insertions(+), 35 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
index 012c29b..78cfda3 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
@@ -2,9 +2,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ycl.api.CommonResult;
+import com.ycl.dto.trend.TrendAnalysisParam;
import com.ycl.entity.caseHandler.BaseCase;
+import com.ycl.entity.caseHandler.Violations;
+import com.ycl.mapper.trend.TrendAnalysisMapper;
import com.ycl.service.caseHandler.IBaseCaseService;
+import com.ycl.service.caseHandler.IViolationsService;
+import com.ycl.service.trend.TrendAnalysisService;
import com.ycl.util.CheckApiUtil;
+import com.ycl.vo.TrendVo;
import com.ycl.vo.cockpit.CockpitVO;
import com.ycl.vo.cockpit.enforcementEvents.EnforcementEventsVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
@@ -23,6 +29,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* @author Lyq
@@ -38,6 +45,10 @@
@Autowired
IBaseCaseService iBaseCaseService;
+ @Autowired
+ IViolationsService iViolationsService;
+ @Autowired
+ TrendAnalysisMapper trendAnalysisMapper;
@ApiOperation(value = "鎵ф硶浜嬩欢缁熻")
@GetMapping("/statistics")
@@ -60,24 +71,11 @@
public CommonResult type(@Validated CockpitVO params) {
checkApiUtil.cockpit(params);
EnforcementEventsVO.TypeAndSourceVO typeAndSourceVO = new EnforcementEventsVO.TypeAndSourceVO();
- Long allCount = iBaseCaseService.count();
- Long violationCount = iBaseCaseService.count(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getCategory, "1"));
- Long illegalBuildingCount = iBaseCaseService.count(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getCategory, "2"));
-
- ArrayList<VideoAndAreaVO> typeAndSourceVO1s = new ArrayList<>();
- VideoAndAreaVO violationVO1 = new VideoAndAreaVO();
- violationVO1.setName("杩濊");
- violationVO1.setCount(violationCount);
- violationVO1.setRatio(new BigDecimal(violationCount * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP));
- VideoAndAreaVO illegalBuildingVO1 = new VideoAndAreaVO();
- illegalBuildingVO1.setName("杩濆缓");
- illegalBuildingVO1.setCount(illegalBuildingCount);
- illegalBuildingVO1.setRatio(new BigDecimal(illegalBuildingCount * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP));
- typeAndSourceVO1s.add(violationVO1);
- typeAndSourceVO1s.add(illegalBuildingVO1);
- typeAndSourceVO.setRecords(typeAndSourceVO1s);
- typeAndSourceVO.setAll(allCount);
- System.out.println(illegalBuildingCount / allCount);
+ Long count = iViolationsService.count();
+ typeAndSourceVO.setAll(iViolationsService.count());
+ List<VideoAndAreaVO> videoAndAreaVOS = iViolationsService.selectType();
+ videoAndAreaVOS.stream().forEach(item->item.setRatio(new BigDecimal(item.getCount()*1.0/count).setScale(2,BigDecimal.ROUND_HALF_UP)));
+ typeAndSourceVO.setRecords(videoAndAreaVOS);
return CommonResult.success(typeAndSourceVO);
}
@@ -85,16 +83,15 @@
@GetMapping("/video")
public CommonResult video(@Validated CockpitVO params) {
checkApiUtil.cockpit(params);
- List<VideoAndAreaVO> videoVOS = new ArrayList<>();
- VideoAndAreaVO videoVO = null;
- for (int i = 0; i < 4; i++) {
- videoVO = new VideoAndAreaVO();
- videoVO.setName("鍥㈢粨灞�");
- videoVO.setCount(10L);
- videoVO.setRatio(new BigDecimal("0.65").setScale(2, RoundingMode.HALF_UP));
- videoVOS.add(videoVO);
- }
- return CommonResult.success(videoVOS);
+ Long count = iViolationsService.count(new LambdaQueryWrapper<Violations>().isNotNull(Violations::getVideoPointId));
+ List<VideoAndAreaVO> collect = trendAnalysisMapper.selectTrendInfo(new TrendAnalysisParam()).stream().map(item -> {
+ VideoAndAreaVO videoAndAreaVO = new VideoAndAreaVO();
+ videoAndAreaVO.setName(item.getName());
+ videoAndAreaVO.setCount(item.getCount());
+ videoAndAreaVO.setRatio(new BigDecimal(item.getCount() * 1.0 / count).setScale(2, BigDecimal.ROUND_HALF_UP));
+ return videoAndAreaVO;
+ }).collect(Collectors.toList());
+ return CommonResult.success(collect);
}
@ApiOperation(value = "浜嬩欢鏉ユ簮")
diff --git a/ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java b/ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java
index dc6665e..b19efa9 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java
@@ -28,8 +28,8 @@
@ApiOperation("鐐逛綅鏁版嵁鏌ヨ")
@GetMapping("/pointInfo")
- public CommonResult<List<TrendVo>> queryPointInfo(@RequestParam String longitude,
- @RequestParam String latitude) {
+ public CommonResult<List<TrendVo>> queryPointInfo(@RequestParam(required = false) String longitude,
+ @RequestParam(required = false) String latitude) {
return CommonResult.success(trendAnalysisService.queryPointInfo(longitude,latitude));
}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
index 540c790..237e22d 100644
--- a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
+++ b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
@@ -58,4 +58,6 @@
List<VideoAndAreaVO> areaCount();
List<DelayDO> selectDelayVOList();
+
+ List<VideoAndAreaVO> selectType();
}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/ViolationsMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/ViolationsMapper.java
index 7208a5e..7a32068 100644
--- a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/ViolationsMapper.java
+++ b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/ViolationsMapper.java
@@ -17,5 +17,4 @@
public interface ViolationsMapper extends BaseMapper<Violations> {
ViolationsVO selectCondMap(Map map);
-
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
index db25560..bef1bc3 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
@@ -86,4 +86,4 @@
List<VideoAndAreaVO> areaCount();
List<DelayVO> selectDelayList();
-}
+}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java
index d453d4d..2889d34 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IViolationsService.java
@@ -3,6 +3,7 @@
import com.ycl.entity.caseHandler.Violations;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.video.VideoAlarmReport;
+import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import java.util.List;
@@ -25,4 +26,6 @@
* @date 2022-09-26 17:25
*/
void saveFromVideo(List<VideoAlarmReport> videoAlarmReports);
+
+ List<VideoAndAreaVO> selectType();
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
index 6e80c0d..9acb354 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -508,4 +508,5 @@
});
return delayVOS;
}
+
}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
index b3e236a..f04029a 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -8,13 +8,16 @@
import com.ycl.entity.caseHandler.Violations;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.entity.video.VideoPoint;
+import com.ycl.mapper.caseHandler.BaseCaseMapper;
import com.ycl.mapper.caseHandler.ViolationsMapper;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.impl.IVideoPointService;
+import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@@ -31,6 +34,9 @@
private IVideoPointService videoPointService;
private IBaseCaseService baseCaseService;
+
+ @Resource
+ BaseCaseMapper baseCaseMapper;
@Autowired
public void setVideoPointService(IVideoPointService videoPointService) {
@@ -58,7 +64,7 @@
baseCase.setLongitude(videoPoint.getLongitude());
baseCase.setStreetId(videoPoint.getStreetId());
baseCase.setCommunityId(videoPoint.getCommunityId());
-
+ baseCase.setSite(videoPoint.getAddress());
}
baseCaseService.save(baseCase);
violations.setId(baseCase.getId());
@@ -67,4 +73,9 @@
baseMapper.insert(violations);
}
}
-}
+
+ @Override
+ public List<VideoAndAreaVO> selectType() {
+ return baseCaseMapper.selectType();
+ }
+}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/vo/TrendVo.java b/ycl-platform/src/main/java/com/ycl/vo/TrendVo.java
index fa9ccd9..44fa666 100644
--- a/ycl-platform/src/main/java/com/ycl/vo/TrendVo.java
+++ b/ycl-platform/src/main/java/com/ycl/vo/TrendVo.java
@@ -18,7 +18,7 @@
private String name;
@ApiModelProperty(value = "鎶ヨ鏁伴噺")
- private String count;
+ private Long count;
@ApiModelProperty(value = "鎶ヨ鏃ユ湡")
private String dateTime;
diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index bbea396..ae8aff0 100644
--- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -329,4 +329,15 @@
LEFT JOIN ums_violations t3 on t1.id = t3.id
WHERE t2.workflow_config_step_id IN (1, 2)
</select>
+
+ <select id="selectType" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
+ SELECT
+ IFNULL( t2.`name`, "鍏朵粬" ) as name,
+ COUNT( 1 ) as count
+ FROM
+ ums_violations t1
+ LEFT JOIN ums_data_dictionary t2 ON t1.category_id = t2.id
+ GROUP BY
+ t1.category_id
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0