提交 b7c3c2e3 authored 作者: 胡宁宁's avatar 胡宁宁

增加承运和数煤宝优化字段

上级 3208a1fc
......@@ -184,4 +184,18 @@ public enum OrderChildEnum {
}
}
// 运单数据预计到达发货地同步一部状态
public static final List<Integer> SYNC_ARRIVE_lIST = Arrays.asList(
Status.CREATED.getCode(),
Status.GO_TO_SEND.getCode(),
Status.ARRIVE_SEND.getCode()
);
// 运单数据预计到达收货地同步一部状态
public static final List<Integer> SYNC_RECEIVE_lIST = Arrays.asList(
Status.ARRIVE_SEND.getCode(),
Status.LOAD.getCode(),
Status.GO_TO_RECEIVE.getCode(),
Status.ARRIVE_RECEIVE.getCode()
);
}
package com.clx.performance.extranal.user;
import com.clx.user.vo.feign.TruckInfoFeignVo;
import com.msl.common.base.Optional;
public interface TruckService {
Optional<TruckInfoFeignVo> getTruckInfo(Integer truckId);
}
package com.clx.performance.extranal.user.impl;
import com.clx.performance.extranal.user.TruckService;
import com.clx.user.feign.TruckFeign;
import com.clx.user.vo.feign.TruckInfoFeignVo;
import com.msl.common.base.Optional;
import com.msl.common.result.Result;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
@AllArgsConstructor
public class TruckServiceImpl implements TruckService {
private final TruckFeign truckFeign;
@Override
public Optional<TruckInfoFeignVo> getTruckInfo(Integer truckId) {
return Optional.ofNullable(truckFeign.getTruckInfo(truckId))
.filter(Result::succeed)
.map(Result::getData);
}
}
......@@ -13,14 +13,18 @@ import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.config.ThirdAppConfig;
import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dto.dts.DataTransportDTO;
import com.clx.performance.enums.DtsOperationTypeEnum;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.event.OrderChildCancelEvent;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.extranal.user.TruckService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderChildImage;
import com.clx.performance.service.LastTruckService;
import com.clx.user.vo.feign.FeignDriverTruckModelVo;
import com.clx.user.vo.feign.TruckInfoFeignVo;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.result.Result;
import com.msl.common.utils.DtsMapConvertUtil;
......@@ -32,8 +36,11 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
@Slf4j
@Component
......@@ -44,7 +51,8 @@ public class OrderChildDtsListener {
private final DriverService driverService;
private final ApplicationEventPublisher applicationEventPublisher;
private final ThirdAppConfig thirdAppConfig;
private final TruckService truckService;
private final OrderChildImageDao orderChildImageDao;
@RabbitListener(queues = RabbitKeyConstants.CLX_PERFORMANCE_ORDER_CHILD_QUEUE)
......@@ -96,6 +104,7 @@ public class OrderChildDtsListener {
if (orderInfoFeign == null) {
return;
}
String childNo = after.getChildNo();
//同步交易平台的运单
if(Objects.equals(orderInfoFeign.getOrderSource(), SyncPlatformEnum.Source.TRADE_PLATFORM.getCode())){
......@@ -104,6 +113,30 @@ public class OrderChildDtsListener {
FeignDriverTruckModelVo dumpType = driverService.getDumpType(truckModel).orElseThrow(ResultCodeEnum.FAIL);
after.setDumpType(dumpType.getDumpType());
}
//获取挂车车牌号
if(Objects.nonNull(after.getTruckId()) && after.getTruckId() >0 ){
com.msl.common.base.Optional<TruckInfoFeignVo> truckInfo = truckService.getTruckInfo(orderInfoFeign.getTruckDemand());
if(Objects.nonNull(truckInfo)){
after.setTruckNo2(truckInfo.get().getTruckNo2());
}
}
//获取磅单图片
List<OrderChildImage> imageList = orderChildImageDao.listLoadAndUnload(childNo).orElse(new ArrayList<>());
after.setLoadImageList(imageList.stream().filter(
item -> Objects.equals(item.getType(), OrderChildImage.Type.LOAD.getCode())).map(
item -> item.getImage()).collect(Collectors.toList()));
after.setUnloadImageList(imageList.stream().filter(
item -> Objects.equals(item.getType(), OrderChildImage.Type.UNLOAD.getCode())).map(
item -> item.getImage()).collect(Collectors.toList()));
/** 因为给的都预计到达时间,为了减少误差,所以限定状态后才同步预计到达时间*/
//非当前状态,预计到达发货地时间为空
if(OrderChildEnum.SYNC_ARRIVE_lIST.contains(after.getStatus())){
after.setExpectArriveTime(null);
}
//非当前状态 ,预计到达收货地时间为空
if(OrderChildEnum.SYNC_RECEIVE_lIST.contains(after.getStatus())){
after.setExpectReceiveTime(null);
}
//同步after数据
Optional<OrderChildEnum.Status> option = OrderChildEnum.Status.getByCode(after.getStatus());
String statusName = option.isPresent()?option.get().getName():"未知状态";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论