Commit 4853d9f3 authored by hanbing's avatar hanbing

运行状态、告警、灯态信息接口添加返回值

parent fdb24121
package net.wanji.utc.controller;
/**
* @author Kent HAN
* @date 2022/12/1 15:07
*/
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.RequiredArgsConstructor;
import net.wanji.utc.entity.JsonViewObject;
import net.wanji.utc.po.SignalStatusLogPO;
import net.wanji.utc.service.runninginfo.SignalStatusService;
import net.wanji.utc.vo.LightsStatusVO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.ws.rs.core.MediaType;
import java.util.List;
/**
* 运行状态、告警、灯态信息接口
*
* @date 2022/11/15 9:38
*/
@Api(value = "运行状态、告警、灯态信息接口", description = "运行状态、告警、灯态信息接口")
@RequestMapping("/signalStatus")
@RestController
@RequiredArgsConstructor
public class SignalStatusController {
private final SignalStatusService signalStatusService;
@PostMapping(value = "/runningStatusAlarm", produces = MediaType.APPLICATION_JSON)
@ApiOperation(value = "运行状态、告警数据", notes = "运行状态、告警数据", response = SignalStatusLogPO.class,
produces = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = SignalStatusLogPO.class)
})
public JsonViewObject runningStatusAlarm() {
List<SignalStatusLogPO> signalStatusLogPOList = signalStatusService.runningStatusAlarm();
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
return jsonViewObject.success(signalStatusLogPOList);
}
@PostMapping(value = "/lightStatus", produces = MediaType.APPLICATION_JSON)
@ApiOperation(value = "灯态数据", notes = "灯态数据", response = LightsStatusVO.class,
produces = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = LightsStatusVO.class)
})
public JsonViewObject lightStatus() {
List<LightsStatusVO> lightsStatusVOList = signalStatusService.lightStatus();
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
return jsonViewObject.success(lightsStatusVOList);
}
}
......@@ -14,10 +14,8 @@ import net.wanji.utc.dto.SchemePhaseLightsDTO;
import net.wanji.utc.vo.PlanSectionVO;
import net.wanji.utc.vo.SchemePhaseLightsVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.MediaType;
import java.util.List;
......
package net.wanji.utc.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Kent HAN
* @date 2022/11/15 9:57
*/
@Data
@ApiModel(value = "TelesemeCodeDTO", description = "信号机编号")
public class TelesemeCodeDTO {
@ApiModelProperty(value = "信号机编号")
String telesemeCode;
}
......@@ -12,21 +12,21 @@ import java.util.Date;
@Data
public class SignalStatusLogPO {
/** 日志ID */
@ApiModelProperty(name = "日志ID",notes = "")
@ApiModelProperty(value = "日志ID",notes = "")
private Integer id ;
/** 信号机ID */
@ApiModelProperty(name = "信号机ID",notes = "")
@ApiModelProperty(value = "信号机ID",notes = "")
private String signalId ;
/** 信号状态:0离线;1在线 */
@ApiModelProperty(name = "信号状态:0离线;1在线",notes = "")
@ApiModelProperty(value = "信号状态:0离线;1在线",notes = "")
private Integer status ;
/** 故障类型:0正常;1检测器故障;2时钟故障;3电源故障;4驱动模块故障;5信号灯故障;6箱门开启;7方案错误;8绿冲突;9红全熄;10行人红熄; */
@ApiModelProperty(name = "故障类型:0正常;1检测器故障;2时钟故障;3电源故障;4驱动模块故障;5信号灯故障;6箱门开启;7方案错误;8绿冲突;9红全熄;10行人红熄;",notes = "")
@ApiModelProperty(value = "故障类型:0正常;1检测器故障;2时钟故障;3电源故障;4驱动模块故障;5信号灯故障;6箱门开启;7方案错误;8绿冲突;9红全熄;10行人红熄;",notes = "")
private Integer faultType ;
/** 控制类型:1时间表;2全红;3黄闪;4锁定;5中心优化;6MEC优化;7现场手动 */
@ApiModelProperty(name = "控制类型:1时间表;2全红;3黄闪;4锁定;5中心优化;6MEC优化;7现场手动",notes = "")
@ApiModelProperty(value = "控制类型:1时间表;2全红;3黄闪;4锁定;5中心优化;6MEC优化;7现场手动",notes = "")
private Integer controlType ;
/** 创建时间 */
@ApiModelProperty(name = "创建时间",notes = "")
@ApiModelProperty(value = "创建时间",notes = "")
private Date gmtCreate ;
}
package net.wanji.utc.service.runninginfo;
import net.wanji.utc.po.SignalStatusLogPO;
import net.wanji.utc.vo.LightsStatusVO;
import java.util.List;
/**
* @author Kent HAN
* @date 2022/11/21 9:09
*/
public interface SignalStatusService {
void runningStatusAlarm();
List<SignalStatusLogPO> runningStatusAlarm();
void lightStatus();
List<LightsStatusVO> lightStatus();
}
......@@ -41,7 +41,8 @@ public class SignalStatusServiceImpl implements SignalStatusService {
SignalStatusLogMapper signalStatusLogMapper;
@Override
public void runningStatusAlarm() {
public List<SignalStatusLogPO> runningStatusAlarm() {
List<SignalStatusLogPO> resList = new ArrayList<>();
BasicEnum.ManufacturerEnum[] manufacturerEnums = BasicEnum.ManufacturerEnum.values();
for (BasicEnum.ManufacturerEnum manufacturerEnum : manufacturerEnums) {
List<BaseCrossInfo> baseCrossInfoList = getBaseCrossInfoList(manufacturerEnum);
......@@ -53,12 +54,6 @@ public class SignalStatusServiceImpl implements SignalStatusService {
signalStatusLogPOList = hkRunningStatusService.getHkRunningStatus(baseCrossInfoList);
} else {
// todo 其他厂商
// ParamEntity<List<BaseSignal>> param = new ParamEntity<>();
// param.setDatacontent(baseSignals);
// param.setSourcetype(vendorTypeEnum.getNick());
// param.setSystemtype(Const.SYSTEM_TYPE);
// param.setUpdatetime(new Date());
// statusVos = signalRunService.queryRunState(param).getDatacontent();
}
// 更新Redis
if (null != signalStatusLogPOList) {
......@@ -71,13 +66,16 @@ public class SignalStatusServiceImpl implements SignalStatusService {
// 更新日志数据库
if (ListUtil.isNotEmpty(signalStatusLogPOList)) {
signalStatusLogMapper.insertBatch(signalStatusLogPOList);
resList.addAll(signalStatusLogPOList);
}
}
}
return resList;
}
@Override
public void lightStatus() {
public List<LightsStatusVO> lightStatus() {
List<LightsStatusVO> resList = new ArrayList<>();
BasicEnum.ManufacturerEnum[] manufacturerEnums = BasicEnum.ManufacturerEnum.values();
for (BasicEnum.ManufacturerEnum manufacturerEnum : manufacturerEnums) {
List<BaseCrossInfo> baseCrossInfoList = getBaseCrossInfoList(manufacturerEnum);
......@@ -98,8 +96,10 @@ public class SignalStatusServiceImpl implements SignalStatusService {
redisUtil.setHash(RedisKeyConst.KEY_PREFIX + RedisKeyConst.LIGHTS_STATUS, field,
JSON.toJSONString(lightsStatusVO));
}
resList.addAll(lightsStatusVOList);
}
}
return resList;
}
private List<BaseCrossInfo> getBaseCrossInfoList(BasicEnum.ManufacturerEnum manufacturerEnum) {
......
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