ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/dto/trend/TrendAnalysisParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/mapper/trend/TrendAnalysisMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/service/trend/TrendAnalysisService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/service/trend/impl/TrendAnalysisServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/vo/TrendVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-platform/src/main/java/com/ycl/controller/trend/TrendAnalysisController.java
New file @@ -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"))); } } ycl-platform/src/main/java/com/ycl/dto/trend/TrendAnalysisParam.java
New file @@ -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; } ycl-platform/src/main/java/com/ycl/mapper/trend/TrendAnalysisMapper.java
New file @@ -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); } ycl-platform/src/main/java/com/ycl/service/trend/TrendAnalysisService.java
New file @@ -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); } ycl-platform/src/main/java/com/ycl/service/trend/impl/TrendAnalysisServiceImpl.java
New file @@ -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); } } ycl-platform/src/main/java/com/ycl/vo/TrendVo.java
New file @@ -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; } ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml
New file @@ -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>