From 9b3d338c8c66d4dc544bcec66f727bb8d2933658 Mon Sep 17 00:00:00 2001
From: fangyuan <527392886@qq.com>
Date: 星期二, 15 十一月 2022 14:28:43 +0800
Subject: [PATCH] 趋势分析数据查询,点位报警数量信息查询
---
ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java | 35 ++++++++
ycl-platform/src/main/java/com/ycl/service/trend/impl/TrendAnalysisServiceImpl.java | 30 +++++++
ycl-platform/src/main/java/com/ycl/dto/trend/TrendAnalysisParam.java | 25 ++++++
ycl-platform/src/main/java/com/ycl/mapper/trend/TrendAnalysisMapper.java | 13 +++
ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml | 37 +++++++++
ycl-platform/src/main/java/com/ycl/service/trend/TrendAnalysisService.java | 15 +++
ycl-platform/src/main/java/com/ycl/vo/TrendVo.java | 29 +++++++
7 files changed, 184 insertions(+), 0 deletions(-)
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
new file mode 100644
index 0000000..c0e1e4e
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java
@@ -0,0 +1,35 @@
+package com.ycl.controller.trend;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ycl.api.CommonResult;
+import com.ycl.dto.trend.TrendAnalysisParam;
+import com.ycl.service.trend.TrendAnalysisService;
+import com.ycl.vo.TrendVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Api(tags = "瓒嬪娍鍒嗘瀽")
+@RestController
+@RequestMapping("/trendAnalysis")
+public class TrendAnalysisController {
+ @Autowired
+ TrendAnalysisService trendAnalysisService;
+
+ @ApiOperation("鏁版嵁鏌ヨ")
+ @PostMapping("/info")
+ public CommonResult<List<TrendVo>> list(@RequestBody TrendAnalysisParam trendAnalysisParam, Integer pageSize, Integer pageNum) {
+ return CommonResult.success(trendAnalysisService.list(trendAnalysisParam,pageSize,pageNum));
+ }
+
+ @ApiOperation("鐐逛綅鏁版嵁鏌ヨ")
+ @PostMapping("/pointInfo")
+ public CommonResult<List<TrendVo>> queryPointInfo(@RequestBody String id) {
+ JSONObject jsonObject = JSON.parseObject(id);
+ return CommonResult.success(trendAnalysisService.queryPointInfo(jsonObject.getString("id")));
+ }
+}
diff --git a/ycl-platform/src/main/java/com/ycl/dto/trend/TrendAnalysisParam.java b/ycl-platform/src/main/java/com/ycl/dto/trend/TrendAnalysisParam.java
new file mode 100644
index 0000000..3e2508f
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/dto/trend/TrendAnalysisParam.java
@@ -0,0 +1,25 @@
+package com.ycl.dto.trend;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class TrendAnalysisParam {
+
+ @ApiModelProperty(value = "杩濊绫诲瀷")
+ private String type;
+
+ @ApiModelProperty(value = "寮�濮嬫椂闂�")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private String startTime;
+
+ @ApiModelProperty(value = "缁撴潫鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private String endTime;
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/trend/TrendAnalysisMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/trend/TrendAnalysisMapper.java
new file mode 100644
index 0000000..fd2d416
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/trend/TrendAnalysisMapper.java
@@ -0,0 +1,13 @@
+package com.ycl.mapper.trend;
+
+import com.ycl.dto.trend.TrendAnalysisParam;
+import com.ycl.vo.TrendVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface TrendAnalysisMapper {
+ List<TrendVo> selectTrendInfo(@Param("tap") TrendAnalysisParam trendAnalysisParam);
+
+ List<TrendVo> selectTrendPointInfo(String id);
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/trend/TrendAnalysisService.java b/ycl-platform/src/main/java/com/ycl/service/trend/TrendAnalysisService.java
new file mode 100644
index 0000000..d335944
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/trend/TrendAnalysisService.java
@@ -0,0 +1,15 @@
+package com.ycl.service.trend;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.dto.trend.TrendAnalysisParam;
+import com.ycl.entity.store.StoreScoreRule;
+import com.ycl.vo.TrendVo;
+
+import java.util.List;
+
+public interface TrendAnalysisService {
+ List<TrendVo> list(TrendAnalysisParam trendAnalysisParam, Integer pageSize, Integer pageNum);
+
+ List<TrendVo> queryPointInfo(String id);
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/trend/impl/TrendAnalysisServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/trend/impl/TrendAnalysisServiceImpl.java
new file mode 100644
index 0000000..9a24717
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/trend/impl/TrendAnalysisServiceImpl.java
@@ -0,0 +1,30 @@
+package com.ycl.service.trend.impl;
+
+
+import com.ycl.dto.trend.TrendAnalysisParam;
+import com.ycl.mapper.trend.TrendAnalysisMapper;
+import com.ycl.service.trend.TrendAnalysisService;
+import com.ycl.vo.TrendVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class TrendAnalysisServiceImpl implements TrendAnalysisService {
+
+
+ @Autowired
+ TrendAnalysisMapper trendAnalysisMapper;
+
+ @Override
+ public List<TrendVo> list(TrendAnalysisParam trendAnalysisParam, Integer pageSize, Integer pageNum) {
+ return trendAnalysisMapper.selectTrendInfo(trendAnalysisParam);
+ }
+
+ @Override
+ public List<TrendVo> queryPointInfo(String id) {
+ return trendAnalysisMapper.selectTrendPointInfo(id);
+ }
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/vo/TrendVo.java b/ycl-platform/src/main/java/com/ycl/vo/TrendVo.java
new file mode 100644
index 0000000..fa9ccd9
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/vo/TrendVo.java
@@ -0,0 +1,29 @@
+package com.ycl.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel(value = "瓒嬪娍鍒嗘瀽")
+public class TrendVo {
+
+ @ApiModelProperty(value = "鐐逛綅id")
+ private String id;
+
+ @ApiModelProperty(value = "鐐逛綅鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "鎶ヨ鏁伴噺")
+ private String count;
+
+ @ApiModelProperty(value = "鎶ヨ鏃ユ湡")
+ private String dateTime;
+
+ @ApiModelProperty(value = "鎶ヨ鍦板潃")
+ private String address;
+
+}
diff --git a/ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml b/ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml
new file mode 100644
index 0000000..930caa3
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.trend.TrendAnalysisMapper">
+
+ <select id="selectTrendInfo" resultType="com.ycl.vo.TrendVo" parameterType="com.ycl.dto.trend.TrendAnalysisParam">
+ select vp.id,vp.name,count(0) as count from
+ ums_warn_alarm_record war
+ left join
+ ums_violations v
+ on v.id=war.case_number_id
+ left join
+ ums_video_point vp
+ on v.video_point_id=vp.id
+ <where>
+ <if test="tap.startTime!=null and tap.startTime!=''and tap.endTime!=null and tap.endTime!=''" >
+ war.alarm_time between #{tap.startTime} and #{tap.endTime}
+ </if>
+ <if test="tap.type!=null and tap.type!=''" >
+ war.violation_type=#{tap.type}
+ </if>
+ </where>
+ group by vp.id,vp.name
+ order by count DESC
+ </select>
+
+ <select id="selectTrendPointInfo" resultType="com.ycl.vo.TrendVo" parameterType="string">
+ SELECT vp.address, DATE_FORMAT(war.alarm_time,"%Y-%m-%d") as dateTime,count(0) as count
+ from ums_warn_alarm_record war
+ left join ums_violations v
+ on v.id=war.case_number_id
+ left join ums_video_point vp
+ on v.video_point_id=vp.id
+ where vp.id=#{id}
+ GROUP BY vp.address,DATE_FORMAT(war.alarm_time,"%Y-%m-%d")
+ </select>
+
+</mapper>
--
Gitblit v1.8.0