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

Merge branch 'v30.6_order_quote_20241022' into test_jdk17

Former-commit-id: 10a606fd
......@@ -25,7 +25,7 @@ public class SettlementOrderChildRisk implements HasKey<Integer> {
private String driverMobile; // 司机手机号
private String goodsName; // 货物名称
private Integer invoiceType; // 开票标识:1网运单 2普通单
private Integer invoiceConfigType; // 开票配置:0否 2
private Integer invoiceConfigType; // 开票配置:0否 1
private LocalDateTime poundAuditTime; // 磅单审核通过时间
private Integer riskType; // 风控标识:1同步失败 2结算打回
private String riskRemark; // 风控失败原因
......
package com.clx.performance.service.impl.broker;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.feign.InvoicingCompanyFeign;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildDao;
......@@ -64,6 +66,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired
private QuotationService quotationService;
@Autowired
private InvoicingCompanyFeign invoicingCompanyFeign;
@Transactional(rollbackFor = Exception.class)
@Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
......@@ -93,8 +98,11 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark("同步无车承运异常");
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (this.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
}
}
......@@ -181,4 +189,19 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
}
/**
* 开票配置为是
*
* @param orderNo
* @return
*/
public boolean invoiceConfigType(String orderNo) {
// 调用开票配置接口
Integer invoiceConfigType = invoicingCompanyFeign.getInvoicingConfigTypeByOrderNo(orderNo).getData();
log.info("notInvoiceConfigType invoiceConfigType:{}", invoiceConfigType);
// 若开票配置为否
return Objects.nonNull(invoiceConfigType) && Objects.equals(invoiceConfigType,
QuotationEnum.InvoicingConfigType.YES.getCode());
}
}
......@@ -2,7 +2,10 @@ package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
......@@ -75,10 +78,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
// 结算金额
settlementDriverDetail.setSettlementFreight(settlementFreightCalc(settlementDriverDetail.getFreight(), settlementDriverDetail.getLossFreight()));
settlementDriverDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 平台服务费: 司机结算金额*平台服务费费率
settlementDriverDetail.setPlatformServiceFeeRate(orderChild.getPlatformServiceFeeRate()==null
? BigDecimal.ZERO
......@@ -89,8 +88,16 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
// 开票配置
Integer invoiceConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
if (Objects.nonNull(invoiceConfigType)) {
settlementDriverDetail.setInvoiceConfigType(invoiceConfigType);
settlementDriverDetail.setInvoiceConfigType(invoiceConfigType);
// 若开票配置为否,设置开票标识为普通单
if (Objects.nonNull(invoiceConfigType) && Objects.equals(invoiceConfigType, InvoicingCompanyEnum.YesAndNo.NO.getCode())) {
// 开票标识
settlementDriverDetail.setInvoiceType(InvoicingCompanyEnum.RiskProcessType.AUTO.getCode());
} else if (Objects.nonNull(invoiceConfigType) && Objects.equals(invoiceConfigType, InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementDriverDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
}
settlementDriverDetailDao.saveEntity(settlementDriverDetail);
......
......@@ -35,6 +35,7 @@ import com.clx.performance.service.PaymentService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.service.impl.broker.OrderChildBrokerMqHandlerServiceImpl;
import com.clx.performance.service.settle.*;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.RedisUtil;
......@@ -158,6 +159,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired
private SettlementPostService settlementPostService;
@Autowired
private OrderChildBrokerMqHandlerServiceImpl orderChildBrokerMqHandlerService;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -372,7 +376,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl invoiceTypeSync 当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
......@@ -485,7 +493,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl invoiceStatusSync 当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
......@@ -566,7 +579,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl payStatusSync 当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
......@@ -611,7 +629,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSettleMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
// 若开票配置为是
if (orderChildBrokerMqHandlerService.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("settlementMqHandlerServiceImpl-payStatusSync-结算状态为失败,当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
}
......
......@@ -160,11 +160,12 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
// 开票配置
Integer invoicingConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
settlementOwnerDetail.setInvoiceConfigType(invoicingConfigType);
log.info("saveSettlementDetail invoicingConfigType:{}", invoicingConfigType);
// 若开票配置为否,设置开票标识为普通单
if (Objects.nonNull(invoicingConfigType) && Objects.equals(invoicingConfigType, InvoicingCompanyEnum.YesAndNo.NO.getCode())) {
// 赋值开票标识为普通单
settlementDriverDetail.setInvoiceType(InvoicingCompanyEnum.RiskProcessType.AUTO.getCode());
// 若开票配置非空,且为是,则开票公司信息
// 若开票配置非空,且为是,则开票公司信息,开票标识为空(由后续封控系统处理)
} else if (Objects.nonNull(invoicingConfigType) && Objects.equals(invoicingConfigType, InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论