提交 409eade0 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v17.5_order_child_sync_broker_20240617' into dev

package com.clx.performance.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "settlement")
@Data
@Component
public class SettlementConfig {
// 普通单开票公司
private InvoiceCompany invoiceCompanyDefault;
@Data
public class InvoiceCompany {
String companyGroupCode;
}
}
package com.clx.performance.extranal.order;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
public interface InvoicingCompanyService {
InvoicingCompanyVO getInvoicingCompanyByGroupCode(String companyGroupCode);
}
package com.clx.performance.extranal.order.impl;
import com.clx.order.feign.InvoicingCompanyFeign;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.extranal.order.InvoicingCompanyService;
import com.msl.common.base.Optional;
import com.msl.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class InvoicingCompanyServiceImpl implements InvoicingCompanyService {
@Autowired
private InvoicingCompanyFeign invoicingCompanyFeign;
@Override
public InvoicingCompanyVO getInvoicingCompanyByGroupCode(String companyGroupCode) {
return Optional.of(invoicingCompanyFeign.getInvoicingCompanyByGroupCode(companyGroupCode))
.filter(Result::succeed)
.map(Result::getData)
.orNull();
}
}
package com.clx.performance.listener;
import cn.hutool.json.JSONUtil;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.component.IdGenerateSnowFlake;
import com.clx.performance.component.OrderChildLoanComponent;
import com.clx.performance.component.ThirdComponent;
import com.clx.performance.config.SettlementConfig;
import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dao.OrderChildSyncTransportInvoiceRecordDao;
import com.clx.performance.dao.OrderGoodsDao;
......@@ -19,7 +20,7 @@ import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementWayEnum;
import com.clx.performance.event.OwnerLoanEvent;
import com.clx.performance.event.SettlementUpdateEvent;
import com.clx.performance.extranal.order.InvoicingCompanyService;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.*;
import com.clx.performance.model.settle.SettlementDriverDetail;
......@@ -27,15 +28,11 @@ 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.NetworkDriverRunningWaterRecordService;
import com.clx.performance.service.settle.SettlementMqService;
import com.msl.common.dto.HttpDTO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component;
......@@ -73,6 +70,8 @@ public class OrderChildSyncTransportListener {
private final OrderChildSyncTransportInvoiceRecordDao orderChildSyncTransportInvoiceRecordDao;
private final ApplicationEventPublisher applicationEventPublisher;
private final InvoicingCompanyService invoicingCompanyService;
private final SettlementConfig settlementConfig;
@RabbitListener(queues = RabbitKeyConstants.ORDER_CHILD_SYNC_TRANSPORT_QUEUE)
public void onMessage(String message) {
......@@ -180,14 +179,17 @@ public class OrderChildSyncTransportListener {
}
// 如果开票标识为“普通单”时,开票费率从开票公司“五寨华祥”中获取
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompanyByGroupCode(
settlementConfig.getInvoiceCompanyDefault().getCompanyGroupCode());
//设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementOwnerDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementOwnerDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
settlementOwnerDetail.setInvoicingCompanyId(invoiceCompany.getId());
settlementOwnerDetail.setInvoicingCompanyShorterName(invoiceCompany.getCompanyShorterName());
settlementOwnerDetail.setInvoicingCompanyGroupCode(invoiceCompany.getCompanyGroupCode());
settlementDriverDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyId(invoiceCompany.getId());
settlementDriverDetail.setInvoicingCompanyShorterName(invoiceCompany.getCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(invoiceCompany.getCompanyGroupCode());
} else {
if (settlementDriverDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0) {
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论