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

修改获取中交兴路位置获取最新位置的错误代码

上级 cda49dea
......@@ -72,7 +72,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
Page<OrderChild> pageOrderChild(PageMonitorOrderChildQCParam param);
List<OrderChild> listOrderChild(List<Integer> status);
List<OrderChild> listOrderChild(List<Integer> status,LocalDateTime startTime,LocalDateTime endTime);
List<OrderChild> getOrderChildByOrderNo(String orderNo);
......@@ -199,5 +199,5 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<CancelOrderGoodsWeightDTO> statisticsCancelOrderGoodsWeight(List<String> childNos);
List<OrderChild> listBeforeUnloadOrderChild();
List<OrderChild> listBeforeUnloadOrderChild(LocalDateTime startTime,LocalDateTime endTime);
}
......@@ -361,9 +361,11 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
@Override
public List<OrderChild> listOrderChild(List<Integer> status) {
public List<OrderChild> listOrderChild(List<Integer> status,LocalDateTime startTime,LocalDateTime endTime) {
LambdaQueryWrapper<OrderChild> query = new LambdaQueryWrapper();
query.in(OrderChild :: getStatus,status);
query.ge(OrderChild :: getCreateTime,startTime);
query.le(OrderChild :: getCreateTime,endTime);
return baseMapper.selectList(query);
}
......@@ -657,9 +659,11 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
@Override
public List<OrderChild> listBeforeUnloadOrderChild() {
public List<OrderChild> listBeforeUnloadOrderChild(LocalDateTime startTime,LocalDateTime endTime) {
return list(lQrWrapper()
.lt(OrderChild :: getStatus, OrderChildEnum.Status.ARRIVE_RECEIVE.getCode())
.ge(OrderChild :: getCreateTime,startTime)
.le(OrderChild :: getCreateTime,endTime)
);
}
}
......@@ -60,7 +60,9 @@ public class PushOrderChildExpectTimeJob {
//数媒宝对应的运单进行实时预计时间推送
public void pushOrderChildExpectTime2ThirdPlatform(){
log.info("开始查询承运系统未到达目的地前的运单开始===================");
List<OrderChild> list = orderChildDao.listBeforeUnloadOrderChild();
LocalDateTime endTime = LocalDateTime.now();
LocalDateTime startTime = endTime.minusMonths(1);
List<OrderChild> list = orderChildDao.listBeforeUnloadOrderChild(startTime,endTime);
log.info("查询到承运系统未到达目的地前的运单条数:{} 条",list.size());
if(CollectionUtils.isNotEmpty(list)){
List<String> orderNoList = list.stream().map(OrderChild::getOrderNo).collect(Collectors.toList());
......@@ -75,7 +77,7 @@ public class PushOrderChildExpectTimeJob {
if(Objects.equals(orderSourceMap.get(item.getOrderNo()),SyncPlatformEnum.Source.TRADE_PLATFORM.getCode())){
List<OrderChildExpectDTO> expectList = orderChildService.getOrderChildExpect(
item.getChildNo());
if(CollectionUtils.isNotEmpty(expectList) || StringUtils.isNotBlank(expectList.get(0).getCreateTime())){
if(CollectionUtils.isEmpty(expectList) || StringUtils.isBlank(expectList.get(0).getCreateTime())){
log.info("运单号:{} 未从缓存中查询到对应的预计时间信息",item.getChildNo());
return;
}
......
......@@ -3,7 +3,6 @@ package com.clx.performance.job;
import com.alibaba.fastjson.JSON;
import com.clx.performance.constant.RedisConstants;
import com.clx.performance.dto.zjxl.TruckTraceDTO;
import com.clx.performance.service.trace.TruckTraceMqService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.user.feign.UserClxFeign;
......@@ -13,14 +12,13 @@ import com.msl.common.result.Result;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
......@@ -35,8 +33,6 @@ public class TruckTraceJob {
@Autowired
RedisTemplate redisTemplate;
@Autowired
private TruckTraceMqService truckTraceMqService;
/**
......@@ -47,7 +43,7 @@ public class TruckTraceJob {
try {
getPlatformTruckTrace();
} catch (Exception e) {
log.warn("定时任务获取平台车辆定位信息失败,异常原因:{}",e);
log.warn("定时任务获取平台车辆定位信息失败,异常原因:{}", ExceptionUtils.getStackTrace(e));
JobLog.error("定时任务获取平台车辆定位信息失败,异常原因=====================", e);
}
}
......@@ -62,7 +58,7 @@ public class TruckTraceJob {
Result<List<String>> result = userClxFeign.getPlatformTruckList();
log.info("通过clx-user服务获取平台认证成功车辆,返回结果:{}", JSON.toJSONString(result));
LocalDateTime now = LocalDateTime.now();
LocalDateTime beginTime = now.plus(-5, ChronoUnit.MINUTES);
LocalDateTime beginTime = now.minusMinutes(5);
if(Objects.equals(result.getCode(), ResultCodeEnum.SUCCESS.getCode())){
//本次拉取定位信息成功的车辆
......@@ -74,9 +70,7 @@ public class TruckTraceJob {
LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(now));
if(CollectionUtils.isNotEmpty(truckTrace)){
//排序获取最新的定位位置
truckTrace.stream().sorted(Comparator.comparing(TruckTraceDTO::getGpsTime));
TruckTraceDTO truckTraceDTO = truckTrace.get(0);
TruckTraceDTO truckTraceDTO = truckTrace.get(truckTrace.size()-1);
truckTraceDTO.setTruckNo(truckNo);
redisTemplate.opsForHash().put(RedisConstants.ZJXL_TRUCK_TRACE_LIST,truckNo,truckTraceDTO);
log.info("放入缓存成功,滚存 key:{},车牌号{}",RedisConstants.ZJXL_TRUCK_TRACE_LIST,truckNo);
......@@ -84,10 +78,12 @@ public class TruckTraceJob {
}
}
//获取上次拉取的车辆
if(redisTemplate.hasKey(RedisConstants.ZJXL_LAST_PULL_TRUCK)){
if(Objects.equals(Boolean.TRUE,redisTemplate.hasKey(RedisConstants.ZJXL_LAST_PULL_TRUCK))){
List<String> lastTimeTruck= redisTemplate.opsForList().range(RedisConstants.ZJXL_LAST_PULL_TRUCK,0,-1);//获取上次拉取的车辆列表
//上次拉取的车辆 去除掉 本次拉运的车辆 = 本次没有拉取的车辆(可能车辆过期,删除了,所以此类数据不需要在缓存中存在了)
lastTimeTruck.removeAll(pullTruckList);
if(CollectionUtils.isNotEmpty(lastTimeTruck)){
lastTimeTruck.removeAll(pullTruckList);
}
if(CollectionUtils.isNotEmpty(lastTimeTruck)){
//移除掉本次没拉运的定位信息
redisTemplate.opsForHash().delete(RedisConstants.ZJXL_TRUCK_TRACE_LIST,lastTimeTruck.toArray());
......
......@@ -2435,7 +2435,9 @@ public class OrderChildServiceImpl implements OrderChildService {
OrderChildEnum.Status.GO_TO_SEND.getCode(), OrderChildEnum.Status.ARRIVE_SEND.getCode(), OrderChildEnum.Status.LOAD.getCode(),
OrderChildEnum.Status.GO_TO_RECEIVE.getCode(), OrderChildEnum.Status.ARRIVE_RECEIVE.getCode(),
OrderChildEnum.Status.UNLOAD.getCode(), OrderChildEnum.Status.UNSETTLE.getCode());
List<OrderChild> orderChildList = orderChildDao.listOrderChild(list);
LocalDateTime endTime = LocalDateTime.now();
LocalDateTime startTime = endTime.minusMonths(1);
List<OrderChild> orderChildList = orderChildDao.listOrderChild(list,startTime,endTime);
for (OrderChild child : orderChildList) {
String childNo = child.getChildNo();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论