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