提交 8c3102ef authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v15.4_truck_fleet_20240513' into test

# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/trace/TruckTraceMqServiceImpl.java # performance-web/src/main/java/com/clx/performance/service/trace/TruckTraceMqService.java
package com.clx.performance.job.trace;
import com.clx.performance.service.trace.TruckTraceMqService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.user.feign.UserClxFeign;
import com.msl.common.job.JobLog;
import com.msl.common.result.Result;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Component
@AllArgsConstructor
public class PlatTruckTraceJob {
private final UserClxFeign userClxFeign;
private final TruckTraceMqService truckTraceMqService;
/**
* 车辆轨迹同步
*/
@XxlJob("platTruckTraceSync")
public void platTruckTraceSync() {
try {
Result<List<String>> result = userClxFeign.getPlatformTruckList();
if(result.succeed()){
log.info("平台车辆轨迹同步, size:{}", result.getData().size());
for (String truckNo : result.getData()) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime beginTime = now.minusSeconds(600);
// 发送mq (同步车辆轨迹)
truckTraceMqService.truckTracSync( truckNo, LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(now));
}
}
} catch (Exception e) {
log.warn("平台车辆轨迹同步失败,异常原因:{}", ExceptionUtils.getStackTrace(e));
JobLog.error("平台车辆轨迹同步失败,异常原因=====================", e);
}
}
}
...@@ -33,4 +33,17 @@ public class TruckTraceMqServiceImpl implements TruckTraceMqService { ...@@ -33,4 +33,17 @@ public class TruckTraceMqServiceImpl implements TruckTraceMqService {
message.getMessageProperties().setExpiration("5000"); message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyTraceConstants.DEFAULT_EXCHANGE, RabbitKeyTraceConstants.DEFAULT_DELAY_ROUTING_KEY, message); rabbitTemplate.send(RabbitKeyTraceConstants.DEFAULT_EXCHANGE, RabbitKeyTraceConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void truckTracSync(String truckNo, String beginTime, String endTime) {
TruckTraceSyncMqParam mq = new TruckTraceSyncMqParam();
mq.setTruckNo(truckNo);
mq.setBeginTime(beginTime);
mq.setEndTime(endTime);
MqDelay delay = new MqDelay<>(RabbitKeyTraceConstants.DEFAULT_EXCHANGE, RabbitKeyTraceConstants.TRUCK_TRACE_SYNC_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyTraceConstants.DEFAULT_EXCHANGE, RabbitKeyTraceConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
} }
...@@ -4,5 +4,7 @@ public interface TruckTraceMqService { ...@@ -4,5 +4,7 @@ public interface TruckTraceMqService {
void truckTracSync(String childNo, String truckNo, String beginTime, String endTime); void truckTracSync(String childNo, String truckNo, String beginTime, String endTime);
void truckTracSync( String truckNo, String beginTime, String endTime);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论