提交 bd49039e authored 作者: 马路路's avatar 马路路

订单报价-同步网络货运

上级 039c32c1
package com.clx.performance.service.broker; package com.clx.performance.service.broker;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
...@@ -9,9 +10,10 @@ import com.clx.performance.model.settle.SettlementOwnerDetail; ...@@ -9,9 +10,10 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
public interface OrderChildBrokerService { public interface OrderChildBrokerService {
void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail); SettlementDriverDetail settlementDriverDetail, OwnerQuotationDetailVO quotationDetailVO);
void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver); SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver,
OwnerQuotationDetailVO quotationDetailVO);
void orderChildDriverPay(SettlementDriverDetail settlementDriverDetail); void orderChildDriverPay(SettlementDriverDetail settlementDriverDetail);
......
package com.clx.performance.service.impl.broker; package com.clx.performance.service.impl.broker;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDao; import com.clx.performance.dao.settle.SettlementDriverDao;
...@@ -10,6 +12,7 @@ import com.clx.performance.enums.PerformanceResultEnum; ...@@ -10,6 +12,7 @@ import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementDriverDetailEnum; import com.clx.performance.enums.settle.SettlementDriverDetailEnum;
import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum; import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum; import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.extranal.order.QuotationService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
...@@ -57,6 +60,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -57,6 +60,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired @Autowired
private SettlementPostService settlementPostService; private SettlementPostService settlementPostService;
@Autowired
private QuotationService quotationService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) { public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
...@@ -104,13 +110,17 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -104,13 +110,17 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 获取最新订单报价数据
OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderChild.getOrderNo())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 更新状态 // 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode()); settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail); settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
try{ try{
// 同步broker // 同步broker
orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail); orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail, quotationDetailVO);
} catch (Exception e) { } catch (Exception e) {
log.info("同步无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e)); log.info("同步无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
} }
...@@ -146,7 +156,7 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -146,7 +156,7 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
try{ try{
// 更新broker // 更新broker
orderChildBrokerService.orderChildUpdate(orderChild, orderGoods, settlementOwnerDetail, orderChildBrokerService.orderChildUpdate(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, settlementDriver); settlementDriverDetail, settlementDriver, null);
} catch (Exception e) { } catch (Exception e) {
log.info("更新无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e)); log.info("更新无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
} }
......
...@@ -5,6 +5,7 @@ import com.clx.order.feign.OrderFeign; ...@@ -5,6 +5,7 @@ import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO; import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildImageDao; import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
...@@ -67,19 +68,20 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -67,19 +68,20 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
@Override @Override
public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail) { SettlementDriverDetail settlementDriverDetail, OwnerQuotationDetailVO quotationDetailVO) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, null); settlementDriverDetail, null, quotationDetailVO);
brokerService.orderChildSync(transportParam); brokerService.orderChildSync(transportParam);
} }
@Override @Override
public void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, public void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver) { SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver,
OwnerQuotationDetailVO quotationDetailVO) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, settlementDriver); settlementDriverDetail, settlementDriver, quotationDetailVO);
// 运单更新 // 运单更新
brokerService.orderChildUpdate(transportParam); brokerService.orderChildUpdate(transportParam);
...@@ -93,7 +95,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -93,7 +95,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
} }
private TransportParam buildParam(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, private TransportParam buildParam(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver){ SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver,
OwnerQuotationDetailVO quotationDetailVO){
String host = documentFeign.getHost().getData(); String host = documentFeign.getHost().getData();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo()); FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
...@@ -300,6 +303,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -300,6 +303,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode())? 1 : 0); SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode())? 1 : 0);
orderChildInfo.setSettleStatus(settlementDriver!=null orderChildInfo.setSettleStatus(settlementDriver!=null
&& Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.SETTLED.getCode())? 1 : 0); && Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.SETTLED.getCode())? 1 : 0);
//orderChildInfo.setInvoiceNeed(quotationDetailVO.);
transportParam.setOrder(orderInfo); transportParam.setOrder(orderInfo);
transportParam.setOrderChildImage(imageList); transportParam.setOrderChildImage(imageList);
......
...@@ -82,4 +82,10 @@ public class OpenOrderChildDTO { ...@@ -82,4 +82,10 @@ public class OpenOrderChildDTO {
@Schema(description = "结算状态 1 已结算 ", example = "1234124") @Schema(description = "结算状态 1 已结算 ", example = "1234124")
private Integer settleStatus; private Integer settleStatus;
@Schema(description = "是否需要开票配置 0:否 1:是", example = "1", required = true)
private Integer invoiceNeed;
@Schema(description = "预估运费单价(分/吨)", example = "162", required = true)
private Integer predictFreightPrice;
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论