提交 41f6b3e5 authored 作者: huyufan's avatar huyufan

同步运单

上级 cb5b253a
package com.clx.performance.controller.pc;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
import com.clx.performance.param.pc.ArtificialCancelOrderParam;
import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.param.pc.OrderChildCancelRecordParam;
import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.TransportSyncService;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.feign.transport.ThirdOrderChildBrokerResultVO;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.PageData;
import com.msl.common.base.PageParam;
......@@ -17,6 +29,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -32,6 +45,21 @@ public class OrderCancelController {
private final OrderCancelService orderCancelService;
@Autowired
private TransportSyncService transportSyncService;
@Autowired
private OrderChildDao orderChildDao;
@Autowired
private SettlementOwnerDetailDao settlementOwnerDetailDao;
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
private TransportFeignService transportFeignService;
@ApiOperation(value = "承运端取消订单", notes = "<br>By:胡宇帆")
@PostMapping("/platformCancelOrderPre")
public Result<Object> platformCancelOrderPre(@RequestBody OrderCancelParam param) {
......@@ -67,4 +95,19 @@ public class OrderCancelController {
IPage<OrderChildVO> page = orderCancelService.orderChildCancelRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "syncTest", notes = "<br>By:胡宇帆")
@GetMapping("/syncTest")
public Result<ThirdOrderChildBrokerResultVO> syncTest(@RequestParam String childNo) {
OrderChild orderChild = orderChildDao.getByChildNo(childNo).get();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).get();
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
ThirdOrderChildBrokerParam param = transportSyncService.generateOrderChildSync(orderChild, orderGoods, settlementOwnerDetail);
log.info("=======================生成Param{}", JSONUtil.parse(param));
Result<ThirdOrderChildBrokerResultVO> result = transportFeignService.orderChildSync(param);
return result;
}
}
......@@ -2,9 +2,10 @@ package com.clx.performance.service;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
public interface TransportSyncService {
ThirdOrderChildBrokerParam orderChildSync(OrderChild orderChild, OrderGoods orderGoods);
ThirdOrderChildBrokerParam generateOrderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail);
}
......@@ -44,18 +44,18 @@ public class TransportSyncServiceImpl implements TransportSyncService {
private final GdService gdService;
@Override
public ThirdOrderChildBrokerParam orderChildSync(OrderChild orderChild, OrderGoods orderGoods) {
public ThirdOrderChildBrokerParam generateOrderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail) {
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);
generateBaseInfo(orderChild, orderGoods, param, sendAddress, receiveAddress, orderInfoFeign, settlementOwnerDetail);
//生成货单数据
generateOrderGoods(orderGoods, orderChild, sendAddress,receiveAddress, param);
generateOrderGoods(orderGoods, orderChild, sendAddress, receiveAddress, param);
//生成车辆信息
generateTruckInfo(orderChild,param);
generateTruckInfo(orderChild, param);
List<GdRouteDTO> route = gdService.getRoute(orderGoods.getSendLongitude().setScale(4, RoundingMode.DOWN)
, orderGoods.getSendLatitude().setScale(4, RoundingMode.DOWN),
orderGoods.getReceiveLongitude().setScale(4, RoundingMode.DOWN),
......@@ -179,6 +179,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
orderGoodsDto.setArriveTime(DateUtils.formatDateTime(orderGoods.getLastArriveSendTime()).get());
param.setOrderInfoDTO(orderGoodsDto);
}
//车辆信息
public void generateTruckInfo(OrderChild orderChild, ThirdOrderChildBrokerParam param) {
TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfo(orderChild.getTruckId()).getData();
......@@ -206,7 +207,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
}
//车主信息
public void generateTruckDriverInfoDTO(DriverInfoFeignVo truckOwnerInfo,DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
public void generateTruckDriverInfoDTO(DriverInfoFeignVo truckOwnerInfo, DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildDriverInfoDTO dto = new OrderChildDriverInfoDTO();
dto.setMobile(truckOwnerInfo.getMobile());
dto.setName(truckOwnerInfo.getName());
......@@ -235,7 +236,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
}
//司机信息
public void generateDriverInfoDTO(DriverInfoFeignVo driverInfo,DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
public void generateDriverInfoDTO(DriverInfoFeignVo driverInfo, DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildDriverInfoDTO dto = new OrderChildDriverInfoDTO();
dto.setMobile(driverInfo.getMobile());
dto.setName(driverInfo.getName());
......@@ -264,7 +265,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
}
//司机银行卡
public void generateDriverBankCard(BankCardVO bankCardVO,UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
public void generateDriverBankCard(BankCardVO bankCardVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildBankInfoDTO dto = new OrderChildBankInfoDTO();
dto.setName(bankCardVO.getName());
dto.setCardNo(bankCardVO.getCardNo());
......@@ -280,7 +281,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
}
//车主银行卡
public void generateTruckDriverBankCard(BankCardVO bankCardVO,UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
public void generateTruckDriverBankCard(BankCardVO bankCardVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildBankInfoDTO dto = new OrderChildBankInfoDTO();
dto.setName(bankCardVO.getName());
dto.setCardNo(bankCardVO.getCardNo());
......@@ -295,7 +296,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
param.setTruckDriverBankInfoDTO(dto);
}
public void generateRouteList(GdRouteDTO gdRouteDTO,ThirdOrderChildBrokerParam param) {
public void generateRouteList(GdRouteDTO gdRouteDTO, ThirdOrderChildBrokerParam param) {
List<OrderChildTruckTraceDTO> list = new LinkedList<>();
for (int i = 0; i < gdRouteDTO.getPosList().size(); i++) {
if (i == 6) {
......
package com.clx.performance.service.impl.settle;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
import com.clx.performance.service.TransportSyncService;
import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.service.settle.SettlementService;
import com.clx.performance.vo.feign.transport.ThirdOrderChildBrokerResultVO;
import com.msl.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -31,6 +38,13 @@ public class SettlementServiceImpl implements SettlementService {
private SettlementDriverDetailDao settlementDriverDetailDao;
@Autowired
private SettlementMqService settlementMqService;
@Autowired
private TransportSyncService transportSyncService;
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
private TransportFeignService transportFeignService;
@Override
......@@ -53,8 +67,11 @@ public class SettlementServiceImpl implements SettlementService {
invoiceType = SettlementOwnerEnum.InvoiceType.ORDINARY.getCode();
settlementDriverDetail.setPrepayFreightFlag(0);
} else {
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).get();
//是否通过风控,调用网络货运
ThirdOrderChildBrokerParam param = transportSyncService.generateOrderChildSync(orderChild, orderGoods, settlementOwnerDetail);
Result<ThirdOrderChildBrokerResultVO> result = transportFeignService.orderChildSync(param);
System.out.println(result);
if (SettlementOwnerEnum.InvoiceType.ONLINE.getCode().equals(invoiceType) && settlementOwnerDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
settlementDriverDetail.setPrepayFreightFlag(1);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论