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