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

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

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