提交 37718d85 authored 作者: jiangwujie's avatar jiangwujie

Merge remote-tracking branch 'origin/test' into test

Former-commit-id: 29edeb3f
package com.clx.performance.vo.mq.settle;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class SettlementInvoiceStatusUpdateMqParam {
private String settlementNo;
}
...@@ -162,4 +162,17 @@ public class RabbitSettlementConfig { ...@@ -162,4 +162,17 @@ public class RabbitSettlementConfig {
.with(RabbitKeySettlementConstants.SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY); .with(RabbitKeySettlementConstants.SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY);
} }
/**
* 结算单开票状态更新
*/
@Bean
public Queue settlementInvoiceStatusUpdateQueue() {
return new Queue(RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_UPDATE_QUEUE);
}
@Bean
public Binding settlementInvoiceStatusUpdateQueueBinding() {
return BindingBuilder.bind(settlementInvoiceStatusUpdateQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_UPDATE_ROUTING_KEY);
}
} }
...@@ -86,4 +86,10 @@ public class RabbitKeySettlementConstants { ...@@ -86,4 +86,10 @@ public class RabbitKeySettlementConstants {
public static final String SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_QUEUE = PREFIX +"settlementPlatformAutoConfirm.update"+QUEUE; public static final String SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_QUEUE = PREFIX +"settlementPlatformAutoConfirm.update"+QUEUE;
public static final String SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY = PREFIX +"settlementPlatformAutoConfirm.update"+QUEUE_ROUTING_KEY; public static final String SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY = PREFIX +"settlementPlatformAutoConfirm.update"+QUEUE_ROUTING_KEY;
/**
* 结算单开票状态更新
*/
public static final String SETTLEMENT_INVOICE_STATUS_UPDATE_QUEUE = PREFIX +"settlementInvoice.update"+QUEUE;
public static final String SETTLEMENT_INVOICE_STATUS_UPDATE_ROUTING_KEY = PREFIX +"settlementInvoice.update"+QUEUE_ROUTING_KEY;
} }
...@@ -35,6 +35,13 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S ...@@ -35,6 +35,13 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
.set(SettlementOwner::getStatus, item.getStatus()) .set(SettlementOwner::getStatus, item.getStatus())
); );
} }
@Override
public boolean updateInvoiceStatus(SettlementOwner item) {
return update(lUdWrapper()
.eq(SettlementOwner::getId, item.getId())
.set(SettlementOwner::getInvoiceStatus, item.getInvoiceStatus())
);
}
@Override @Override
public boolean updateSettlementPeriodMonth(SettlementOwner item) { public boolean updateSettlementPeriodMonth(SettlementOwner item) {
......
...@@ -19,7 +19,6 @@ import com.msl.common.dao.impl.BaseDaoImpl; ...@@ -19,7 +19,6 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -116,6 +115,16 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -116,6 +115,16 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
); );
} }
@Override
public void updateInvoiceStatusByIdList(List<Integer> idList, Integer invoiceStatus) {
update(lUdWrapper()
.in(SettlementOwnerDetail::getId, idList)
.set(SettlementOwnerDetail::getInvoiceStatus, invoiceStatus)
.set(SettlementOwnerDetail::getInvoiceTime,LocalDateTime.now())
);
}
@Override @Override
public boolean updateInvoiceStatusBySettlementNo(String settlementNo, Integer invoiceStatus){ public boolean updateInvoiceStatusBySettlementNo(String settlementNo, Integer invoiceStatus){
return update(lUdWrapper() return update(lUdWrapper()
...@@ -163,6 +172,13 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -163,6 +172,13 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
) )
.map(super::getOne); .map(super::getOne);
} }
@Override
public List<SettlementOwnerDetail> getListByChildNoList(List<String> childNoList) {
return list(lQrWrapper()
.eq(SettlementOwnerDetail::getChildNo, childNoList));
}
@Override @Override
public List<SettlementOwnerDetail> getBySettlementNo(String settlementNo) { public List<SettlementOwnerDetail> getBySettlementNo(String settlementNo) {
return list(lQrWrapper().eq(SettlementOwnerDetail::getSettlementNo, settlementNo)); return list(lQrWrapper().eq(SettlementOwnerDetail::getSettlementNo, settlementNo));
......
...@@ -16,6 +16,8 @@ import java.util.List; ...@@ -16,6 +16,8 @@ import java.util.List;
public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, SettlementOwner, Integer> { public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, SettlementOwner, Integer> {
boolean updateStatus(SettlementOwner item); boolean updateStatus(SettlementOwner item);
boolean updateInvoiceStatus(SettlementOwner item);
boolean updateSettlementPeriodMonth(SettlementOwner item); boolean updateSettlementPeriodMonth(SettlementOwner item);
boolean updateLock(SettlementOwner item); boolean updateLock(SettlementOwner item);
......
...@@ -33,6 +33,8 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM ...@@ -33,6 +33,8 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
boolean updateInvoiceType(SettlementOwnerDetail item); boolean updateInvoiceType(SettlementOwnerDetail item);
boolean updatePreFreight(SettlementOwnerDetail item); boolean updatePreFreight(SettlementOwnerDetail item);
void updateInvoiceStatusByIdList(List<Integer> idList, Integer invoiceStatus);
boolean updateInvoiceStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("invoiceStatus")Integer invoiceStatus); boolean updateInvoiceStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("invoiceStatus")Integer invoiceStatus);
boolean updateFinalPaymentStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("finalPaymentStatus")Integer finalPaymentStatus); boolean updateFinalPaymentStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("finalPaymentStatus")Integer finalPaymentStatus);
...@@ -45,6 +47,7 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM ...@@ -45,6 +47,7 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
Optional<SettlementOwnerDetail> findById(Integer id); Optional<SettlementOwnerDetail> findById(Integer id);
Optional<SettlementOwnerDetail> getByChildNo(String childNo); Optional<SettlementOwnerDetail> getByChildNo(String childNo);
List<SettlementOwnerDetail> getListByChildNoList(List<String> childNoList);
List<SettlementOwnerDetail> getBySettlementNo(String settlementNo); List<SettlementOwnerDetail> getBySettlementNo(String settlementNo);
List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType, Integer invoiceStatus); List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType, Integer invoiceStatus);
......
package com.clx.performance.listener.settle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.vo.mq.SettlementSettleMqParam;
import com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 结算 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public class SettlementInvoiceStatusUpdateListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_UPDATE_QUEUE)
public void process(Message message) {
try{
log.info("结算-开票状态更新, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementInvoiceStatusUpdateMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-开票状态更新 失败",e);
}
}
private void process(SettlementInvoiceStatusUpdateMqParam mq){
settlementMqHandlerService.settlementInvoiceStatusUpdate(mq);
}
}
...@@ -40,6 +40,7 @@ import com.clx.performance.utils.LocalDateTimeUtils; ...@@ -40,6 +40,7 @@ import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.RedisUtil; import com.clx.performance.utils.RedisUtil;
import com.clx.performance.utils.spring.ApplicationContextUtils; import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.vo.mq.*; import com.clx.performance.vo.mq.*;
import com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam; import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam; import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam; import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
...@@ -1037,6 +1038,60 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -1037,6 +1038,60 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDao.updateStatus(settlementOwner); settlementOwnerDao.updateStatus(settlementOwner);
} }
@Override
public void settlementInvoiceStatusUpdate(SettlementInvoiceStatusUpdateMqParam mq) {
SettlementOwner settlementOwner = settlementOwnerDao.findBySettlementNo(mq.getSettlementNo()).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.COMPLETED.getCode())){
return;
}
if (Objects.equals(settlementOwner.getInvoiceStatus(), SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode())){
return;
}
List<SettlementOwnerDetail> list = settlementOwnerDetailDao.getBySettlementNo(settlementOwner.getSettlementNo());
// 无需开票运单
List<SettlementOwnerDetail> list1 = list.stream()
.filter(item -> Objects.equals(item.getInvoiceStatus(),SettlementOwnerDetailEnum.InvoiceStatus.NO.getCode())
&& item.getInvoiceFreight().compareTo(BigDecimal.ZERO) <= 0).collect(Collectors.toList());
// 需要开票运单
List<SettlementOwnerDetail> list2 = list.stream()
.filter(item -> Objects.equals(item.getInvoiceStatus(),SettlementOwnerDetailEnum.InvoiceStatus.NO.getCode())
&& item.getInvoiceFreight().compareTo(BigDecimal.ZERO) > 0).collect(Collectors.toList());
// 已开票运单
List<SettlementOwnerDetail> list3 = list.stream()
.filter(item -> Objects.equals(item.getInvoiceStatus(),SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode()))
.collect(Collectors.toList());
if (!list1.isEmpty()) {
settlementOwnerDetailDao
.updateInvoiceStatusByIdList(list1.stream().map(item->item.getId()).collect(Collectors.toList()),
SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode());
}
if (list2.isEmpty()){
if (list3.isEmpty()) {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
}
else {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode());
}
}
else {
if (list3.isEmpty()) {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NOT_INVOICE.getCode());
}
else {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.PART_INVOICE.getCode());
}
}
settlementOwnerDao.updateInvoiceStatus(settlementOwner);
}
private BigDecimal invoiceFreightCalc(Integer settlementWay, BigDecimal invoiceServiceFeeRate, SettlementOwnerDetail settlementOwnerDetail) { private BigDecimal invoiceFreightCalc(Integer settlementWay, BigDecimal invoiceServiceFeeRate, SettlementOwnerDetail settlementOwnerDetail) {
if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。 if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()) return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
......
...@@ -6,6 +6,7 @@ import com.clx.performance.common.MqWrapper; ...@@ -6,6 +6,7 @@ import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants; import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqService; import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.vo.mq.*; import com.clx.performance.vo.mq.*;
import com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam; import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam; import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam; import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
...@@ -149,4 +150,16 @@ public class SettlementMqServiceImpl implements SettlementMqService { ...@@ -149,4 +150,16 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message); RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void settlementInvoiceStatusUpdate(String settlementNo) {
SettlementInvoiceStatusUpdateMqParam mq = new SettlementInvoiceStatusUpdateMqParam();
mq.setSettlementNo(settlementNo);
MqDelay delay = new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_UPDATE_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
} }
...@@ -806,5 +806,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -806,5 +806,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
settlementOwnerDetailDao.updateSettlementByChildNoList(childNoList); settlementOwnerDetailDao.updateSettlementByChildNoList(childNoList);
// 发送mq (运单更新) // 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(childNoList); orderChildBrokerMqService.orderChildUpdate(childNoList);
settlementPostService.updateInvoice(childNoList);
} }
} }
...@@ -44,13 +44,15 @@ public class SettlementOwnerExportServiceImpl implements SettlementOwnerExportSe ...@@ -44,13 +44,15 @@ public class SettlementOwnerExportServiceImpl implements SettlementOwnerExportSe
fieldList.add(new ExcelField(10, "预付运费金额", "prepayFreight", 5000)); fieldList.add(new ExcelField(10, "预付运费金额", "prepayFreight", 5000));
fieldList.add(new ExcelField(11, "货损吨数", "lossWeight", 5000)); fieldList.add(new ExcelField(11, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(12, "管理费", "invoiceServiceFee", 5000)); fieldList.add(new ExcelField(12, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(13, "借款抵扣金额", "loanFreight", 5000)); fieldList.add(new ExcelField(13, "管理费", "invoiceServiceFee", 5000));
fieldList.add(new ExcelField(14, "结算金额", "settlementFreight", 5000)); fieldList.add(new ExcelField(14, "借款抵扣金额", "loanFreight", 5000));
fieldList.add(new ExcelField(15, "开票金额", "invoiceFreight", 5000)); fieldList.add(new ExcelField(15, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(16, "创建时间", "createTime", 5000)); fieldList.add(new ExcelField(16, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(17, "状态", "status", 5000)); fieldList.add(new ExcelField(17, "开票公司", "invoicingCompanyShorterName", 5000));
fieldList.add(new ExcelField(18, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(19, "状态", "status", 5000));
// 组装数据 // 组装数据
List<List<ExcelData>> dataList = new ArrayList<>(); List<List<ExcelData>> dataList = new ArrayList<>();
...@@ -73,11 +75,13 @@ public class SettlementOwnerExportServiceImpl implements SettlementOwnerExportSe ...@@ -73,11 +75,13 @@ public class SettlementOwnerExportServiceImpl implements SettlementOwnerExportSe
rowData.add(new ExcelData(dto.getPrepayFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP))); rowData.add(new ExcelData(dto.getPrepayFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP)));
rowData.add(new ExcelData(dto.getLossWeight())); rowData.add(new ExcelData(dto.getLossWeight()));
rowData.add(new ExcelData(dto.getLossFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP)));
rowData.add(new ExcelData(dto.getInvoiceServiceFee().movePointLeft(2).setScale(2, RoundingMode.HALF_UP))); rowData.add(new ExcelData(dto.getInvoiceServiceFee().movePointLeft(2).setScale(2, RoundingMode.HALF_UP)));
rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP))); rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP)));
rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP)));
rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP)));
rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP))); rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2).setScale(2, RoundingMode.HALF_UP)));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getCreateTime())); rowData.add(new ExcelData(dto.getCreateTime()));
rowData.add(new ExcelData(dto.getStatusMsg())); rowData.add(new ExcelData(dto.getStatusMsg()));
......
...@@ -33,6 +33,7 @@ import com.clx.performance.service.PlatformAccountConfigService; ...@@ -33,6 +33,7 @@ import com.clx.performance.service.PlatformAccountConfigService;
import com.clx.performance.service.settle.SettlementLogService; import com.clx.performance.service.settle.SettlementLogService;
import com.clx.performance.service.settle.SettlementMqHandlerService; import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.service.settle.SettlementOwnerService; import com.clx.performance.service.settle.SettlementOwnerService;
import com.clx.performance.service.settle.SettlementPostService;
import com.clx.performance.struct.settle.SettlementLogStruct; import com.clx.performance.struct.settle.SettlementLogStruct;
import com.clx.performance.struct.settle.SettlementOwnerStruct; import com.clx.performance.struct.settle.SettlementOwnerStruct;
import com.clx.performance.utils.MyMD5Util; import com.clx.performance.utils.MyMD5Util;
...@@ -88,6 +89,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -88,6 +89,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final OwnerAccountService ownerAccountService; private final OwnerAccountService ownerAccountService;
private final OwnerAccountPasswordDao ownerAccountPasswordDao;
private final SettlementPostService settlementPostService;
private final NetworkSyncComponent networkSyncComponent; private final NetworkSyncComponent networkSyncComponent;
private final SettlementMqHandlerService settlementMqHandlerService; private final SettlementMqHandlerService settlementMqHandlerService;
...@@ -96,9 +100,6 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -96,9 +100,6 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final BreakContractSettlementOwnerDao breakContractSettlementOwnerDao; private final BreakContractSettlementOwnerDao breakContractSettlementOwnerDao;
private final OwnerAccountPasswordDao ownerAccountPasswordDao;
@Override @Override
public CarrierSettlementOwnerDetailVO getCarrierSettlementOwnerDetail(Integer id) { public CarrierSettlementOwnerDetailVO getCarrierSettlementOwnerDetail(Integer id) {
//结算单详情 //结算单详情
...@@ -687,12 +688,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -687,12 +688,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList); networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList);
}else{ }else{
// 小于0不开票 settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.COMPLETED.getCode());
if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) <= 0 ) {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
}
settlementOwner.setStatus(SettlementOwnerEnum.Status.COMPLETED.getCode());
settlementOwnerDao.updateInvoiceStatusAndStatus(settlementOwner);
} }
} }
...@@ -708,6 +704,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -708,6 +704,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
SettlementLogEnum.Type.COMPLETED.getCode(),SettlementLogEnum.Type.COMPLETED.getMsg(), SettlementLogEnum.Type.COMPLETED.getCode(),SettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName()); OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
settlementPostService.updatePayConfirm(settlementOwner);
} }
@Override @Override
......
package com.clx.performance.service.impl.settle; package com.clx.performance.service.impl.settle;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqService; import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.settle.SettlementMqService; import com.clx.performance.service.settle.SettlementMqService;
...@@ -9,11 +11,16 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -9,11 +11,16 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
public class SettlementPostServiceImpl implements SettlementPostService { public class SettlementPostServiceImpl implements SettlementPostService {
@Autowired
private SettlementOwnerDetailDao settlementOwnerDetailDao;
@Autowired @Autowired
private SettlementMqService settlementMqService; private SettlementMqService settlementMqService;
...@@ -36,4 +43,21 @@ public class SettlementPostServiceImpl implements SettlementPostService { ...@@ -36,4 +43,21 @@ public class SettlementPostServiceImpl implements SettlementPostService {
// 发送mq (更新无车承运) // 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo()); orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
} }
@Override
public void updatePayConfirm(SettlementOwner settlementOwner) {
settlementMqService.settlementInvoiceStatusUpdate(settlementOwner.getSettlementNo());
}
@Override
public void updateInvoice(List<String> childNoList) {
List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getListByChildNoList(childNoList);
Set<String> set = settlementOwnerDetailList.stream().map(item -> item.getSettlementNo()).collect(Collectors.toSet());
for (String item : set) {
// 发送mq (更新无车承运)
settlementMqService.settlementInvoiceStatusUpdate(item);
}
}
} }
...@@ -2,6 +2,7 @@ package com.clx.performance.service.settle; ...@@ -2,6 +2,7 @@ package com.clx.performance.service.settle;
import com.clx.performance.model.settle.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.vo.mq.*; import com.clx.performance.vo.mq.*;
import com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam; import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam; import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam; import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
...@@ -32,4 +33,6 @@ public interface SettlementMqHandlerService { ...@@ -32,4 +33,6 @@ public interface SettlementMqHandlerService {
void settlementPlatformAutoConfirm(SettlementPlatformAutoConfirmMqParam mq); void settlementPlatformAutoConfirm(SettlementPlatformAutoConfirmMqParam mq);
void settlementInvoiceStatusUpdate(SettlementInvoiceStatusUpdateMqParam mq);
} }
...@@ -21,4 +21,6 @@ public interface SettlementMqService { ...@@ -21,4 +21,6 @@ public interface SettlementMqService {
void settlementPlatformAutoConfirmUpdate(String settlementNo); void settlementPlatformAutoConfirmUpdate(String settlementNo);
void settlementInvoiceStatusUpdate(String settlementNo);
} }
package com.clx.performance.service.settle; package com.clx.performance.service.settle;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import java.util.List; import java.util.List;
...@@ -9,4 +10,9 @@ public interface SettlementPostService { ...@@ -9,4 +10,9 @@ public interface SettlementPostService {
void updateInvoiceCompany(List<SettlementOwnerDetail> list); void updateInvoiceCompany(List<SettlementOwnerDetail> list);
void updatePaySuccess(SettlementOwnerDetail settlementOwnerDetail); void updatePaySuccess(SettlementOwnerDetail settlementOwnerDetail);
void updatePayConfirm(SettlementOwner settlementOwner);
void updateInvoice(List<String> childNoList);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论