提交 15eb4e7d authored 作者: 李瑞鑫's avatar 李瑞鑫

Merge branch 'v26.5_optimize_20240918'

# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildPoundAuditServiceImpl.java
...@@ -22,13 +22,14 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam { ...@@ -22,13 +22,14 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
private String childNo; private String childNo;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46") @ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46")
@NotNull
private BigDecimal loadRough; private BigDecimal loadRough;
@ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23") @ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23")
@NotNull
private BigDecimal loadTare; private BigDecimal loadTare;
@ApiModelProperty(value = "装货净重(单位吨)", example = "1.23")
private BigDecimal loadNet;
@ApiModelProperty(value = "磅单图片列表") @ApiModelProperty(value = "磅单图片列表")
@NotEmpty(message = "请上传磅单照片") @NotEmpty(message = "请上传磅单照片")
private List<String> loadImageList; private List<String> loadImageList;
......
...@@ -7,7 +7,6 @@ import lombok.Setter; ...@@ -7,7 +7,6 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
...@@ -21,13 +20,14 @@ public class OrderChildLoadParam extends PositionParam { ...@@ -21,13 +20,14 @@ public class OrderChildLoadParam extends PositionParam {
private String childNo; private String childNo;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46") @ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46")
@NotNull
private BigDecimal loadRough; private BigDecimal loadRough;
@ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23") @ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23")
@NotNull
private BigDecimal loadTare; private BigDecimal loadTare;
@ApiModelProperty(value = "装货净重(单位吨)", example = "1.23")
private BigDecimal loadNet;
@ApiModelProperty(value = "磅单图片列表") @ApiModelProperty(value = "磅单图片列表")
@NotEmpty(message = "请上传磅单照片") @NotEmpty(message = "请上传磅单照片")
private List<String> loadImageList; private List<String> loadImageList;
......
...@@ -25,6 +25,9 @@ public class OrderChildUnloadParam extends PositionParam { ...@@ -25,6 +25,9 @@ public class OrderChildUnloadParam extends PositionParam {
@ApiModelProperty(value = "卸货皮重(单位吨)", example = "1.23") @ApiModelProperty(value = "卸货皮重(单位吨)", example = "1.23")
private BigDecimal unloadTare; private BigDecimal unloadTare;
@ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23")
private BigDecimal unloadNet;
@ApiModelProperty(value = "磅单图片列表") @ApiModelProperty(value = "磅单图片列表")
@NotEmpty(message = "请上传磅单照片") @NotEmpty(message = "请上传磅单照片")
private List<String> unloadImageList; private List<String> unloadImageList;
......
package com.clx.performance.vo.mq.settle;
import lombok.*;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class SettlementDriverSettleMqParam {
private String childNo; //运单编号
}
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 SettlementOrderChildRiskAddMqParam {
private Integer id; //id
}
...@@ -87,7 +87,7 @@ public class RabbitSettlementConfig { ...@@ -87,7 +87,7 @@ public class RabbitSettlementConfig {
} }
/** /**
* 结算 * 货主结算
*/ */
@Bean @Bean
public Queue settlementSettleQueue() { public Queue settlementSettleQueue() {
...@@ -98,6 +98,20 @@ public class RabbitSettlementConfig { ...@@ -98,6 +98,20 @@ public class RabbitSettlementConfig {
return BindingBuilder.bind(settlementSettleQueue()).to(settlementDefaultExchange()) return BindingBuilder.bind(settlementSettleQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_SETTLE_ROUTING_KEY); .with(RabbitKeySettlementConstants.SETTLEMENT_SETTLE_ROUTING_KEY);
} }
/**
* 车主结算
*/
@Bean
public Queue settlementDriverSettlementQueue() {
return new Queue(RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_QUEUE);
}
@Bean
public Binding settlementDriverSettlementQueueBinding() {
return BindingBuilder.bind(settlementDriverSettlementQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY);
}
/** /**
* 支付状态 * 支付状态
*/ */
...@@ -123,6 +137,18 @@ public class RabbitSettlementConfig { ...@@ -123,6 +137,18 @@ public class RabbitSettlementConfig {
.with(RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_SYNC_ROUTING_KEY); .with(RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_SYNC_ROUTING_KEY);
} }
/**
* 风控新增
*/
@Bean
public Queue settlementRiskAddQueue() {
return new Queue(RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_QUEUE);
}
@Bean
public Binding settlementRiskAddQueueBinding() {
return BindingBuilder.bind(settlementRiskAddQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_ROUTING_KEY);
}
/** /**
* 风控处理 * 风控处理
*/ */
......
...@@ -52,10 +52,17 @@ public class RabbitKeySettlementConstants { ...@@ -52,10 +52,17 @@ public class RabbitKeySettlementConstants {
public static final String SETTLEMENT_INVOICE_TYPE_SYNC_ROUTING_KEY = PREFIX +"settlementInvoiceType.sync"+QUEUE_ROUTING_KEY; public static final String SETTLEMENT_INVOICE_TYPE_SYNC_ROUTING_KEY = PREFIX +"settlementInvoiceType.sync"+QUEUE_ROUTING_KEY;
/** /**
* 结算 * 货主结算
*/ */
public static final String SETTLEMENT_SETTLE_QUEUE = PREFIX +"settlement.settle"+QUEUE; public static final String SETTLEMENT_SETTLE_QUEUE = PREFIX +"settlement.settle"+QUEUE;
public static final String SETTLEMENT_SETTLE_ROUTING_KEY = PREFIX +"settlement.settle"+QUEUE_ROUTING_KEY; public static final String SETTLEMENT_SETTLE_ROUTING_KEY = PREFIX +"settlement.settle"+QUEUE_ROUTING_KEY;
/**
* 车主结算
*/
public static final String SETTLEMENT_DRIVER_SETTLE_QUEUE = PREFIX +"settlementDriver.settle"+QUEUE;
public static final String SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY = PREFIX +"settlementDriver.settle"+QUEUE_ROUTING_KEY;
/** /**
* 开票状态同步 * 开票状态同步
*/ */
...@@ -68,6 +75,12 @@ public class RabbitKeySettlementConstants { ...@@ -68,6 +75,12 @@ public class RabbitKeySettlementConstants {
public static final String SETTLEMENT_PAY_STATUS_SYNC_QUEUE = PREFIX +"settlementPayStatus.sync"+QUEUE; public static final String SETTLEMENT_PAY_STATUS_SYNC_QUEUE = PREFIX +"settlementPayStatus.sync"+QUEUE;
public static final String SETTLEMENT_PAY_STATUS_SYNC_ROUTING_KEY = PREFIX +"settlementPayStatus.sync"+QUEUE_ROUTING_KEY; public static final String SETTLEMENT_PAY_STATUS_SYNC_ROUTING_KEY = PREFIX +"settlementPayStatus.sync"+QUEUE_ROUTING_KEY;
/**
* 风控新增
*/
public static final String SETTLEMENT_RISK_ADD_QUEUE = PREFIX +"settlementRisk.add"+QUEUE;
public static final String SETTLEMENT_RISK_ADD_ROUTING_KEY = PREFIX +"settlementRisk.add"+QUEUE_ROUTING_KEY;
/** /**
* 风控处理 * 风控处理
*/ */
......
...@@ -8,8 +8,6 @@ import com.clx.performance.dao.settle.SettlementDriverDao; ...@@ -8,8 +8,6 @@ import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.mapper.settle.SettlementDriverMapper; import com.clx.performance.mapper.settle.SettlementDriverMapper;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
...@@ -18,7 +16,6 @@ import org.springframework.stereotype.Repository; ...@@ -18,7 +16,6 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Set;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
...@@ -38,6 +35,18 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper, ...@@ -38,6 +35,18 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
); );
} }
@Override
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())
);
}
@Override @Override
public Optional<SettlementDriver> findBySettlementNo(String settlementNo) { public Optional<SettlementDriver> findBySettlementNo(String settlementNo) {
return Optional.of(lQrWrapper() return Optional.of(lQrWrapper()
......
...@@ -20,6 +20,8 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set ...@@ -20,6 +20,8 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
boolean updatePayStatus(SettlementDriver item); boolean updatePayStatus(SettlementDriver item);
boolean updateInvoiceCompany(SettlementDriver item);
Optional<SettlementDriver> findBySettlementNo(String settlementNo); Optional<SettlementDriver> findBySettlementNo(String settlementNo);
Optional<SettlementDriver> findByChildNo(String childNo); Optional<SettlementDriver> findByChildNo(String childNo);
......
...@@ -147,6 +147,10 @@ public class EventListenerComponent { ...@@ -147,6 +147,10 @@ public class EventListenerComponent {
// 发送mq 结算统计 // 发送mq 结算统计
settlementMqService.settlementStatistics(settlementDriverDetail.getChildNo()); settlementMqService.settlementStatistics(settlementDriverDetail.getChildNo());
// 发送mq 司机结算
settlementMqService.settlementDriverSettle(settlementDriverDetail.getChildNo());
} catch (Exception e) { } catch (Exception e) {
throw new ServiceSystemException(PerformanceResultEnum.GET_LOAN_RECORD, e.getMessage()); throw new ServiceSystemException(PerformanceResultEnum.GET_LOAN_RECORD, e.getMessage());
} finally { } finally {
......
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.settle.SettlementDriverSettleMqParam;
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 SettlementDriverSettlementListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_QUEUE)
public void process(Message message) {
try{
log.info("结算-车主结算, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementDriverSettleMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-车主结算 失败",e);
}
}
private void process(SettlementDriverSettleMqParam mq){
settlementMqHandlerService.settlementDriverSettlement(mq);
}
}
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.settle.SettlementOrderChildRiskAddMqParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
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 SettlementRiskAddListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_QUEUE)
public void process(Message message) {
try{
log.info("结算-风控新增, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementOrderChildRiskAddMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-风控新增 失败,msg:{}", ExceptionUtils.getStackTrace(e));
}
}
private void process(SettlementOrderChildRiskAddMqParam mq){
settlementMqHandlerService.riskAdd(mq);
}
}
...@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component; ...@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
/** /**
* @Author: 艾庆国 * @Author: 艾庆国
* @Description: 结算 mq * @Description: 货主结算 mq
* @Date: 2023-10-20 11:45:08 * @Date: 2023-10-20 11:45:08
* @Version: 1.0 * @Version: 1.0
*/ */
...@@ -28,10 +28,10 @@ public class SettlementSettleListener { ...@@ -28,10 +28,10 @@ public class SettlementSettleListener {
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_SETTLE_QUEUE) @RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_SETTLE_QUEUE)
public void process(Message message) { public void process(Message message) {
try{ try{
log.info("结算-结算, message:{}", new String(message.getBody())); log.info("结算-货主结算, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementSettleMqParam>>(){}).getData()); process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementSettleMqParam>>(){}).getData());
}catch (Exception e){ }catch (Exception e){
log.info("结算-结算 失败",e); log.info("结算-货主结算 失败",e);
} }
} }
......
...@@ -3,6 +3,8 @@ package com.clx.performance.service.impl; ...@@ -3,6 +3,8 @@ package com.clx.performance.service.impl;
import com.alibaba.druid.sql.visitor.functions.If; import com.alibaba.druid.sql.visitor.functions.If;
import com.clx.order.enums.QuotationEnum; import com.clx.order.enums.QuotationEnum;
import com.clx.order.vo.feign.FeignOrderInfoVO; 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.dao.*;
import com.clx.performance.dto.payment.PaymentDTO; import com.clx.performance.dto.payment.PaymentDTO;
import com.clx.performance.enums.*; import com.clx.performance.enums.*;
...@@ -15,11 +17,15 @@ import com.clx.performance.service.*; ...@@ -15,11 +17,15 @@ import com.clx.performance.service.*;
import com.clx.performance.service.child.OrderChildPostService; import com.clx.performance.service.child.OrderChildPostService;
import com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO; import com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO;
import com.msl.common.exception.ServiceSystemException; 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.data.UserSessionData;
import com.msl.user.utils.TokenUtil; 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.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -63,6 +69,8 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -63,6 +69,8 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
private final OcrRecognitionDao ocrRecognitionDao; private final OcrRecognitionDao ocrRecognitionDao;
private final OrderChildPostService orderChildPostService; private final OrderChildPostService orderChildPostService;
private final OrderService orderService; private final OrderService orderService;
private final LoadAppConfig loadAppConfig;
private final PerformanceSmartCompanyNoConfig companyNoConfig;
@Override @Override
public OrderChildPoundAuditDetailVO getPoundAuditDetail(String childNo) { public OrderChildPoundAuditDetailVO getPoundAuditDetail(String childNo) {
...@@ -76,6 +84,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -76,6 +84,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setChildNo(childNo); vo.setChildNo(childNo);
vo.setLoadImages(loadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList())); vo.setLoadImages(loadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList())); vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setLoadNet(poundAuditDetail.getLoadNet()); vo.setLoadNet(poundAuditDetail.getLoadNet());
vo.setUnloadNet(poundAuditDetail.getUnloadNet()); vo.setUnloadNet(poundAuditDetail.getUnloadNet());
vo.setUnloadPoundNo(poundAuditDetail.getUnloadPoundNo()); vo.setUnloadPoundNo(poundAuditDetail.getUnloadPoundNo());
...@@ -83,6 +92,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -83,6 +92,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setUnloadRough(poundAuditDetail.getUnloadRough()); vo.setUnloadRough(poundAuditDetail.getUnloadRough());
vo.setLoadRough(poundAuditDetail.getLoadRough()); vo.setLoadRough(poundAuditDetail.getLoadRough());
vo.setLoadTare(poundAuditDetail.getLoadTare()); vo.setLoadTare(poundAuditDetail.getLoadTare());
vo.setStatus(poundAuditDetail.getStatus()); vo.setStatus(poundAuditDetail.getStatus());
vo.setRemark(poundAuditDetail.getRemark()); vo.setRemark(poundAuditDetail.getRemark());
vo.setRejectType(poundAuditDetail.getRejectType()); vo.setRejectType(poundAuditDetail.getRejectType());
...@@ -101,24 +111,68 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -101,24 +111,68 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setCooperativeCompaniesId(orderInfo.getCooperativeCompaniesId()); vo.setCooperativeCompaniesId(orderInfo.getCooperativeCompaniesId());
vo.setCooperativeCompaniesName(orderInfo.getCooperativeCompaniesName()); 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; 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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updatePoundAudit(PoundAuditParam param) { public void updatePoundAudit(PoundAuditParam param) {
//运单详情 //运单详情
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
BigDecimal loadNet = param.getLoadRough().subtract(param.getLoadTare());
if (loadNet.compareTo(new BigDecimal(99)) > 0) { BigDecimal loadNet = orderChild.getLoadNet();
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR); BigDecimal unLoadNet = orderChild.getUnloadNet();
} if (Objects.equals(param.getStatus(), OrderChildPoundAuditEnum.Status.APPROVED.getCode())) {
if (param.getLoadTare().compareTo(param.getLoadRough()) > 0) { loadNet = param.getLoadRough().subtract(param.getLoadTare());
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH); if (loadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
}
if (param.getLoadTare().compareTo(param.getLoadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
}
unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
} }
BigDecimal unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
if(OrderChildEnum.CANCEL_lIST.contains(orderChild.getStatus())){ if(OrderChildEnum.CANCEL_lIST.contains(orderChild.getStatus())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCELED); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCELED);
} }
......
...@@ -18,6 +18,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail; ...@@ -18,6 +18,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService; import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService;
import com.clx.performance.service.broker.OrderChildBrokerMqService; import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.broker.OrderChildBrokerService; import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.service.settle.SettlementPostService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam; import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam;
import com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam; import com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -51,6 +52,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -51,6 +52,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired @Autowired
private SettlementOrderChildRiskDao settlementOrderChildRiskDao; private SettlementOrderChildRiskDao settlementOrderChildRiskDao;
@Autowired
private SettlementPostService settlementPostService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) { public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
...@@ -77,6 +81,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -77,6 +81,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode()); settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark("同步无车承运异常"); settlementOrderChildRisk.setRiskRemark("同步无车承运异常");
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk); settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
} }
} }
public void doOrderChildSync(BrokerOrderChildSyncMqParam mq){ public void doOrderChildSync(BrokerOrderChildSyncMqParam mq){
......
...@@ -6,10 +6,7 @@ import com.clx.performance.common.MqWrapper; ...@@ -6,10 +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.*;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder; import org.springframework.amqp.core.MessageBuilder;
...@@ -60,6 +57,19 @@ public class SettlementMqServiceImpl implements SettlementMqService { ...@@ -60,6 +57,19 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message); RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void settlementDriverSettle(String childNo) {
SettlementDriverSettleMqParam mq = new SettlementDriverSettleMqParam();
mq.setChildNo(childNo);
MqDelay delay =
new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_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);
}
@Override @Override
public void invoiceTypeSync(String childNo) { public void invoiceTypeSync(String childNo) {
...@@ -114,6 +124,18 @@ public class SettlementMqServiceImpl implements SettlementMqService { ...@@ -114,6 +124,18 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message); RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void riskAdd(Integer id) {
SettlementOrderChildRiskAddMqParam mq = new SettlementOrderChildRiskAddMqParam();
mq.setId(id);
MqDelay delay = new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_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);
}
@Override @Override
public void riskProcess(Integer id) { public void riskProcess(Integer id) {
SettlementOrderChildRiskProcessMqParam mq = new SettlementOrderChildRiskProcessMqParam(); SettlementOrderChildRiskProcessMqParam mq = new SettlementOrderChildRiskProcessMqParam();
......
...@@ -99,12 +99,17 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild ...@@ -99,12 +99,17 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType()); settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
if (settlementDriver != null) { if (settlementDriver != null) {
// 删除结算单 settlementDriver.setInvoiceType(settlementDriverDetail.getInvoiceType());
settlementDriverDao.deleteByKey(settlementDriver.getId()); settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
} }
} }
else { else {
} }
settlementOrderChildRiskDao.updateProcess(settlementOrderChildRisk); settlementOrderChildRiskDao.updateProcess(settlementOrderChildRisk);
......
...@@ -60,4 +60,11 @@ public class SettlementPostServiceImpl implements SettlementPostService { ...@@ -60,4 +60,11 @@ public class SettlementPostServiceImpl implements SettlementPostService {
} }
} }
@Override
public void riskAdd(Integer id) {
// 发送mq (风控新增)
settlementMqService.riskAdd(id);
}
} }
...@@ -2,16 +2,14 @@ package com.clx.performance.service.settle; ...@@ -2,16 +2,14 @@ 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.*;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
public interface SettlementMqHandlerService { public interface SettlementMqHandlerService {
void settlementDetailAdd(SettlementDetailAddMqParam mq); void settlementDetailAdd(SettlementDetailAddMqParam mq);
void settlementStatistics(SettlementStatisticsMqParam mq); void settlementStatistics(SettlementStatisticsMqParam mq);
void settlementDriverSettlement(SettlementDriverSettleMqParam mq);
void settle(SettlementSettleMqParam mq); void settle(SettlementSettleMqParam mq);
...@@ -27,6 +25,7 @@ public interface SettlementMqHandlerService { ...@@ -27,6 +25,7 @@ public interface SettlementMqHandlerService {
String settlementNoGenerate(); String settlementNoGenerate();
void riskAdd(SettlementOrderChildRiskAddMqParam mq);
void riskProcess(SettlementOrderChildRiskProcessMqParam mq); void riskProcess(SettlementOrderChildRiskProcessMqParam mq);
void invoiceCompanyUpdate(SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq); void invoiceCompanyUpdate(SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq);
......
...@@ -6,6 +6,7 @@ public interface SettlementMqService { ...@@ -6,6 +6,7 @@ public interface SettlementMqService {
void settlementStatistics(String childNo); void settlementStatistics(String childNo);
void settlementStatistics(String childNo, Integer type); void settlementStatistics(String childNo, Integer type);
void settlementDriverSettle(String childNo);
void invoiceTypeSync(String childNo); void invoiceTypeSync(String childNo);
...@@ -15,6 +16,8 @@ public interface SettlementMqService { ...@@ -15,6 +16,8 @@ public interface SettlementMqService {
void payStatusSync(String childNo); void payStatusSync(String childNo);
void riskAdd(Integer id);
void riskProcess(Integer id); void riskProcess(Integer id);
void updateInvoiceCompany(Integer id); void updateInvoiceCompany(Integer id);
......
...@@ -15,4 +15,6 @@ public interface SettlementPostService { ...@@ -15,4 +15,6 @@ public interface SettlementPostService {
void updateInvoice(List<String> childNoList); void updateInvoice(List<String> childNoList);
void riskAdd(Integer id);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论