提交 d788084d authored 作者: huyufan's avatar huyufan

同步网络货运

上级 9e349d18
package com.clx.performance.service;
public interface TransportSyncService {
}
package com.clx.performance.service.impl;
import com.clx.order.feign.AddressFeign;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderChildImage;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.feign.transport.OrderChildDriverInfoDTO;
import com.clx.performance.param.feign.transport.OrderChildTruckInfoDTO;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
import com.clx.performance.param.feign.transport.ThirdOrderInfoDTO;
import com.clx.performance.service.TransportSyncService;
import com.clx.user.feign.DriverFeign;
import com.clx.user.feign.TruckFeign;
import com.clx.user.vo.feign.*;
import com.msl.common.base.Optional;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Slf4j
@AllArgsConstructor
public class TransportSyncServiceImpl implements TransportSyncService {
private final OrderChildImageDao orderChildImageDao;
private final AddressFeign addressFeign;
private final OrderFeign orderFeign;
private final TruckFeign truckFeign;
private final DriverFeign driverFeign;
public ThirdOrderChildBrokerParam orderChildSync(OrderChild orderChild, OrderGoods orderGoods) {
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
ThirdOrderChildBrokerParam param = new ThirdOrderChildBrokerParam();
FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData();
FeignAddressVO.Address receiveAddress = data.getReceiveAddress();
FeignAddressVO.Address sendAddress = data.getSendAddress();
//生成基础参数
generateBaseInfo(orderChild, orderGoods, param,sendAddress,receiveAddress, orderInfoFeign);
//生成货单数据
generateOrderGoods(orderGoods, orderChild, sendAddress,receiveAddress, param);
//生成车辆信息
generateTruckInfo(orderChild,param);
SyncOrderChildVO syncOrderChildVO = driverFeign.getSyncOrderChild(orderChild.getDriverUserNo(), orderChild.getTruckOwnUserNo()).getData();
DriverInfoFeignVo truckOwnerInfo = syncOrderChildVO.getTruckOwnerInfo();
return param;
}
private void generateBaseInfo(OrderChild orderChild, OrderGoods orderGoods, ThirdOrderChildBrokerParam param,
FeignAddressVO.Address sendAddress,
FeignAddressVO.Address receiveAddress, FeignOrderVO orderInfoFeign) {
param.setOrderNo(orderChild.getOrderNo());
param.setChildNo(orderChild.getChildNo());
param.setTruckNo(orderChild.getTruckNo());
param.setFreightPrice(Integer.valueOf(orderChild.getFreightPrice().toString()));
param.setFreight(Integer.valueOf(orderChild.getFreight().toString()));
param.setSendAddress(orderGoods.getSendAddressShorter());
param.setSendProvince(sendAddress.getProvince());
param.setSendCity(sendAddress.getCity());
param.setSendCounty(sendAddress.getCounty());
param.setSendTown(sendAddress.getTown());
param.setSendName(sendAddress.getContact());
param.setSendMobile(sendAddress.getContactPhone());
param.setReceiveAddress(orderChild.getReceiveAddress());
param.setReceiveProvince(receiveAddress.getProvince());
param.setReceiveCity(receiveAddress.getCity());
param.setReceiveCounty(receiveAddress.getCounty());
param.setReceiveTown(receiveAddress.getTown());
param.setReceiveName(receiveAddress.getContact());
param.setReceiveMobile(receiveAddress.getContactPhone());
param.setLoadLongitude(orderGoods.getSendLongitude().toString());
param.setLoadLatitude(orderGoods.getSendLatitude().toString());
param.setUnloadLongitude(orderGoods.getReceiveLongitude().toString());
param.setUnloadLatitude(orderGoods.getReceiveLatitude().toString());
param.setPayTime(orderChild.getPayTime().toString());
param.setLoadTime(orderChild.getLoadTime().toString());
param.setUnloadTime(orderChild.getUnloadTime().toString());
param.setPayFinishedTime(orderChild.getFinishTime().toString());
param.setReceiveNet(orderChild.getUnloadNet());
param.setGoodsName(orderChild.getGoodsName());
param.setAdvanceType(0);
param.setGoodsPrice(Integer.valueOf(orderChild.getOrderFreightPrice().toString()));
param.setInvoiceRelationNo(orderInfoFeign.getContactPhoneOwner());
Optional<List<OrderChildImage>> listOptional = orderChildImageDao.listLoadAndUnload(orderChild.getChildNo());
if (listOptional.isPresent()) {
List<OrderChildImage> orderChildImages = listOptional.get();
List<String> loadPoundImages = orderChildImages.stream().filter(i -> {
return i.getType().equals(1);
}
).map(OrderChildImage::getImage).collect(Collectors.toList());
List<String> unLoadPoundImages = orderChildImages.stream().filter(i -> {
return i.getType().equals(2);
}
).map(OrderChildImage::getImage).collect(Collectors.toList());
param.setLoadPoundImages(loadPoundImages);
param.setUnLoadPoundImages(unLoadPoundImages);
}
}
//处理货单数据
private void generateOrderGoods(OrderGoods orderGoods, OrderChild orderChild, FeignAddressVO.Address sendAddress,
FeignAddressVO.Address receiveAddress, ThirdOrderChildBrokerParam param) {
ThirdOrderInfoDTO orderGoodsDto = new ThirdOrderInfoDTO();
orderGoodsDto.setOrderNo(orderGoods.getOrderGoodsNo());
orderGoodsDto.setGoodsName(orderGoods.getGoodsName());
orderGoodsDto.setSendProvince(sendAddress.getProvince());
orderGoodsDto.setSendCity(sendAddress.getCity());
orderGoodsDto.setSendCounty(sendAddress.getCounty());
orderGoodsDto.setSendTown(sendAddress.getTown());
orderGoodsDto.setSendAddress(sendAddress.getAddress());
orderGoodsDto.setSendName(sendAddress.getContact());
orderGoodsDto.setSendMobile(sendAddress.getContactPhone());
orderGoodsDto.setLoadLongitude(orderGoods.getSendLongitude().toString());
orderGoodsDto.setLoadLatitude(orderGoods.getSendLatitude().toString());
orderGoodsDto.setReceiveAddress(orderChild.getReceiveAddress());
orderGoodsDto.setReceiveProvince(receiveAddress.getProvince());
orderGoodsDto.setReceiveCity(receiveAddress.getCity());
orderGoodsDto.setReceiveCounty(receiveAddress.getCounty());
orderGoodsDto.setReceiveTown(receiveAddress.getTown());
orderGoodsDto.setReceiveName(receiveAddress.getContact());
orderGoodsDto.setReceiveMobile(receiveAddress.getContactPhone());
orderGoodsDto.setUnloadLongitude(orderGoods.getReceiveLongitude().toString());
orderGoodsDto.setUnloadLatitude(orderGoods.getReceiveLatitude().toString());
orderGoodsDto.setGoodsPrice(Integer.valueOf(orderChild.getOrderFreightPrice().toString()));
orderGoodsDto.setTransPrice(Integer.valueOf(orderChild.getFreightPrice().toString()));
orderGoodsDto.setGoodsAmount(orderGoods.getExtractWeight());
orderGoodsDto.setExtractTime(orderGoods.getLastLoadTime().toString());
orderGoodsDto.setArriveTime(orderGoods.getLastArriveSendTime().toString());
param.setOrderInfoDTO(orderGoodsDto);
}
//车辆信息
public void generateTruckInfo(OrderChild orderChild, ThirdOrderChildBrokerParam param) {
TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfo(orderChild.getTruckId()).getData();
OrderChildTruckInfoDTO truckInfoDTO = new OrderChildTruckInfoDTO();
DriverInfoFeignVo ownerInfo = driverFeign.getDriverInfo(orderChild.getOwnerUserNo()).getData();
truckInfoDTO.setMobile(ownerInfo.getMobile());
truckInfoDTO.setTruckNo(orderChild.getTruckNo());
truckInfoDTO.setTruckNoColor(truckInfoFeignVo.getTruckNoColor());
truckInfoDTO.setModel(truckInfoFeignVo.getModel());
truckInfoDTO.setLoad(truckInfoFeignVo.getLoad());
truckInfoDTO.setGrossMass(Integer.valueOf(truckInfoFeignVo.getGrossMass().toString()));
truckInfoDTO.setRoadTransportCertificateNo(truckInfoFeignVo.getRoadTransportCertificateNo());
truckInfoDTO.setLicenceImgMain(truckInfoFeignVo.getLicenceImgMain());
truckInfoDTO.setLicenceImgSecond(truckInfoFeignVo.getLicenceImgSecond2());
truckInfoDTO.setLicenceImgSecondBack(truckInfoFeignVo.getLicenceImgSecondBack());
truckInfoDTO.setTransportLicenceImg(truckInfoFeignVo.getTransportLicenceImg());
truckInfoDTO.setPowerType(Integer.valueOf(truckInfoFeignVo.getPowerType()));
truckInfoDTO.setUseNature(truckInfoFeignVo.getUseNature());
truckInfoDTO.setIdentifyCode(truckInfoFeignVo.getIdentifyCode());
truckInfoDTO.setLicenceIssueOrganization(truckInfoFeignVo.getLicenceIssueOrganization());
truckInfoDTO.setRegisterDate(truckInfoFeignVo.getRegisterDate().toString());
truckInfoDTO.setLicenceIssueDate(truckInfoFeignVo.getLicenceIssueDate().toString());
truckInfoDTO.setDrivingLicenseEndTime(truckInfoFeignVo.getLicenceImgMainEndTime().toString());
param.setTruckInfoDTO(truckInfoDTO);
}
public void generateTruckDriverInfoDTO(DriverInfoFeignVo truckOwnerInfo,DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildDriverInfoDTO dto = new OrderChildDriverInfoDTO();
dto.setMobile(truckOwnerInfo.getMobile());
dto.setName(truckOwnerInfo.getName());
dto.setSex(idCardVO.getSex());
dto.setHeadImg(truckOwnerInfo.getHeadImg());
dto.setWalletCode(truckOwnerInfo.getWalletCode() + "");
dto.setCardNo(idCardVO.getCardNo());
dto.setCardStartTime(idCardVO.getCardStartTime());
dto.setCardEndTime(idCardVO.getCardEndTime());
dto.setCardLongTerm(idCardVO.getCardLongTerm());
dto.setCardFrontImg(idCardVO.getCardFaceImg());
dto.setCardBackImg(idCardVO.getCardBackImg());
dto.setFaceCardImg(idCardVO.getCardFaceImg());
dto.setLicenceNo(licenceVO.getLicenceNo());
dto.setLicenseTime(licenceVO.getLicenceTime().toString());
dto.setLicenceClass(licenceVO.getLicenceClass());
dto.setLicenceImg(licenceVO.getLicenceImg());
dto.setLicenceBackImg(licenceVO.getLicenceBackImg());
dto.setLicenceStartTime(licenceVO.getLicenceStartTime().toString());
dto.setLicenceEndTime(licenceVO.getLicenceEndTime().toString());
param.setTruckDriverInfoDTO(dto);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论