Commit 75d367da authored by 董国亮's avatar 董国亮

修订接口

parent 05ff1191
......@@ -167,6 +167,7 @@ public class GreenwaveInducesHistController {
if (Objects.nonNull(greenwaveInfoByGreenId) && greenwaveInfoByGreenId.size() > 0) {
greenwaveInducesDTO.setGreenName(greenwaveInfoByGreenId.get(0).getName());
greenwaveInducesDTO.setDesignSpeed(greenwaveInfoByGreenId.get(0).getDesignSpeed());
greenwaveInducesDTO.setWkt(greenwaveInfoByGreenId.get(0).getWkt());
}
greenwaveInducesDTO.setStatus(o.getStatus());
greenwaveInducesDTO.setStrategyId(o.getStrategyId());
......
......@@ -28,6 +28,7 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Api(value = "InduceSendController", description = "诱导屏-下发消息接口(对接易华录)")
@RestController
......@@ -101,9 +102,10 @@ public class InduceSendController {
// 根据 equipCode 获取文件名
LambdaQueryWrapper<InduceHist> InduceHistQueryWrapper = new LambdaQueryWrapper<>();
InduceHistQueryWrapper.eq(InduceHist::getEquipCode, equipCode);
InduceHistQueryWrapper.orderByDesc(InduceHist::getCreateTime);
InduceHistQueryWrapper.orderByAsc(InduceHist::getCreateTime);
// InduceHist pictureFile=this.induceHistService.getOne(InduceHistQueryWrapper);
InduceHist pictureFile = this.induceHistService.getOne(InduceHistQueryWrapper,false);
if (pictureFile == null) {
if (Objects.isNull(pictureFile) && pictureFile.getFilePath() == null) {
return ResponseEntity.status(HttpStatus.OK)
.body("无效的文件ID".getBytes(StandardCharsets.UTF_8));
}
......
......@@ -46,5 +46,8 @@ public class GreenwaveInducesDTO {
@ApiModelProperty(name = "诱导屏列表")
private List<InduceDTO> induceList;
@ApiModelProperty(name = "绿波带坐标")
private String wkt;
}
......@@ -70,10 +70,14 @@ public class InduceSendServiceImpl implements InduceSendService {
@Value("${spring.rabbitmq.queue-name}")
private String queueName;
/**
* 是否下发屏幕
*/
@Value("${spring.rabbitmq.sending}")
private Boolean sending=false;
private FTPClient ftpClient;
@Override
public void send(MessageParam param) throws IOException, TemplateException {
//生成诱导屏推送sourceId
......@@ -88,9 +92,11 @@ public class InduceSendServiceImpl implements InduceSendService {
LambdaQueryWrapper<DeviceInduces> deviceQueryWrapper = new LambdaQueryWrapper<>();
deviceQueryWrapper.eq(DeviceInduces::getEquipCode, induceTemplate.getEquipCode());
DeviceInduces deviceInduces = deviceInducesService.getOne(deviceQueryWrapper);
if(Objects.nonNull(deviceInduces)) {
param.setResolutionWidth(deviceInduces.getResolutionWidth().intValue());
param.setResolutionHeight(deviceInduces.getResolutionHeight().intValue());
}
}
// 获取图片字节数组
byte[] imageBytes = induceTemplate.getFileContent();
if (imageBytes != null || imageBytes.length > 0) {
......@@ -107,7 +113,9 @@ public class InduceSendServiceImpl implements InduceSendService {
String filePath = uploadFile(image,dirName, fileName);
param.setFtpPath(filePath);
induceHist.setFilePath(PATH + dirName+"/"+fileName);
greenwaveinduces.setSourceId(PATH + dirName+"/"+fileName);
if(Objects.nonNull(greenwaveinduces)) {
greenwaveinduces.setSourceId(PATH + dirName + "/" + fileName);
}
}
log.info("上传文件至ftp-filePath:{}", param.getFtpPath());
// //如果已发布,则调用下屏服务
......@@ -138,18 +146,22 @@ public class InduceSendServiceImpl implements InduceSendService {
// messageProperties.setContentType("text/plain"); // 设置内容类型为text/plain
// 创建Message并设置内容
// Message messageSend = new Message(message.getBytes(), messageProperties);
//rabbitTemplate.convertAndSend("",queueName, message);
if(sending) {
rabbitTemplate.convertAndSend("", queueName, message);
}
log.info("mqtt发送信息-topic:{},queueName:{},message:{}", queueName, message);
//1、增加下发记录log 2、计数 3、标记已发布状体
induceHist.setEquipCode(induceTemplate.getEquipCode());
induceHist.setGreenId(param.getGreenId());
induceHistService.save(induceHist);
//保存诱导状态信息
greenwaveinduces.setInducesCount(Objects.isNull(greenwaveinduces.getInducesCount()) ? 0 : greenwaveinduces.getInducesCount()+1);
if(Objects.nonNull(greenwaveinduces)) {
greenwaveinduces.setInducesCount(Objects.isNull(greenwaveinduces.getInducesCount()) ? 0 : greenwaveinduces.getInducesCount() + 1);
greenwaveinduces.setStatus(1);
greenwaveInducesService.saveOrUpdate(greenwaveinduces);
}
}
}
@Override
public String uploadFile(BufferedImage image,String directoryName, String fileName) {
......
......@@ -81,7 +81,7 @@ public class InducesMonitorTask {
* #绿波调度计划扫描周期
* 5 分钟 300000
*/
//@Scheduled(fixedRate = 30000)
//@Scheduled(fixedRate = 300000)
public void refresh() throws Exception {
long start = System.currentTimeMillis();
AtomicLong synCount = new AtomicLong();
......@@ -200,7 +200,8 @@ public class InducesMonitorTask {
messageParam.setEquipCode(v.getEquipCode());
messageParam.setSourceId(v.getSourceId());
messageParam.setType("TFMH");
//induceSendService.send(messageParam);//临时屏蔽此处功能,因为上屏的时候可以设置生效时间
//屏蔽此处功能,因为上屏的时候可以设置生效时间
//induceSendService.send(messageParam);
log.info("发送下屏信息成功.");
});
}
......@@ -208,7 +209,7 @@ public class InducesMonitorTask {
log.error("发送下屏信息失败");
}
//保存绿波状态
n.setStatus(0);
//n.setStatus(0);
//greenwaveInducesHistService.saveOrUpdate(n);
log.info("同步绿波状态信息(下屏)->" + o.getPlanName());
synCount.getAndIncrement();
......
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