Commit 2de1e01e authored by duanruiming's avatar duanruiming

[add] 查询添加查询灯态历史接口

parent 5cc411b0
......@@ -15,6 +15,7 @@ import java.util.Date;
* @author duanruiming
* @date 2023/05/19 15:48
*/
@SuppressWarnings("all")
public interface FeignCommon {
/**
......@@ -154,4 +155,12 @@ public interface FeignCommon {
@PostMapping("/staticInfo/selectCrossSchemeOptLogByParams")
JsonViewObject selectCrossSchemeOptLogByParams(@RequestBody CrossSchemeQueryDTO crossSchemeQueryDT);
/**
* 查询utc库历史灯态
* @param crossIdDateTimeDTO
* @return
*/
@PostMapping("/signalStatus/lightStatusOneHist")
JsonViewObject selectLightStatusHist(@RequestBody CrossIdDateTimeDTO crossIdDateTimeDTO);
}
......@@ -13,6 +13,7 @@ import lombok.RequiredArgsConstructor;
import net.wanji.common.annotation.aspect.AspectLog;
import net.wanji.common.enums.BaseEnum;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.dto.CrossIdDateTimeDTO;
import net.wanji.databus.po.SignalStatusLogPO;
import net.wanji.databus.vo.LightsStatusVO;
import net.wanji.databus.vo.LightsStatusVO2;
......@@ -20,9 +21,11 @@ import net.wanji.utc.common.constant.Constants;
import net.wanji.utc.service.runninginfo.SignalStatusService;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.List;
......@@ -122,9 +125,9 @@ public class SignalStatusController {
return JsonViewObject.newInstance().success(listResult);
}
@AspectLog(description = "灯态数据历史数据", operationType = BaseEnum.OperationTypeEnum.QUERY)
@AspectLog(description = "灯态数据历史数据列表", operationType = BaseEnum.OperationTypeEnum.QUERY)
@PostMapping(value = "/lightStatusHist", produces = MediaType.APPLICATION_JSON)
@ApiOperation(value = "灯态数据历史数据", notes = "灯态数据历史数据", response = LightsStatusVO2.class,
@ApiOperation(value = "灯态数据历史数据列表", notes = "灯态数据历史数据列表", response = LightsStatusVO2.class,
produces = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = LightsStatusVO2.class)
......@@ -133,4 +136,15 @@ public class SignalStatusController {
List<LightsStatusVO2> lightsStatusVOList = signalStatusService.lightStatusHist(crossId, startBatchTime, endBatchTime);
return JsonViewObject.newInstance().success(lightsStatusVOList);
}
@AspectLog(description = "查询某一时间灯态历史数据", operationType = BaseEnum.OperationTypeEnum.QUERY)
@PostMapping(value = "/lightStatusOneHist", produces = MediaType.APPLICATION_JSON)
@ApiOperation(value = "查询某一时间灯态历史数据", notes = "查询某一时间灯态历史数据", response = LightsStatusVO2.class,
produces = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = LightsStatusVO2.class)
})
public JsonViewObject lightStatusOneHist(@RequestBody @Valid CrossIdDateTimeDTO crossIdDateTimeDTO) throws Exception {
return signalStatusService.lightStatusOneHist(crossIdDateTimeDTO);
}
}
package net.wanji.utc.service.runninginfo;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.dto.CrossIdDateTimeDTO;
import net.wanji.databus.po.SignalStatusLogPO;
import net.wanji.databus.vo.LightsStatusVO;
import net.wanji.databus.vo.LightsStatusVO2;
......@@ -25,5 +27,6 @@ public interface SignalStatusService {
List<LightsStatusVO> lightStatus4StaticScheme() throws Exception;
List<LightsStatusVO> lightStatus(String crossId) throws Exception;
List<LightsStatusVO2> lightStatusHist(String crossId, Integer batchTime, Integer endBatchTime) throws Exception;
JsonViewObject lightStatusOneHist(CrossIdDateTimeDTO crossIdDateTimeDTO) throws Exception;
}
......@@ -6,12 +6,14 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.JacksonUtils;
import net.wanji.databus.dao.entity.CrossLightsStatusHistPO;
import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.CrossLightsStatusHistMapper;
import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
import net.wanji.databus.dao.mapper.SignalStatusLogMapper;
import net.wanji.databus.dto.CrossIdDateTimeDTO;
import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.ManufacturerInfoPO;
import net.wanji.databus.po.SignalStatusLogPO;
......@@ -281,4 +283,28 @@ public class SignalStatusServiceImpl implements SignalStatusService {
throw new Exception(e);
}
}
@Override
public JsonViewObject lightStatusOneHist(CrossIdDateTimeDTO crossIdDateTimeDTO) throws Exception {
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
try {
String crossId = crossIdDateTimeDTO.getCrossId();
Date datetime = crossIdDateTimeDTO.getDatetime();
long batchTime = datetime.getTime() / 1000;
CrossLightsStatusHistPO entity = new CrossLightsStatusHistPO();
entity.setCrossId(crossId);
entity.setBatchTime((int) batchTime);
List<CrossLightsStatusHistPO> crossLightsStatusHistPOS = crossLightsStatusHistMapper.selectList(entity);
if (!CollectionUtils.isEmpty(crossLightsStatusHistPOS)) {
CrossLightsStatusHistPO crossLightsStatusHistPO = crossLightsStatusHistPOS.get(0);
jsonViewObject.success(crossLightsStatusHistPO);
} else {
jsonViewObject.success();
}
} catch (Exception e) {
log.error("历史灯态查询异常:", e);
throw new RuntimeException(e);
}
return jsonViewObject;
}
}
package net.wanji.databus.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @author duanruiming
* @date 2025/03/19 11:18
*/
@Data
@ApiModel(value = "CrossIdDateTimeDTO", description = "路口编号日期查询实体")
public class CrossIdDateTimeDTO {
@ApiModelProperty(value = "路口ID,如:13NM30B5QR0", required = true)
@NotNull(message = "crossId不可为空")
private String crossId;
@ApiModelProperty(value = "当前日期时间 yyyy-MM-dd HH:mm:ss", required = true)
@NotNull(message = "datetime不可为空")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date datetime;
}
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