提交 2c85c56b authored 作者: Phyday's avatar Phyday

Add RoadCondition Show Function

上级 4d3819d4
package com.elephant.framework.galaxy.aroad.module.roadcondition.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.elephant.framework.galaxy.aroad.response.R;
import com.elephant.framework.galaxy.aroad.module.common.annotation.SysLog;
import com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent;
import com.elephant.framework.galaxy.aroad.module.roadcondition.service.RoadConditionEventService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.elephant.framework.galaxy.aroad.module.common.controller.BaseController;
/**
* 路况事件统计
*
* @author Xingyuyang
* @date 2019-04-23 16:41:06
*/
@RestController
@AllArgsConstructor
@RequestMapping("/roadconditionevent")
public class RoadConditionEventController extends BaseController {
private final RoadConditionEventService roadConditionEventService;
/**
* 分页查询
* @param page 分页对象
* @param roadConditionEvent 路况事件统计
* @return
*/
@GetMapping("/page")
public R getRoadConditionEventPage(Page page, RoadConditionEvent roadConditionEvent) {
return new R<>(roadConditionEventService.page(page,Wrappers.query(roadConditionEvent)));
}
/**
*
* @description : 根据事件类型统计
* @author : Xingyuyang
* @date : 2019/4/23 0023 17:33
* @param
* @return : null
*
*/
@GetMapping("/eventtype")
public R staticByEventType(){
return new R<>(roadConditionEventService.staticByEventType());
}
/**
*
* @description : 根据影响程度统计
* @author : Xingyuyang
* @date : 2019/4/23 0023 17:33
* @param
* @return : null
*
*/
@GetMapping("/influence")
public R staticByInfluence(){
return new R<>(roadConditionEventService.staticByInfluence());
}
/**
*
* @description : 根据月份统计
* @author : Xingyuyang
* @date : 2019-4-24 10:26:49
* @param
* @return : null
*
*/
@GetMapping("/month")
public R staticByMonth(){
return new R<>(roadConditionEventService.staticByMonth());
}
/**
*
* @description : 根据路段编码统计
* @author : Xingyuyang
* @date : 2019-4-24 10:26:49
* @param
* @return : null
*
*/
@GetMapping("/roadcode")
public R staticByRoadCode(){
return new R<>(roadConditionEventService.staticByRoadCode());
}
/**
*
* @description : 根据路段编码统计
* @author : Xingyuyang
* @date : 2019-4-24 10:26:49
* @param
* @return : null
*
*/
@GetMapping("/city")
public R staticByCity(){
return new R<>(roadConditionEventService.staticByCity());
}
/**
* 通过id查询路况事件统计
* @param id id
* @return R
*/
@GetMapping("/{id}")
public R getById(@PathVariable("id") Integer id){
return new R<>(roadConditionEventService.getById(id));
}
/**
* 新增路况事件统计
* @param roadConditionEvent 路况事件统计
* @return R
*/
@SysLog("新增路况事件统计")
@PostMapping
public R save(@RequestBody RoadConditionEvent roadConditionEvent){
return new R<>(roadConditionEventService.save(roadConditionEvent));
}
/**
* 修改路况事件统计
* @param roadConditionEvent 路况事件统计
* @return R
*/
@SysLog("修改路况事件统计")
@PutMapping
public R updateById(@RequestBody RoadConditionEvent roadConditionEvent){
return new R<>(roadConditionEventService.updateById(roadConditionEvent));
}
/**
* 通过id删除路况事件统计
* @param id id
* @return R
*/
@SysLog("删除路况事件统计")
@DeleteMapping("/{id}")
public R removeById(@PathVariable Integer id){
return new R<>(roadConditionEventService.removeById(id));
}
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author: XingYuyang
* @Description:
* @Date: Created in 2019/4/23 0023 1832
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class staticByCityDto implements Serializable {
/**
* 数量
*/
private String count;
/**
* 城市
*/
private String city;
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author: XingYuyang
* @Description:
* @Date: Created in 2019/4/23 0023 1832
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class staticByEventTypeDto implements Serializable {
/**
* 数量
*/
private String count;
/**
* 事件类型
*/
private String eventType;
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author: XingYuyang
* @Description:
* @Date: Created in 2019/4/23 0023 1832
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class staticByInfluenceDto implements Serializable {
/**
* 数量
*/
private String count;
/**
* 影响程度
*/
private String influence;
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author: XingYuyang
* @Description:
* @Date: Created in 2019/4/23 0023 1832
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class staticByMonthDto implements Serializable {
/**
* 数量
*/
private String count;
/**
* 年份
*/
private String year;
/**
* 月份
*/
private String month;
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author: XingYuyang
* @Description:
* @Date: Created in 2019/4/23 0023 1832
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class staticByRoadCodeDto implements Serializable {
/**
* 数量
*/
private String count;
/**
* 路线编码
*/
private String roadcode;
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
/**
* 路况事件统计
*
* @author Xingyuyang
* @date 2019-04-23 16:41:06
*/
@Data
@TableName("road_condition_event")
@EqualsAndHashCode(callSuper = true)
public class RoadConditionEvent extends Model<RoadConditionEvent> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId
private Integer id;
/**
* 路线编码
*/
private String roadCode;
/**
* 路线名称
*/
private String roadName;
/**
* 开始桩号
*/
private String startm;
/**
* 结束桩号
*/
private String endm;
/**
* 事件类型
*/
private String eventType;
/**
* 事件标题
*/
private String eventTitle;
/**
* 事件详情
*/
private String eventContent;
/**
* 影响程度
*/
private String influence;
/**
* 压车长度
*/
private String carsLength;
/**
* 绕行方案
*/
private String solution;
/**
* 发布时间
*/
private LocalDateTime startTime;
/**
* 发布单位
*/
private String startUnit;
/**
* 发布人
*/
private String startPerson;
/**
* 预撤时间
*/
private LocalDateTime preEndTime;
/**
* 撤销时间
*/
private LocalDateTime endTime;
/**
* 撤销单位
*/
private String endUnit;
/**
* 撤销原因
*/
private String endReason;
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elephant.framework.galaxy.aroad.module.roadcondition.dto.*;
import com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent;
import java.util.List;
/**
* 路况事件统计
*
* @author Xingyuyang
* @date 2019-04-23 16:41:06
*/
public interface RoadConditionEventMapper extends BaseMapper<RoadConditionEvent> {
List<staticByEventTypeDto> staticByEventType();
List<staticByInfluenceDto> staticByInfluence();
List<staticByMonthDto> staticByMonth();
List<staticByRoadCodeDto> staticByRoadCode();
List<staticByCityDto> staticByCity();
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.elephant.framework.galaxy.aroad.module.roadcondition.dto.*;
import com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent;
import java.util.List;
/**
* 路况事件统计
*
* @author Xingyuyang
* @date 2019-04-23 16:41:06
*/
public interface RoadConditionEventService extends IService<RoadConditionEvent> {
/**
*
* @description : 根据事件类型查询
* @author : Xingyuyang
* @date : 2019/4/23 0023 17:52
* @param :
* @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
*
*/
List<staticByEventTypeDto> staticByEventType();
/**
*
* @description : 根据事件类型查询
* @author : Xingyuyang
* @date : 2019/4/23 0023 17:52
* @param :
* @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
*
*/
List<staticByInfluenceDto> staticByInfluence();
/**
*
* @description : 根据月份查询
* @author : Xingyuyang
* @date : 2019-4-24 10:28:31
* @param :
* @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
*
*/
List<staticByMonthDto> staticByMonth();
/**
*
* @description : 根据路段编码查询
* @author : Xingyuyang
* @date : 2019-4-24 10:28:31
* @param :
* @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
*
*/
List<staticByRoadCodeDto> staticByRoadCode();
/**
*
* @description : 根据城市查询
* @author : Xingyuyang
* @date : 2019/4/24 14:28
* @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByCityDto>
*
*/
List<staticByCityDto> staticByCity();
}
package com.elephant.framework.galaxy.aroad.module.roadcondition.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.elephant.framework.galaxy.aroad.module.roadcondition.dto.*;
import com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent;
import com.elephant.framework.galaxy.aroad.module.roadcondition.mapper.RoadConditionEventMapper;
import com.elephant.framework.galaxy.aroad.module.roadcondition.service.RoadConditionEventService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 路况事件统计
*
* @author Xingyuyang
* @date 2019-04-23 16:41:06
*/
@Service
public class RoadConditionEventServiceImpl
extends ServiceImpl<RoadConditionEventMapper, RoadConditionEvent>
implements RoadConditionEventService {
/**
* @description : 根据事件类型查询
* @author : Xingyuyang
* @date : 2019/4/23 0023 17:54
* @param :
* @return : null
*/
// @Cacheable(value = "staticByEventType")
public List<staticByEventTypeDto> staticByEventType() {
return baseMapper.staticByEventType();
}
/**
* @description : 根据影响程度查询
* @author : Xingyuyang
* @date : 2019/4/23 0023 17:54
* @param :
* @return : null
*/
// @Cacheable(value = "staticByInfluence")
public List<staticByInfluenceDto> staticByInfluence() {
return baseMapper.staticByInfluence();
}
/**
* @description : 根据月份查询
* @author : Xingyuyang
* @date : 2019-4-24 10:27:35
* @param :
* @return : null
*/
// @Cacheable(value = "staticByMonth")
public List<staticByMonthDto> staticByMonth() {
return baseMapper.staticByMonth();
}
/**
* @description : 根据月份查询
* @author : Xingyuyang
* @date : 2019-4-24 10:27:35
* @param :
* @return : null
*/
// @Cacheable(value = "staticByRoadCode")
public List<staticByRoadCodeDto> staticByRoadCode() {
return baseMapper.staticByRoadCode();
}
/**
*
* @description : 根据城市查询
* @author : Xingyuyang
* @date : 2019/4/24 0024 14:27
* @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByCityDto>
*
*/
public List<staticByCityDto> staticByCity(){
return baseMapper.staticByCity();
}
}
<?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.elephant.framework.galaxy.aroad.module.roadcondition.mapper.RoadConditionEventMapper">
<resultMap id="roadConditionEventMap"
type="com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent">
<id property="id" column="id"/>
<result property="roadCode" column="road_code"/>
<result property="roadName" column="road_name"/>
<result property="startm" column="startM"/>
<result property="endm" column="endM"/>
<result property="eventType" column="event_type"/>
<result property="eventTitle" column="event_title"/>
<result property="eventContent" column="event_content"/>
<result property="influence" column="influence"/>
<result property="carsLength" column="cars_length"/>
<result property="solution" column="solution"/>
<result property="startTime" column="start_time"/>
<result property="startUnit" column="start_unit"/>
<result property="startPerson" column="start_person"/>
<result property="preEndTime" column="pre_end_time"/>
<result property="endTime" column="end_time"/>
<result property="endUnit" column="end_unit"/>
<result property="endReason" column="end_reason"/>
</resultMap>
<resultMap id="staticByEventTypeMap"
type="com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByEventTypeDto">
<result property="count" column="count"/>
<result property="eventType" column="event_type"/>
</resultMap>
<resultMap id="staticByInfluenceMap"
type="com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByInfluenceDto">
<result property="count" column="count"/>
<result property="influence" column="influence"/>
</resultMap>
<resultMap id="staticByMonthMap"
type="com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByMonthDto">
<result property="count" column="count"/>
<result property="year" column="year"/>
<result property="month" column="month"/>
</resultMap>
<resultMap id="staticByRoadCodeMap"
type="com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByRoadCodeDto">
<result property="count" column="count"/>
<result property="roadcode" column="roadcode"/>
</resultMap>
<resultMap id="staticByCityMap"
type="com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByCityDto">
<result property="count" column="count"/>
<result property="city" column="city"/>
</resultMap>
<select id="staticByEventType" resultMap="staticByEventTypeMap">
SELECT count(*) as count,
event_type
FROM road_condition_event
GROUP BY event_type
</select>
<select id="staticByInfluence" resultMap="staticByInfluenceMap">
SELECT count(*) AS count,
influence
FROM road_condition_event
GROUP BY influence
</select>
<select id="staticByMonth" resultMap="staticByMonthMap">
SELECT count(*) AS count,
YEAR(start_time) AS year,
MONTH(start_time) AS month
FROM road_condition_event
GROUP BY YEAR(start_time),
MONTH(start_time)
</select>
<select id="staticByRoadCode" resultMap="staticByRoadCodeMap">
SELECT count(*) AS count,
road_code as roadcode
FROM road_condition_event
GROUP BY road_code
</select>
<select id="staticByCity" resultMap="staticByCityMap">
SELECT count(shortName) as count,
city
FROM base_organize
WHERE city IS NOT NULL
AND city != '山东'
GROUP BY city
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论