From 1b97ca6145d599515fc4748f9126f1f6c9503ce4 Mon Sep 17 00:00:00 2001
From: liyanqi <15181887205@163.com>
Date: 星期四, 27 十月 2022 11:18:01 +0800
Subject: [PATCH] 驾驶舱数据接口以及假数据的编写

---
 ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java |  141 +++++++++++
 ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java                 |  100 ++++++++
 ycl-common/src/main/java/com/ycl/vo/cockpit/CockpitVO.java                                               |   42 +++
 ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java   |  103 ++++++++
 ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java                         |  105 ++++++++
 ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/StatisticsEventsVO.java                   |   93 +++++++
 ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java                                         |   93 +++++++
 7 files changed, 677 insertions(+), 0 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/vo/cockpit/CockpitVO.java b/ycl-common/src/main/java/com/ycl/vo/cockpit/CockpitVO.java
new file mode 100644
index 0000000..4007cdd
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/vo/cockpit/CockpitVO.java
@@ -0,0 +1,42 @@
+package com.ycl.vo.cockpit;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author Lyq
+ * @version 1.0
+ * @date 2022/10/26
+ */
+public class CockpitVO {
+    @Data
+    @ApiModel
+    public static class Params1VO {
+        @ApiModelProperty(value = "appId", example = "1")
+        @NotBlank(message = "appId涓嶈兘涓虹┖")
+        private String appId;
+        @ApiModelProperty(value = "appKey", example = "1")
+        @NotBlank(message = "appKey涓嶈兘涓虹┖")
+        private String appKey;
+        private String sign;
+    }
+
+    @Data
+    @ApiModel
+    public static class Params2VO {
+        @ApiModelProperty(value = "appId", example = "1")
+        @NotBlank(message = "appId涓嶈兘涓虹┖")
+        private String appId;
+        @ApiModelProperty(value = "appKey", example = "1")
+        @NotBlank(message = "appKey涓嶈兘涓虹┖")
+        private String appKey;
+        private String sign;
+        @ApiModelProperty(value = "寮�濮嬫椂闂达紝鏍煎紡yyyy-MM-dd hh:mm:ss")
+        private String beginTime;
+        @ApiModelProperty(value = "缁撴潫鏃堕棿锛屾牸寮弝yyy-MM-dd hh:mm:ss")
+        private String endTime;
+    }
+}
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
new file mode 100644
index 0000000..313cac6
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java
@@ -0,0 +1,105 @@
+package com.ycl.controller.cockpit.aiIot;
+
+import com.ycl.api.CommonResult;
+import com.ycl.vo.cockpit.CockpitVO;
+import com.ycl.vo.cockpit.aiIot.AIIotVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Lyq
+ * @version 1.0
+ * @date 2022/10/26
+ */
+@Api(tags = "椹鹃┒鑸辨暟鎹帴鍙�-AI鐗╄仈")
+@RestController
+@RequestMapping("/api/lot")
+public class AIIotController {
+
+    @ApiOperation(value = "鐩戞祴鏁版嵁")
+    @GetMapping("/detection")
+    public CommonResult<AIIotVO.DetectionVO> detection(@Validated CockpitVO.Params1VO params) {
+        AIIotVO.DetectionVO detectionVO = new AIIotVO.DetectionVO();
+        detectionVO.setVideo(121);
+        detectionVO.setIndividual(20);
+        detectionVO.setLampblack(154);
+        detectionVO.setLoudspeaker(30);
+        detectionVO.setSlagCar(33);
+        return CommonResult.success(detectionVO);
+    }
+
+    @ApiOperation(value = "瀹炴椂瑙嗛鐩戞帶")
+    @GetMapping("/video")
+    public CommonResult<List<AIIotVO.VideoVO>> video(@Validated CockpitVO.Params1VO params) {
+        List<AIIotVO.VideoVO> videoVOS = new ArrayList<>();
+        AIIotVO.VideoVO a = null;
+        for (int i = 0; i < 4; i++) {
+            a = new AIIotVO.VideoVO();
+            a.setLongitude("32.11");
+            a.setLatitude("106.111");
+            a.setName("璁惧涓�");
+            a.setResourceId("012");
+            a.setBrand("澶у崕");
+            a.setModel("鐞冩満");
+            a.setIp("10.23.14.2");
+            a.setUrl("http://10.23.14.2:12001");
+            videoVOS.add(a);
+        }
+        return CommonResult.success(videoVOS);
+    }
+
+    @ApiOperation(value = "AI绠楁硶鏁堣兘")
+    @GetMapping("/efficiency")
+    public CommonResult<List<AIIotVO.EfficiencyVO>> efficiency(@Validated CockpitVO.Params2VO 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);
+        }
+        return CommonResult.success(efficiencyVOS);
+    }
+
+    @ApiOperation(value = "娓e湡鑱斿姩")
+    @GetMapping("/slag_car")
+    public CommonResult<AIIotVO.SlagCarVO> slagCar(@Validated CockpitVO.Params1VO params) {
+        AIIotVO.SlagCarVO slagCarVO = new AIIotVO.SlagCarVO();
+        slagCarVO.setCar(236);
+        slagCarVO.setTeam(20);
+        return CommonResult.success(slagCarVO);
+    }
+
+    @ApiOperation(value = "AI浜嬩欢缁熻")
+    @GetMapping("/event_statistics")
+    public CommonResult<List<AIIotVO.StatisticsVO>> statistics(@Validated CockpitVO.Params2VO 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);
+    }
+
+
+}
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
new file mode 100644
index 0000000..343aa77
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
@@ -0,0 +1,141 @@
+package com.ycl.controller.cockpit.enforcementEvents;
+
+import com.ycl.api.CommonResult;
+import com.ycl.vo.cockpit.CockpitVO;
+import com.ycl.vo.cockpit.enforcementEvents.EnforcementEventsVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Lyq
+ * @version 1.0
+ * @date 2022/10/26
+ */
+@Api(tags = "椹鹃┒鑸辨暟鎹�-鎵ф硶浜嬩欢")
+@RestController
+@RequestMapping("/api/event")
+public class EnforcementEventsController {
+    @ApiOperation(value = "鎵ф硶浜嬩欢缁熻")
+    @GetMapping("/statistics")
+    public CommonResult<Map<String, Object>> statistics(@Validated CockpitVO.Params2VO params) {
+        Map<String, Object> map = new HashMap<>();
+        EnforcementEventsVO.StatisticsEventVO eventVO = new EnforcementEventsVO.StatisticsEventVO();
+        eventVO.setCount(10);
+        eventVO.setRatio(new BigDecimal("0.69").setScale(2, RoundingMode.HALF_UP));
+        map.put("reported", eventVO);
+        map.put("disposition", eventVO);
+        map.put("dispositionInTime",eventVO);
+        map.put("register", eventVO);
+        return CommonResult.success(map);
+    }
+
+    @ApiOperation(value = "浜嬩欢绫诲瀷")
+    @GetMapping("/type")
+    public CommonResult<EnforcementEventsVO.TypeAndSourceVO> type(@Validated CockpitVO.Params2VO params) {
+        List<EnforcementEventsVO.TypeAndSourceVO1> typeVO1s = new ArrayList<>();
+        EnforcementEventsVO.TypeAndSourceVO typeVO = new EnforcementEventsVO.TypeAndSourceVO();
+        EnforcementEventsVO.TypeAndSourceVO1 typeVO1 = null;
+        for (int i = 0; i < 4; i++) {
+            typeVO1 = new EnforcementEventsVO.TypeAndSourceVO1();
+            typeVO1.setName("鍥㈢粨灞�");
+            typeVO1.setCount(20);
+            typeVO1.setRatio(new BigDecimal("0.69").setScale(2, RoundingMode.HALF_UP));
+            typeVO1s.add(typeVO1);
+        }
+        typeVO.setAll(100);
+        typeVO.setRecords(typeVO1s);
+        return CommonResult.success(typeVO);
+    }
+
+    @ApiOperation(value = "瑙嗛鎶撴媿鍛婂彂鐐逛綅")
+    @GetMapping("/video")
+    public CommonResult<List<EnforcementEventsVO.VideoAndAreaVO>> video(@Validated CockpitVO.Params2VO params) {
+        List<EnforcementEventsVO.VideoAndAreaVO> videoVOS = new ArrayList<>();
+        EnforcementEventsVO.VideoAndAreaVO videoVO = null;
+        for (int i = 0; i < 4; i++) {
+            videoVO = new EnforcementEventsVO.VideoAndAreaVO();
+            videoVO.setName("鍥㈢粨灞�");
+            videoVO.setCount(10);
+            videoVOS.add(videoVO);
+        }
+        return CommonResult.success(videoVOS);
+    }
+
+    @ApiOperation(value = "浜嬩欢鏉ユ簮")
+    @GetMapping("/source")
+    public CommonResult<EnforcementEventsVO.TypeAndSourceVO> source(@Validated CockpitVO.Params2VO params) {
+        List<EnforcementEventsVO.TypeAndSourceVO1> typeVO1s = new ArrayList<>();
+        EnforcementEventsVO.TypeAndSourceVO typeVO = new EnforcementEventsVO.TypeAndSourceVO();
+        EnforcementEventsVO.TypeAndSourceVO1 typeVO1 = null;
+        for (int i = 0; i < 4; i++) {
+            typeVO1 = new EnforcementEventsVO.TypeAndSourceVO1();
+            typeVO1.setName("鍥㈢粨灞�");
+            typeVO1.setCount(20);
+            typeVO1.setRatio(new BigDecimal("0.69").setScale(2, RoundingMode.HALF_UP));
+            typeVO1s.add(typeVO1);
+        }
+        typeVO.setAll(100);
+        typeVO.setRecords(typeVO1s);
+        return CommonResult.success(typeVO);
+    }
+
+    @ApiOperation(value = "浜嬩欢鍖哄煙缁熻")
+    @GetMapping("/area")
+    public CommonResult<List<EnforcementEventsVO.VideoAndAreaVO>> area(@Validated CockpitVO.Params2VO params) {
+        List<EnforcementEventsVO.VideoAndAreaVO> videoVOS = new ArrayList<>();
+        EnforcementEventsVO.VideoAndAreaVO videoVO = null;
+        for (int i = 0; i < 4; i++) {
+            videoVO = new EnforcementEventsVO.VideoAndAreaVO();
+            videoVO.setName("鍥㈢粨灞�");
+            videoVO.setCount(10);
+            videoVOS.add(videoVO);
+        }
+        return CommonResult.success(videoVOS);
+    }
+
+    @ApiOperation(value = "寤惰浜嬩欢")
+    @GetMapping("/delay")
+    public CommonResult<List<EnforcementEventsVO.DelayVO>> delay(@Validated CockpitVO.Params2VO params) {
+        List<EnforcementEventsVO.DelayVO> delayVOS = new ArrayList<>();
+        EnforcementEventsVO.DelayVO delayVO = null;
+        for (int i = 0; i < 4; i++) {
+            delayVO = new EnforcementEventsVO.DelayVO();
+            delayVO.setCode("201245555555");
+            delayVO.setDescription("鍥㈢粨灞�");
+            delayVO.setDuration(30);
+            delayVOS.add(delayVO);
+        }
+        return CommonResult.success(delayVOS);
+    }
+
+    @ApiOperation(value = "浜嬩欢淇℃伅")
+    @GetMapping("/info")
+    public CommonResult<EnforcementEventsVO.InfoVO> info(@Validated CockpitVO.Params2VO params) {
+        EnforcementEventsVO.InfoVO infoVO = new EnforcementEventsVO.InfoVO();
+        EnforcementEventsVO.EventVO eventVO = new EnforcementEventsVO.EventVO();
+        infoVO.setToday(5);
+        infoVO.setWeek(10);
+        infoVO.setDispatch(20);
+        infoVO.setIdentification(20);
+        eventVO.setDescription("浜嬩欢鎻忚堪");
+        eventVO.setAddress("浜嬪彂鍦板潃");
+        eventVO.setAlarmTime("2022-10-15 16:12:13");
+        eventVO.setPoint("1鍙风偣浣�");
+        eventVO.setPicture("http://12.2.23.4/xx.png");
+        eventVO.setSource("AI璇嗗埆");
+        infoVO.setEvent(eventVO);
+        return CommonResult.success(infoVO);
+    }
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
new file mode 100644
index 0000000..5c5ce45
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
@@ -0,0 +1,103 @@
+package com.ycl.controller.cockpit.statisticsEvents;
+
+import com.ycl.api.CommonResult;
+import com.ycl.vo.cockpit.CockpitVO;
+import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Lyq
+ * @version 1.0
+ * @date 2022/10/26
+ */
+@Api(tags = "椹鹃┒鑸辨暟鎹帴鍙�-缁煎悎鍐崇瓥")
+@RestController
+@RequestMapping("/api/data")
+public class StatisticsEventsController {
+
+    @ApiOperation(value = "鎵ф硶浜嬩欢")
+    @GetMapping("/law_enforcement_event")
+    public CommonResult<List<StatisticsEventsVO.LawEnforcementEventVO>> detection(@Validated CockpitVO.Params2VO params) {
+        List<StatisticsEventsVO.LawEnforcementEventVO> lawEnforcementEventVOS = new ArrayList<>();
+        StatisticsEventsVO.LawEnforcementEventVO a = null;
+        for (int i = 0; i < 4; i++) {
+            a = new StatisticsEventsVO.LawEnforcementEventVO();
+            a.setName("鍥㈢粨灞�");
+            a.setMonth("10");
+            a.setCityManagementCount(10);
+            a.setEnforcementEventCount(10);
+            lawEnforcementEventVOS.add(a);
+        }
+        return CommonResult.success(lawEnforcementEventVOS);
+    }
+
+    @ApiOperation(value = "鐗╄仈鎰熺煡")
+    @GetMapping("/lot")
+    public CommonResult<List<StatisticsEventsVO.LotVO>> lot(@Validated CockpitVO.Params1VO params) {
+        List<StatisticsEventsVO.LotVO> lotVOS = new ArrayList<>();
+        StatisticsEventsVO.LotVO a = null;
+        for (int i = 0; i < 4; i++) {
+            a = new StatisticsEventsVO.LotVO();
+            a.setName("鍥㈢粨灞�");
+            a.setType("鎽勫儚澶�");
+            a.setCount(10);
+            lotVOS.add(a);
+        }
+        return CommonResult.success(lotVOS);
+    }
+
+    @ApiOperation(value = "鎵ф硶闃熶紞")
+    @GetMapping("/team")
+    public CommonResult<StatisticsEventsVO.TeamVO> team(@Validated CockpitVO.Params1VO params) {
+        StatisticsEventsVO.TeamVO teamVO = new StatisticsEventsVO.TeamVO();
+        teamVO.setAll(30);
+        teamVO.setAssistant(10);
+        teamVO.setOfficer(10);
+        teamVO.setSecondOfficer(1);
+        teamVO.setOffline(10);
+        teamVO.setOnline(20);
+        return CommonResult.success(teamVO);
+    }
+
+    @ApiOperation(value = "缃戞牸鍛�")
+    @GetMapping("/grid_member")
+    public CommonResult<List<StatisticsEventsVO.GridMemberVO>> gridMember(@Validated CockpitVO.Params1VO params) {
+        List<StatisticsEventsVO.GridMemberVO> gridMemberVOS = new ArrayList<>();
+        StatisticsEventsVO.GridMemberVO a = null;
+        for (int i = 0; i < 4; i++) {
+            a = new StatisticsEventsVO.GridMemberVO();
+            a.setRatio(new BigDecimal("0.20").setScale(2, RoundingMode.HALF_UP));
+            a.setName("鍥㈢粨灞�");
+            a.setCount(10);
+            gridMemberVOS.add(a);
+        }
+        return CommonResult.success(gridMemberVOS);
+    }
+
+    @ApiOperation(value = "鎸囨暟浣撳緛")
+    @GetMapping("/index_signs")
+    public CommonResult<StatisticsEventsVO.IndexSignsVO> indexSigns(@Validated CockpitVO.Params1VO params) {
+        StatisticsEventsVO.IndexSignsVO indexSignsVO = new StatisticsEventsVO.IndexSignsVO();
+        indexSignsVO.setEvent(1);
+        indexSignsVO.setGridMember(20);
+        indexSignsVO.setCompletePercentage(new BigDecimal("0.60").setScale(2, RoundingMode.HALF_UP));
+        indexSignsVO.setEquipment(30);
+        indexSignsVO.setAccuracy(new BigDecimal("0.80").setScale(2, RoundingMode.HALF_UP));
+        indexSignsVO.setTrigger(10);
+        indexSignsVO.setLot(30);
+        indexSignsVO.setLotOnline(10);
+        indexSignsVO.setCityData(10);
+        indexSignsVO.setEvaluationData(10);
+        return CommonResult.success(indexSignsVO);
+    }
+}
diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java
new file mode 100644
index 0000000..c4fb549
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java
@@ -0,0 +1,93 @@
+package com.ycl.vo.cockpit.aiIot;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author Lyq
+ * @version 1.0
+ * @date 2022/10/26
+ */
+@ApiModel(description = "椹鹃┒鑸辨暟鎹�-AI鐗╄仈VO灞�")
+public class AIIotVO {
+
+    @ApiModel(description = "鐩戞祴鏁版嵁")
+    @Data
+    public static class DetectionVO {
+        @ApiModelProperty(value = "鍩庡競鐩戞帶")
+        private Integer video;
+        @ApiModelProperty(value = "鍗曞叺璁惧")
+        private Integer individual;
+        @ApiModelProperty(value = "娌圭儫鐩戞祴")
+        private Integer lampblack;
+        @ApiModelProperty(value = "瀹ゅ闊虫煴")
+        private Integer loudspeaker;
+        @ApiModelProperty(value = "娓e湡杞�")
+        private Integer slagCar;
+    }
+
+    @ApiModel(description = "瀹炴椂鐩戞帶")
+    @Data
+    public static class VideoVO {
+        @ApiModelProperty(value = "鐐逛綅缁忓害")
+        private String longitude;
+        @ApiModelProperty(value = "鐐逛綅绾害")
+        private String latitude;
+        @ApiModelProperty(value = "鐐逛綅鍚嶇О")
+        private String name;
+        @ApiModelProperty(value = "璁惧鍞竴缂栫爜")
+        private String resourceId;
+        @ApiModelProperty(value = "璁惧鍝佺墝")
+        private String brand;
+        @ApiModelProperty(value = "璁惧鍨嬪彿")
+        private String model;
+        @ApiModelProperty(value = "璁惧IP鍦板潃")
+        private String ip;
+        @ApiModelProperty(value = "URL鍦板潃")
+        private String url;
+    }
+
+    @ApiModel(description = "AI绠楁硶鏁堣兘")
+    @Data
+    public static class EfficiencyVO {
+        @ApiModelProperty(value = "鐗╄仈缃戣澶囩被鍨�")
+        private String type;
+        @ApiModelProperty(value = "鏁伴噺")
+        private Integer count;
+        @ApiModelProperty(value = "姣斾緥")
+        private BigDecimal ratio;
+    }
+
+    @ApiModel(description = "AI浜嬩欢缁熻")
+    @Data
+    public static class StatisticsVO {
+        @ApiModelProperty(value = "鐗╄仈缃戣澶囩被鍨�")
+        private String type;
+        private List<AIIotVO.Statistics1VO> records;
+    }
+
+    @Data
+    @ApiModel(description = "AI浜嬩欢缁熻")
+    public static class Statistics1VO {
+        @ApiModelProperty(value = "鏈堜唤")
+        private String month;
+        @ApiModelProperty(value = "鏁伴噺")
+        private Integer count;
+    }
+
+    @ApiModel(description = "娓e湡鑱斿姩")
+    @Data
+    public static class SlagCarVO {
+        @ApiModelProperty(value = "杞﹂槦鏁�")
+        private Integer team;
+
+        @ApiModelProperty(value = "杞﹁締鏁�")
+        private Integer car;
+    }
+
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java
new file mode 100644
index 0000000..c52ad94
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java
@@ -0,0 +1,100 @@
+package com.ycl.vo.cockpit.enforcementEvents;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import io.swagger.v3.oas.models.security.SecurityScheme;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author Lyq
+ * @version 1.0
+ * @date 2022/10/26
+ */
+@ApiModel(description = "椹鹃┒鑸辨暟鎹�-鎵ф硶浜嬩欢VO灞�")
+public class EnforcementEventsVO {
+    @ApiModel(description = "鎵ф硶浜嬩欢缁熻")
+    @Data
+    public static class StatisticsEventVO {
+        @ApiModelProperty(value = "鏁伴噺")
+        private Integer count;
+
+        @ApiModelProperty(value = "姣斾緥")
+        private BigDecimal ratio;
+    }
+
+    @Data
+    @ApiModel(description = "浜嬩欢绫诲瀷/浜嬩欢鏉ユ簮")
+    public static class TypeAndSourceVO {
+        @ApiModelProperty(value = "浜嬩欢鐨勬�绘暟")
+        private Integer all;
+        @ApiModelProperty(value = "浜嬩欢绫诲瀷鐨勬暟閲忋�佸悇鍗犳瘮")
+        private List<EnforcementEventsVO.TypeAndSourceVO1> records;
+    }
+
+    @Data
+    @ApiModel(description = "浜嬩欢绫诲瀷/浜嬩欢鏉ユ簮")
+    public static class TypeAndSourceVO1 {
+        @ApiModelProperty(value = "鍚嶇О")
+        private String name;
+        @ApiModelProperty(value = "鏁伴噺")
+        private Integer count;
+        @ApiModelProperty(value = "姣斾緥")
+        private BigDecimal ratio;
+    }
+
+    @Data
+    @ApiModel(description = "瑙嗛鎶撴媿楂樺彂鐐逛綅/浜嬩欢鍖哄煙缁熻")
+    public static class VideoAndAreaVO {
+        @ApiModelProperty(value = "鐐逛綅鍚嶇О")
+        private String name;
+        @ApiModelProperty(value = "娆℃暟")
+        private Integer count;
+    }
+
+    @Data
+    @ApiModel(description = "寤惰浜嬩欢")
+    public static class DelayVO {
+        @ApiModelProperty(value = "浜嬩欢缂栫爜锛堝敮涓�锛�")
+        private String code;
+        @ApiModelProperty(value = "浜嬩欢鎻忚堪")
+        private String description;
+        @ApiModelProperty(value = "瓒呮湡鏃堕棿锛堝垎閽燂級")
+        private Integer duration;
+    }
+
+    @Data
+    @ApiModel(description = "浜嬩欢淇℃伅")
+    public static class InfoVO {
+        @ApiModelProperty(value = "浠婃棩浜嬩欢鎬绘暟")
+        private Integer today;
+        @ApiModelProperty(value = "鏈懆浜嬩欢鎬绘暟")
+        private Integer week;
+        @ApiModelProperty(value = "鎵ф硶鍑哄姩鎬绘暟")
+        private Integer dispatch;
+        @ApiModelProperty(value = "AI璇嗗埆鐨勪簨浠舵�绘暟")
+        private Integer identification;
+        @ApiModelProperty(value = "鍏蜂綋浜嬩欢鐨勬暟鎹俊鎭�")
+        private EnforcementEventsVO.EventVO event;
+    }
+
+    @Data
+    @ApiModel(description = "鍏蜂綋浜嬩欢鐨勬暟鎹俊鎭�")
+    public static class EventVO {
+        @ApiModelProperty(value = "浜嬩欢鎻忚堪")
+        private String description;
+        @ApiModelProperty(value = "浜嬪彂鍦扮偣")
+        private String address;
+        @ApiModelProperty(value = "鍙戠敓鏃堕棿")
+        private String alarmTime;
+        @ApiModelProperty(value = "鍏宠仈鎽勫儚鐐逛綅")
+        private String point;
+        @ApiModelProperty(value = "鐩戞帶鐢婚潰")
+        private String picture;
+        @ApiModelProperty(value = "鏉ユ簮")
+        private String source;
+    }
+}
diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/StatisticsEventsVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/StatisticsEventsVO.java
new file mode 100644
index 0000000..170883d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/statisticsEvents/StatisticsEventsVO.java
@@ -0,0 +1,93 @@
+package com.ycl.vo.cockpit.statisticsEvents;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author Lyq
+ * @version 1.0
+ * @date 2022/10/26
+ */
+@ApiModel(description = "椹鹃┒鑸辨暟鎹�-缁煎悎鍐崇瓥VO灞�")
+public class StatisticsEventsVO {
+
+    @ApiModel(description = "鎵ф硶浜嬩欢")
+    @Data
+    public static class LawEnforcementEventVO {
+        @ApiModelProperty(value = "鏈堜唤")
+        private String month;
+        @ApiModelProperty(value = "鍦板尯鍚嶅瓧")
+        private String name;
+        @ApiModelProperty(value = "鍩庣浜嬩欢鏁�")
+        private Integer cityManagementCount;
+        @ApiModelProperty(value = "鎵ф硶妗堜欢鏁�")
+        private Integer enforcementEventCount;
+    }
+
+    @ApiModel(description = "鐗╄仈鎰熺煡")
+    @Data
+    public static class LotVO {
+        @ApiModelProperty(value = "鐗╄仈缃戣澶囩被鍨�")
+        private String type;
+        @ApiModelProperty(value = "鍦板尯鍚嶅瓧")
+        private String name;
+        @ApiModelProperty(value = "鏁伴噺")
+        private Integer count;
+    }
+
+    @ApiModel(description = "鎵ф硶闃熶紞")
+    @Data
+    public static class TeamVO {
+        @ApiModelProperty(value = "鎵ф硶涓槦鏁伴噺")
+        private Integer secondOfficer;
+        @ApiModelProperty(value = "鍦ㄧ嚎浜哄憳鏁伴噺")
+        private Integer online;
+        @ApiModelProperty(value = "绂荤嚎浜哄憳鏁伴噺")
+        private Integer offline;
+        @ApiModelProperty(value = "鍏ㄩ儴浜哄憳鏁伴噺")
+        private Integer all;
+        @ApiModelProperty(value = "鎵ф硶浜哄憳鏁伴噺")
+        private Integer officer;
+        @ApiModelProperty(value = "鍗忕浜哄憳鏁伴噺")
+        private Integer assistant;
+    }
+
+    @ApiModel(description = "缃戞牸鍛�")
+    @Data
+    public static class GridMemberVO {
+        @ApiModelProperty(value = "鍦板尯鍚嶇О")
+        private String name;
+        @ApiModelProperty(value = "鏁伴噺")
+        private Integer count;
+        @ApiModelProperty(value = "姣斾緥")
+        private BigDecimal ratio;
+    }
+
+    @ApiModel(description = "鎸囨暟浣撳緛")
+    @Data
+    public static class IndexSignsVO {
+        @ApiModelProperty(value = "杩�30鏃ヤ簨浠舵暟")
+        private Integer event;
+        @ApiModelProperty(value = "缃戞牸鍛樻�绘暟")
+        private Integer gridMember;
+        @ApiModelProperty(value = "杩�30鏃ヤ簨浠跺姙缁撶巼")
+        private BigDecimal completePercentage;
+        @ApiModelProperty(value = "AI璁惧鏁伴噺")
+        private Integer equipment;
+        @ApiModelProperty(value = "AI杩�30鏃ュ噯纭巼")
+        private BigDecimal accuracy;
+        @ApiModelProperty(value = "杩�30鏃ヨЕ鍙戞鏁�")
+        private Integer trigger;
+        @ApiModelProperty(value = "鐗╄仈鎰熺煡璁惧鏁伴噺")
+        private Integer lot;
+        @ApiModelProperty(value = "杩�30鏃ョ墿鑱旀劅鐭ヨ澶囧湪绾挎暟閲�")
+        private Integer lotOnline;
+        @ApiModelProperty(value = "甯傘�� 鍖轰换鍔″畬鎴愭寚鏍囧競骞冲彴鍐呮暟鎹�")
+        private Integer cityData;
+        @ApiModelProperty(value = "鍔ㄦ�佽�冩牳鏁版嵁")
+        private Integer evaluationData;
+    }
+}

--
Gitblit v1.8.0