提交 675d4989 authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v26.2-jdk17springboot3-20240912' into test_jdk17

Former-commit-id: 7619ca9e
......@@ -41,9 +41,11 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
public boolean updateInvoiceCompany(SettlementDriver item) {
return update(lUdWrapper()
.eq(SettlementDriver::getId, item.getId())
.set(SettlementDriver::getInvoiceType, item.getInvoiceType())
.set(SettlementDriver::getInvoicingCompanyId, item.getInvoicingCompanyId())
.set(SettlementDriver::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName())
.set(SettlementDriver::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode())
.set(SettlementDriver::getPrepayFreightFlag, item.getPrepayFreightFlag())
);
}
......
......@@ -2,6 +2,7 @@ package com.clx.performance.listener;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.clx.open.sdk.callback.message.OrderInfoMessage;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.config.ConfiguredOpenProperties;
......@@ -83,7 +84,9 @@ public class SendOrderStatusNoticeSmsListener {
//向消息中心发送消息
log.info("订单状态提醒发送短信开始,请求参数:{}", JSON.toJSONString(smsMessage));
Result<Object> result = configuredOpenClient.doAction(new MessageAction(smsMessage));
log.info("订单状态提醒发送短信开始,响应结果:{}", JSON.toJSONString(result));
}catch (Exception e){
log.info("监听到发送订单状态通知短信发生异常,异常原因:{}", ExceptionUtils.getStackTrace(e));
}
......
......@@ -3,6 +3,8 @@ package com.clx.performance.service.impl;
import com.alibaba.druid.sql.visitor.functions.If;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.config.LoadAppConfig;
import com.clx.performance.config.PerformanceSmartCompanyNoConfig;
import com.clx.performance.dao.*;
import com.clx.performance.dto.payment.PaymentDTO;
import com.clx.performance.enums.*;
......@@ -15,11 +17,15 @@ import com.clx.performance.service.*;
import com.clx.performance.service.child.OrderChildPostService;
import com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.open.OpenClient;
import com.msl.common.open.RequestConfig;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import com.scm.lms.manage.action.LmsWeighingSignatureAction;
import com.smart.business.sdk.request.dto.WeightChildSignatureDto;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -63,6 +69,8 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
private final OcrRecognitionDao ocrRecognitionDao;
private final OrderChildPostService orderChildPostService;
private final OrderService orderService;
private final LoadAppConfig loadAppConfig;
private final PerformanceSmartCompanyNoConfig companyNoConfig;
@Override
public OrderChildPoundAuditDetailVO getPoundAuditDetail(String childNo) {
......@@ -76,6 +84,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setChildNo(childNo);
vo.setLoadImages(loadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setLoadNet(poundAuditDetail.getLoadNet());
vo.setUnloadNet(poundAuditDetail.getUnloadNet());
vo.setUnloadPoundNo(poundAuditDetail.getUnloadPoundNo());
......@@ -83,6 +92,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setUnloadRough(poundAuditDetail.getUnloadRough());
vo.setLoadRough(poundAuditDetail.getLoadRough());
vo.setLoadTare(poundAuditDetail.getLoadTare());
vo.setStatus(poundAuditDetail.getStatus());
vo.setRemark(poundAuditDetail.getRemark());
vo.setRejectType(poundAuditDetail.getRejectType());
......@@ -101,9 +111,47 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setCooperativeCompaniesId(orderInfo.getCooperativeCompaniesId());
vo.setCooperativeCompaniesName(orderInfo.getCooperativeCompaniesName());
//首次回显过磅电子磅单
WeightChildSignatureDto weighingSignature = getWeighingSignature(childNo,SaleBuyEnum.Type.BUY.getCode());//获取电子磅单图片 类型:1-销售,2-采购
if(Objects.nonNull(weighingSignature)){
if(vo.getUnloadTare()== null && weighingSignature.getTare()!=null){//卸车皮重
vo.setUnloadTare(weighingSignature.getTare());
}
if(vo.getUnloadRough()== null && weighingSignature.getRough()!=null){//卸车毛重
vo.setUnloadRough(weighingSignature.getRough());
}
}
return vo;
}
public WeightChildSignatureDto getWeighingSignature(String childNo,Integer type){
App app = loadAppConfig.getApp(AppEnum.UniqueIdentifier.LMS_MANAGE.getCode());//对接物流子系统配置信息
//组装配置信息
RequestConfig config = new RequestConfig()
.setAppId(app.getAppNo())
.setAppKey(app.getAppKey())
.setGatewayUrl(app.getCallback());
//通过运单号码查询电子磅单图片
LmsWeighingSignatureAction weightAction = new LmsWeighingSignatureAction();
weightAction.setChildNo(childNo);
weightAction.setCustomerRelationNo(String.valueOf(companyNoConfig.getCompanyNo()));
weightAction.setType(type);
log.info("接口请求电子磅单参数,{}",weightAction);
Result<WeightChildSignatureDto> weighSignature = OpenClient.doAction(config, weightAction);
log.info("接口请求电子磅单返回结果,{}",weighSignature);
//数据处理
if(Objects.equals(weighSignature.getCode(),0)){
WeightChildSignatureDto weighSignatures = weighSignature.getData();
return weighSignatures;
}
return new WeightChildSignatureDto();
}
@Override
@Transactional(rollbackFor = Exception.class)
......
......@@ -302,27 +302,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverDetail.setSettlementNo(settlementDriver.getSettlementNo());
settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail);
//车主结算单自动支付
log.info(" 运单号 {}, 是否是普通单 {} ",settlementDriverDetail.getChildNo(),settlementDriverDetail.getInvoiceType());
if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
paySettlementDriver(settlementDriverDetail);
} else {
if (Objects.equals(orderGoods.getPlatformFreightQuotationTaxType(),
QuotationEnum.PlatformFreightQuotationTaxType.NO.getCode())
&& Objects.equals(orderGoods.getSettlementWay(), SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
settlementDriverDetail.setSettlementNo(settlementNo);
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
else if (settlementDriverDetail.getPrepayFreightFlag().equals(SettlementDriverEnum.PrepayFreightFlag.PAYED.getCode())
&& settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
settlementDriverDetail.setSettlementNo(settlementNo);
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
}
}
@Transactional(rollbackFor = Exception.class)
......@@ -709,46 +688,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// settlementService.updateSettlementDetailInvoiceType(settlementOwnerDetail.getChildNo(), SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
}
// private void settlementDriverSave(SettlementDriverDetail detail,String settlementNo){
// SettlementDriver settlementDriver = settlementDriverDao.findByChildNo(detail.getChildNo()).orElse(new SettlementDriver());
// settlementDriver.setDriverUserNo(detail.getDriverUserNo());
// settlementDriver.setDriverName(detail.getDriverName());
// settlementDriver.setSettlementNo(settlementNo);
// settlementDriver.setChildNo(detail.getChildNo());
// settlementDriver.setOrderGoodsNo(detail.getOrderGoodsNo());
// settlementDriver.setOrderNo(detail.getOrderNo());
// settlementDriver.setGoodsId(detail.getGoodsId());
// settlementDriver.setGoodsName(detail.getGoodsName());
// settlementDriver.setTruckNo(detail.getTruckNo());
// settlementDriver.setFreightPrice(detail.getFreightPrice());
// settlementDriver.setWeight(detail.getWeight());
// settlementDriver.setFreight(detail.getFreight());
// settlementDriver.setLossPrice(detail.getLossPrice());
// settlementDriver.setLossWeight(detail.getLossWeight());
// settlementDriver.setLoanFlag(detail.getLoanFlag());
// settlementDriver.setLossFreight(detail.getLossFreight());
// settlementDriver.setPrepayFreightFlag(detail.getPrepayFreightFlag());
// settlementDriver.setSettlementFreight(detail.getSettlementFreight());
// settlementDriver.setInvoiceType(detail.getInvoiceType());
// settlementDriver.setSettlementPlatform(detail.getInvoiceType() == 1 ?
// String.valueOf(SettlementPlatformEnum.Platform.WY.getCode()):
// String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
//
// settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
//
// settlementDriver.setInvoicingCompanyId(detail.getInvoicingCompanyId());
// settlementDriver.setInvoicingCompanyShorterName(detail.getInvoicingCompanyShorterName());
// settlementDriver.setInvoicingCompanyGroupCode(detail.getInvoicingCompanyGroupCode());
// settlementDriver.setPlatformServiceFeeRate(detail.getPlatformServiceFeeRate());
// settlementDriver.setPlatformServiceFee(detail.getPlatformServiceFee());
//
// if (settlementDriver.getId() == null) {
// settlementDriverDao.saveEntity(settlementDriver);
// }else {
// settlementDriverDao.updateEntityByKey(settlementDriver);
// }
// }
@Override
public void settlementDriverNotify(String childNo,Integer payType,String payErrorMsg){
......@@ -1152,15 +1091,18 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
if (settlementDriver != null) {
settlementDriver.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
}
if (Objects.equals(settlementOwnerDetail.getReportFlag(), com.clx.order.enums.OrderEnum.ReportFlag.NO.getCode())){
// 网运单转普通单
orderChildSyncTransportListener.extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, settlementOwnerDetail.getInvoiceType(), null);
if (settlementDriver != null) {
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
return;
}
......@@ -1170,11 +1112,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 网运单转普通单
orderChildSyncTransportListener.extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, settlementOwnerDetail.getInvoiceType(), settlementOrderChildRisk.getRiskRemark());
if (settlementDriver != null) {
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
// 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildUpdate(childNo);
return;
}
if (settlementDriver != null) {
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
//普通单解冻
applicationEventPublisher.publishEvent(new OwnerLoanThawEvent(this, childNo));
// 发送mq 结算统计
......@@ -1294,6 +1246,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
OrderChild orderChild = orderChildDao.getByChildNo(mq.getChildNo()).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (orderChild.getConfirmTime() == null) {return;}
OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriver settlementDriver = settlementDriverDao.findByChildNo(orderChild.getChildNo()).orNull();
if (settlementDriver == null
|| !Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode())
......@@ -1301,6 +1256,28 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return;
}
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//车主结算单自动支付
log.info(" 运单号 {}, 是否是普通单 {} ",settlementDriverDetail.getChildNo(),settlementDriverDetail.getInvoiceType());
if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
paySettlementDriver(settlementDriverDetail);
} else {
if (Objects.equals(orderGoods.getPlatformFreightQuotationTaxType(),
QuotationEnum.PlatformFreightQuotationTaxType.NO.getCode())
&& Objects.equals(orderGoods.getSettlementWay(), SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
else if (settlementDriverDetail.getPrepayFreightFlag().equals(SettlementDriverEnum.PrepayFreightFlag.PAYED.getCode())
&& settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
}
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriverDao.updateSettleStatus(settlementDriver);
......
......@@ -94,6 +94,15 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementDriverDetailDao.updateConvertOrdinary(settlementDriverDetail);
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
if (settlementDriver != null) {
settlementDriver.setInvoiceType(settlementDriverDetail.getInvoiceType());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
}
else {
// 状态回滚
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论