Commit 2234ed09 authored by Zheng Yi Fan's avatar Zheng Yi Fan

监测详情-干线事件详情-干线问题描述

parent bf4d41b5
......@@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.opt.po.base.EventStatisticPo;
import net.wanji.opt.servicev2.TrendServiceV2;
import net.wanji.opt.servicev2.TrunkLineService;
import net.wanji.opt.servicev2.TrunkLineStatusDisService;
import net.wanji.opt.vo2.*;
import org.springframework.web.bind.annotation.*;
......@@ -26,6 +27,8 @@ import java.util.stream.Collectors;
public class TrunkLineController {
@Resource
private TrunkLineStatusDisService trunkLineStatusDisService;
@Resource
private TrunkLineService trunkLineService;
@GetMapping("/statusDisInfoList")
@ApiOperation(httpMethod="GET",value="干线数据", notes="")
......@@ -51,4 +54,21 @@ public class TrunkLineController {
return JsonViewObject.newInstance().fail("请求失败");
}
}
@GetMapping("/problemDescribe")
@ApiOperation(httpMethod="GET",value="干线问题描述", notes="干线问题描述", response = JsonViewObject.class)
@ApiResponses({
@ApiResponse(code = 200, message = "成功", response = TrunkLineProblemDescribeVO.class,
responseHeaders = {@ResponseHeader(name = "Content-Type", description = "application/json")})
})
public JsonViewObject problemDescribe() {
try {
JsonViewObject object = JsonViewObject.newInstance();
List<TrunkLineProblemDescribeVO> list = trunkLineService.getTrunkLineProblemDescribe();
return object.success(list);
} catch (Exception e) {
log.error("监测详情-干线详情-干线问题描述: ", e);
return JsonViewObject.newInstance().fail("干线问题描述查询失败");
}
}
}
package net.wanji.opt.dao.mapper;
import net.wanji.opt.synthesis.pojo.TrunkLineProblemDescribeEntity;
import java.util.List;
/**
* <p>
* 监测详情-干线详情
* </p>
* @author zhengyifan
* @date 2025/3/16
*/
public interface TrunkLineMapper{
/**
* 获取干线问题描述
* @return
*/
List<TrunkLineProblemDescribeEntity> getTrunkLineProblemDescribe();
}
package net.wanji.opt.servicev2;
import net.wanji.opt.vo2.TrunkLineProblemDescribeVO;
import java.util.List;
/**
* 监测详情-干线事件
* @author zhengyifan
* @date 2025/3/16
*/
public interface TrunkLineService {
/**
* 获取干线事件描述
* @return
*/
List<TrunkLineProblemDescribeVO> getTrunkLineProblemDescribe();
}
package net.wanji.opt.servicev2.implv2;
import lombok.extern.slf4j.Slf4j;
import net.wanji.opt.dao.mapper.TrunkLineMapper;
import net.wanji.opt.servicev2.TrunkLineService;
import net.wanji.opt.synthesis.pojo.TrunkLineProblemDescribeEntity;
import net.wanji.opt.vo2.TrunkLineProblemDescribeVO;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
@Service
@Slf4j
public class TrunkLineImpl implements TrunkLineService {
@Resource
private TrunkLineMapper trunkLineMapper;
@Override
public List<TrunkLineProblemDescribeVO> getTrunkLineProblemDescribe() {
List<TrunkLineProblemDescribeEntity> list = trunkLineMapper.getTrunkLineProblemDescribe();
List<TrunkLineProblemDescribeVO> result = new ArrayList<>();
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < list.size(); i+=2) {
TrunkLineProblemDescribeVO vo = getTrunkLineProblemDescribeVO(list, i);
result.add(vo);
}
return result;
}
@NotNull
private static TrunkLineProblemDescribeVO getTrunkLineProblemDescribeVO(List<TrunkLineProblemDescribeEntity> list, int i) {
TrunkLineProblemDescribeVO vo = new TrunkLineProblemDescribeVO();
TrunkLineProblemDescribeEntity e = list.get(i);
TrunkLineProblemDescribeEntity e2= list.get(i +1);
vo.setGreenID(e.getGreenID());
vo.setTime(e.getTime());
vo.setStatus(e.getStatus());
vo.setDir(e.getDir());
vo.setStatusCN(e.getStatusCN());
vo.setDir2(e2.getDir());
vo.setStatus2(e.getStatus());
vo.setStatusCN2(e.getStatusCN());
return vo;
}
}
package net.wanji.opt.synthesis.pojo;
import lombok.Data;
@Data
public class TrunkLineProblemDescribeEntity {
private Integer greenID;
private String time;
private Integer status;
private String dir;
private String statusCN;
}
package net.wanji.opt.vo2;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "TrunkLineProblemDescribeVO", description = "监测详情-干线详情-问题描述")
public class TrunkLineProblemDescribeVO {
@ApiModelProperty(value = "greenID")
private Integer greenID;
@ApiModelProperty(value = "时间")
private String time;
@ApiModelProperty(value = "方向")
private String dir;
@ApiModelProperty(value = "状态")
private Integer status;
@ApiModelProperty(value = "状态中文")
private String statusCN;
@ApiModelProperty(value = "方向2")
private String dir2;
@ApiModelProperty(value = "状态2")
private Integer status2;
@ApiModelProperty(value = "状态中文2")
private String statusCN2;
}
<?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="net.wanji.opt.dao.mapper.TrunkLineMapper">
<resultMap id="tlProblemDescribe" type="net.wanji.opt.synthesis.pojo.TrunkLineProblemDescribeEntity">
<id column="greenID" property="greenID"/>
<result column="time" property="time" />
<result column="status" property="status"/>
<result column="dir" property="dir"/>
<result column="status_cn" property="statusCN"/>
</resultMap>
<select id="getTrunkLineProblemDescribe" resultMap="tlProblemDescribe">
select
a.green_id greenID,
max(a.start_time) time,
a.status,
a.road_direction dir,
(
case
a.status
when 1 then '畅通'
when 2 then '缓行'
when 3 then '拥堵'
when 4 then '严重拥堵'
when 5 then '未知'
end
) status_cn
from
t_greenwave_hist a
group by
a.green_id,
a.road_direction
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment