提交 9072e08d authored 作者: huyufan's avatar huyufan

同步结算单

上级 5071d597
package com.clx.performance.component;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.OwnerSettlementSyncParam;
import com.clx.user.feign.OwnerFeign;
import com.msl.common.dto.HttpDTO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.LinkedList;
import java.util.List;
@Component
@Slf4j
@AllArgsConstructor
public class NetworkSyncComponent {
private final TransportFeignService transportFeignService;
private final OwnerFeign ownerFeign;
public void ownerSettlementSync(SettlementOwner settlementOwner, List<SettlementOwnerDetail> settlementOwnerDetailList){
//TODO 通知网络货运做货主计费开票标识通知
OwnerSettlementSyncParam param = new OwnerSettlementSyncParam();
String mobile = ownerFeign.getOwnerInfo(settlementOwner.getOwnerUserNo()).getData().getMobile();
param.setOwnerMobile(mobile);
List<OwnerSettlementSyncParam.SettlementItem> settlementList = new LinkedList<>();
for (SettlementOwnerDetail settlementOwnerDetail : settlementOwnerDetailList) {
String childNo = settlementOwnerDetail.getChildNo();
OwnerSettlementSyncParam.SettlementItem item = new OwnerSettlementSyncParam.SettlementItem();
item.setChildNo(childNo);
item.setSettlementNo(settlementOwnerDetail.getSettlementNo());
settlementList.add(item);
}
param.setSettlementList(settlementList);
HttpDTO httpDTO = transportFeignService.ownerSettlementSync(param);
String decrypt = ThirdComponent.decrypt(httpDTO.getData());
log.info("通知网络货运做货主计费开票标识通知请求解密后:{}", decrypt);
}
}
......@@ -3,7 +3,7 @@ package com.clx.performance.service.impl.settle;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.component.ThirdComponent;
import com.clx.performance.component.NetworkSyncComponent;
import com.clx.performance.dao.settle.SettlementLogDao;
import com.clx.performance.dao.settle.SettlementOwnerDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
......@@ -12,12 +12,10 @@ import com.clx.performance.dto.InvoicingStatusNotifyDTO;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.*;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.settle.SettlementLog;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.model.settle.SettlementPlatformAccount;
import com.clx.performance.param.feign.transport.OwnerSettlementSyncParam;
import com.clx.performance.param.pc.owner.*;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.settle.SettlementLogService;
......@@ -31,9 +29,7 @@ import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.vo.pc.carrier.settle.*;
import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO;
import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO;
import com.clx.user.feign.OwnerFeign;
import com.clx.user.vo.pc.owner.OwnerBindCardVO;
import com.msl.common.dto.HttpDTO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
......@@ -45,7 +41,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
......@@ -75,9 +70,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final OwnerAccountService ownerAccountService;
private final OwnerFeign ownerFeign;
private final TransportFeignService transportFeignService;
private final NetworkSyncComponent networkSyncComponent;
@Override
public CarrierSettlementOwnerDetailVO getCarrierSettlementOwnerDetail(Integer id) {
......@@ -136,6 +129,16 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0){
settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
}
} else {
if (settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0 &&
settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) >= 0
) {
//TODO 通知网络货运做货主计费开票标识通知
List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getBySettlementNoAndInvoiceType(settlementNo,
SettlementDriverEnum.InvoiceType.ONLINE.getCode(),SettlementOwnerDetailEnum.InvoiceStatus.NO.getCode());
networkSyncComponent.ownerSettlementSync(settlementOwner, settlementOwnerDetailList);
}
}
//更新状态
......@@ -483,24 +486,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
}else{
if (Objects.equals(settlementOwner.getInvoiceType(), SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.COMPLETED.getCode());
String mobile = ownerFeign.getOwnerInfo(settlementOwner.getOwnerUserNo()).getData().getMobile();
//TODO 通知网络货运做货主计费开票标识通知
OwnerSettlementSyncParam param = new OwnerSettlementSyncParam();
param.setOwnerMobile(mobile);
List<OwnerSettlementSyncParam.SettlementItem> settlementList = new LinkedList<>();
List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getBySettlementNoAndInvoiceType(settlementNo,
SettlementDriverEnum.InvoiceType.ONLINE.getCode(),SettlementOwnerDetailEnum.InvoiceStatus.NO.getCode());
for (SettlementOwnerDetail settlementOwnerDetail : settlementOwnerDetailList) {
String childNo = settlementOwnerDetail.getChildNo();
OwnerSettlementSyncParam.SettlementItem item = new OwnerSettlementSyncParam.SettlementItem();
item.setChildNo(childNo);
item.setSettlementNo(settlementOwnerDetail.getSettlementNo());
settlementList.add(item);
}
param.setSettlementList(settlementList);
HttpDTO httpDTO = transportFeignService.ownerSettlementSync(param);
String decrypt = ThirdComponent.decrypt(httpDTO.getData());
log.info("通知网络货运做货主计费开票标识通知请求解密后:{}", decrypt);
networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList);
}else{
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.INVOICE_TO_BE_MAILED.getCode());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论