提交 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 {
private String childNo;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46")
@NotNull
private BigDecimal loadRough;
@ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23")
@NotNull
private BigDecimal loadTare;
@ApiModelProperty(value = "装货净重(单位吨)", example = "1.23")
private BigDecimal loadNet;
@ApiModelProperty(value = "磅单图片列表")
@NotEmpty(message = "请上传磅单照片")
private List<String> loadImageList;
......
......@@ -7,7 +7,6 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
......@@ -21,13 +20,14 @@ public class OrderChildLoadParam extends PositionParam {
private String childNo;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46")
@NotNull
private BigDecimal loadRough;
@ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23")
@NotNull
private BigDecimal loadTare;
@ApiModelProperty(value = "装货净重(单位吨)", example = "1.23")
private BigDecimal loadNet;
@ApiModelProperty(value = "磅单图片列表")
@NotEmpty(message = "请上传磅单照片")
private List<String> loadImageList;
......
......@@ -25,6 +25,9 @@ public class OrderChildUnloadParam extends PositionParam {
@ApiModelProperty(value = "卸货皮重(单位吨)", example = "1.23")
private BigDecimal unloadTare;
@ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23")
private BigDecimal unloadNet;
@ApiModelProperty(value = "磅单图片列表")
@NotEmpty(message = "请上传磅单照片")
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 {
}
/**
* 结算
* 货主结算
*/
@Bean
public Queue settlementSettleQueue() {
......@@ -98,6 +98,20 @@ public class RabbitSettlementConfig {
return BindingBuilder.bind(settlementSettleQueue()).to(settlementDefaultExchange())
.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 {
.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 {
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_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 {
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_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;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.mapper.settle.SettlementDriverMapper;
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.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
......@@ -18,7 +16,6 @@ import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Objects;
import java.util.Set;
/**
* @Author: aiqinguo
......@@ -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
public Optional<SettlementDriver> findBySettlementNo(String settlementNo) {
return Optional.of(lQrWrapper()
......
......@@ -20,6 +20,8 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
boolean updatePayStatus(SettlementDriver item);
boolean updateInvoiceCompany(SettlementDriver item);
Optional<SettlementDriver> findBySettlementNo(String settlementNo);
Optional<SettlementDriver> findByChildNo(String childNo);
......
......@@ -147,6 +147,10 @@ public class EventListenerComponent {
// 发送mq 结算统计
settlementMqService.settlementStatistics(settlementDriverDetail.getChildNo());
// 发送mq 司机结算
settlementMqService.settlementDriverSettle(settlementDriverDetail.getChildNo());
} catch (Exception e) {
throw new ServiceSystemException(PerformanceResultEnum.GET_LOAN_RECORD, e.getMessage());
} 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;
/**
* @Author: 艾庆国
* @Description: 结算 mq
* @Description: 货主结算 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
......@@ -28,10 +28,10 @@ public class SettlementSettleListener {
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_SETTLE_QUEUE)
public void process(Message message) {
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());
}catch (Exception e){
log.info("结算-结算 失败",e);
log.info("结算-货主结算 失败",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,24 +111,68 @@ 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)
public void updatePoundAudit(PoundAuditParam param) {
//运单详情
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) {
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);
BigDecimal loadNet = orderChild.getLoadNet();
BigDecimal unLoadNet = orderChild.getUnloadNet();
if (Objects.equals(param.getStatus(), OrderChildPoundAuditEnum.Status.APPROVED.getCode())) {
loadNet = param.getLoadRough().subtract(param.getLoadTare());
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())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCELED);
}
......
......@@ -872,14 +872,24 @@ public class OrderChildServiceImpl implements OrderChildService {
public void updateLoad(OrderChildLoadParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
BigDecimal loadNet = param.getLoadRough().subtract(param.getLoadTare());
String childNo = param.getChildNo();
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);
BigDecimal loadNet;
if (param.getLoadNet() == null) {
loadNet = param.getLoadRough().subtract(param.getLoadTare());
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);
}
}else {
loadNet = param.getLoadNet();
param.setLoadRough(null);
param.setLoadTare(null);
}
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(
PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
if (Objects.equals(orderChild.getDriverUserNo(), userNo)) {
......@@ -918,8 +928,7 @@ public class OrderChildServiceImpl implements OrderChildService {
if (orderChild.getLoadTime() == null &&
Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.ARRIVE_SEND.getCode())) {
//计算司机保证金
BigDecimal net = param.getLoadRough().subtract(param.getLoadTare());
PaymentDTO paymentDTO = getPaymentDTO(net, orderChild);
PaymentDTO paymentDTO = getPaymentDTO(loadNet, orderChild);
if (Objects.nonNull(paymentDTO.getPlatformServiceFeeNew()) &&
paymentDTO.getPlatformServiceFeeNew().compareTo(BigDecimal.ZERO) != 0) {
orderChild.setPlatformServiceFee(paymentDTO.getPlatformServiceFeeNew());
......@@ -936,8 +945,7 @@ public class OrderChildServiceImpl implements OrderChildService {
}
} else {
//计算司机保证金
BigDecimal net =param.getLoadRough().subtract(param.getLoadTare());
PaymentDTO paymentDTO = getPaymentDTO(net, orderChild);
PaymentDTO paymentDTO = getPaymentDTO(loadNet, orderChild);
if (Objects.nonNull(paymentDTO.getPlatformServiceFeeNew()) &&
paymentDTO.getPlatformServiceFeeNew().compareTo(BigDecimal.ZERO) != 0) {
orderChild.setPlatformServiceFee(paymentDTO.getPlatformServiceFeeNew());
......@@ -996,12 +1004,11 @@ public class OrderChildServiceImpl implements OrderChildService {
private void updateLoadFirst(OrderChildLoadParam param, OrderChild orderChild, OrderGoods orderGoods) {
String childNo = param.getChildNo();
BigDecimal loadNet = param.getLoadRough().subtract(param.getLoadTare());
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);
BigDecimal loadNet;
if (param.getLoadNet() == null) {
loadNet = param.getLoadRough().subtract(param.getLoadTare());
}else {
loadNet = param.getLoadNet();
}
// // 装车时间验证
......@@ -1049,12 +1056,11 @@ public class OrderChildServiceImpl implements OrderChildService {
private void updateReload(OrderChildLoadParam param, OrderChild orderChild, OrderGoods orderGoods) {
String childNo = param.getChildNo();
log.info("装车毛重:{}, 装车皮重:{}", param.getLoadRough(), param.getLoadTare());
BigDecimal loadNet = param.getLoadRough().subtract(param.getLoadTare());
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);
BigDecimal loadNet;
if (param.getLoadNet() == null) {
loadNet = param.getLoadRough().subtract(param.getLoadTare());
}else {
loadNet = param.getLoadNet();
}
List<OrderChildImage> imageList = new ArrayList<>();
......@@ -1109,6 +1115,22 @@ public class OrderChildServiceImpl implements OrderChildService {
// throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_UNLOAD_WEIGHT_ERROR);
// }
BigDecimal unLoadNet;
if (param.getUnloadNet() == null) {
unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
if (unLoadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
}
if (param.getUnloadTare().compareTo(param.getUnloadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
}
}
else {
unLoadNet = param.getUnloadNet();
param.setUnloadRough(null);
param.setUnloadTare(null);
}
//交货时间不可早于到达目的地时间
LocalDateTime unloadTime = StringUtils.isBlank(param.getUnloadTime()) ? null : covertStringToDefaultLocalDateTime(param.getUnloadTime());
if (unloadTime!=null && unloadTime.isBefore(orderChild.getArriveReceiveTime())) {
......@@ -1185,12 +1207,13 @@ public class OrderChildServiceImpl implements OrderChildService {
private void updateUnloadFirst(OrderChildUnloadParam param, OrderChild orderChild) {
String childNo = param.getChildNo();
BigDecimal loadNet = param.getUnloadRough().subtract(param.getUnloadTare());
if (loadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
BigDecimal unLoadNet;
if (param.getUnloadNet() == null) {
unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
}
if (param.getUnloadTare().compareTo(param.getUnloadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
else {
unLoadNet = param.getUnloadNet();
}
// // 装车时间验证
......@@ -1216,7 +1239,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setUnloadRough(param.getUnloadRough());
orderChild.setUnloadTare(param.getUnloadTare());
orderChild.setUnloadNet(loadNet);
orderChild.setUnloadNet(unLoadNet);
orderChild.setUnloadTime(StringUtils.isBlank(param.getUnloadTime())?LocalDateTime.now():covertStringToDefaultLocalDateTime(param.getUnloadTime()));
orderChild.setWeight(orderChildWeightCalc(orderChild));
orderChild.setStatus(OrderChildEnum.Status.UNLOAD.getCode());
......@@ -1255,13 +1278,14 @@ public class OrderChildServiceImpl implements OrderChildService {
private void updateReUnload(OrderChildUnloadParam param, OrderChild orderChild) {
String childNo = param.getChildNo();
BigDecimal loadNet = orderChild.getUnloadRough().subtract(orderChild.getUnloadTare());
if (loadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
BigDecimal unLoadNet;
if (param.getUnloadNet() == null) {
unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
}
if (param.getUnloadTare().compareTo(param.getUnloadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
else {
unLoadNet = param.getUnloadNet();
}
// 审核中
if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.AUDIT.getCode())) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_POUND_AUDIT);
......@@ -1278,7 +1302,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setUnloadRough(param.getUnloadRough());
orderChild.setUnloadTare(param.getUnloadTare());
orderChild.setUnloadNet(loadNet);
orderChild.setUnloadNet(unLoadNet);
orderChild.setUnloadTime(StringUtils.isBlank(param.getUnloadTime())?LocalDateTime.now():covertStringToDefaultLocalDateTime(param.getUnloadTime()));
orderChild.setWeight(orderChildWeightCalc(orderChild));
orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
......@@ -1305,20 +1329,37 @@ public class OrderChildServiceImpl implements OrderChildService {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
String childNo = param.getChildNo();
BigDecimal loadNet = param.getLoadRough().subtract(param.getLoadTare());
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);
BigDecimal loadNet;
if (param.getLoadNet() == null) {
loadNet = param.getLoadRough().subtract(param.getLoadTare());
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);
}
}else {
loadNet = param.getLoadNet();
param.setLoadRough(null);
param.setLoadTare(null);
}
BigDecimal unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
if (unLoadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
BigDecimal unLoadNet;
if (param.getUnloadNet() == null) {
unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
if (unLoadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
}
if (param.getUnloadTare().compareTo(param.getUnloadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
}
}
if (param.getUnloadTare().compareTo(param.getUnloadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
else {
unLoadNet = param.getUnloadNet();
param.setUnloadRough(null);
param.setUnloadTare(null);
}
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(
......@@ -1416,7 +1457,7 @@ public class OrderChildServiceImpl implements OrderChildService {
audit.setLoadTare(orderChild.getLoadTare());
//计算司机保证金
BigDecimal net =param.getLoadRough().subtract(param.getLoadTare());
BigDecimal net = loadNet;
PaymentDTO paymentDTO = getPaymentDTO(net, orderChild);
if (Objects.nonNull(paymentDTO.getPlatformServiceFeeNew()) &&
paymentDTO.getPlatformServiceFeeNew().compareTo(BigDecimal.ZERO) != 0) {
......
......@@ -18,6 +18,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
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.BrokerOrderChildUpdateMqParam;
import lombok.extern.slf4j.Slf4j;
......@@ -51,6 +52,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired
private SettlementOrderChildRiskDao settlementOrderChildRiskDao;
@Autowired
private SettlementPostService settlementPostService;
@Transactional(rollbackFor = Exception.class)
@Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
......@@ -77,6 +81,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark("同步无车承运异常");
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
}
}
public void doOrderChildSync(BrokerOrderChildSyncMqParam mq){
......
......@@ -40,10 +40,7 @@ import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.RedisUtil;
import com.clx.performance.utils.spring.ApplicationContextUtils;
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.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
import com.clx.performance.vo.mq.settle.*;
import com.clx.performance.vo.pc.broker.TransportVO;
import com.clx.user.vo.feign.DriverInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
......@@ -172,17 +169,17 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 拆单
if (Objects.equals(mq.getType(), SettlementStatisticsMqParam.Type.SEPARATE.getCode())){
settlementStatisticsSeparate(settlementOwnerDetail, settlementDriverDetail);
settlementStatisticsSeparate(settlementOwnerDetail);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
return;
}
log.info("当前车主计费信息{},司机计费信息:{}", JSONUtil.parse(settlementOwnerDetail), JSONUtil.parse(settlementDriverDetail));
if (settlementOwnerDetail.getInvoiceFreight() == null) {
log.info("当前车主计费信息开票金额为空,需要重新处理计算开票金额");
settlementOwnerDetail.setInvoiceFreight(invoiceFreightCalc(orderChild.getSettlementWay(), orderGoods.getInvoiceServiceFeeRate(), settlementOwnerDetail));
......@@ -243,8 +240,69 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
}
//生成车主结算单
settlementDriverSave(settlementDriverDetail,settlementNo);
// 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo);
settlementOwnerDetailDao.updateSettlementNo(settlementOwnerDetail);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void settlementDriverSettlement(SettlementDriverSettleMqParam mq) {
OrderChild orderChild = orderChildDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriver settlementDriver = settlementDriverDao.findByChildNo(settlementDriverDetail.getChildNo()).orNull();
if (settlementDriver != null) {return;}
String settlementNo = settlementNoGenerate();
settlementDriver = new SettlementDriver();
settlementDriver.setDriverUserNo(settlementDriverDetail.getDriverUserNo());
settlementDriver.setDriverName(settlementDriverDetail.getDriverName());
settlementDriver.setSettlementNo(settlementNo);
settlementDriver.setChildNo(settlementDriverDetail.getChildNo());
settlementDriver.setOrderGoodsNo(settlementDriverDetail.getOrderGoodsNo());
settlementDriver.setOrderNo(settlementDriverDetail.getOrderNo());
settlementDriver.setGoodsId(settlementDriverDetail.getGoodsId());
settlementDriver.setGoodsName(settlementDriverDetail.getGoodsName());
settlementDriver.setTruckNo(settlementDriverDetail.getTruckNo());
settlementDriver.setFreightPrice(settlementDriverDetail.getFreightPrice());
settlementDriver.setWeight(settlementDriverDetail.getWeight());
settlementDriver.setFreight(settlementDriverDetail.getFreight());
settlementDriver.setLossPrice(settlementDriverDetail.getLossPrice());
settlementDriver.setLossWeight(settlementDriverDetail.getLossWeight());
settlementDriver.setLoanFlag(settlementDriverDetail.getLoanFlag());
settlementDriver.setLossFreight(settlementDriverDetail.getLossFreight());
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriver.setSettlementFreight(settlementDriverDetail.getSettlementFreight());
settlementDriver.setInvoiceType(settlementDriverDetail.getInvoiceType());
settlementDriver.setSettlementPlatform(settlementDriverDetail.getInvoiceType() == 1 ?
String.valueOf(SettlementPlatformEnum.Platform.WY.getCode()):
String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
settlementDriver.setPlatformServiceFeeRate(settlementDriverDetail.getPlatformServiceFeeRate());
settlementDriver.setPlatformServiceFee(settlementDriverDetail.getPlatformServiceFee());
settlementDriverDao.saveEntity(settlementDriver);
settlementDriverDetail.setSettlementNo(settlementDriver.getSettlementNo());
settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail);
//车主结算单自动支付
log.info(" 运单号 {}, 是否是普通单 {} ",settlementDriverDetail.getChildNo(),settlementDriverDetail.getInvoiceType());
if (!settlementDriverDetail.getInvoiceType().equals(SettlementOwnerEnum.InvoiceType.ONLINE.getCode())) {
......@@ -258,19 +316,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
else if (settlementDriverDetail.getPrepayFreightFlag().equals(SettlementDriverEnum.PrepayFreightFlag.PAYED.getCode())
&& settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
&& settlementDriverDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
settlementDriverDetail.setSettlementNo(settlementNo);
//插入同步网络货运待支付记录
childSyncTransportRecordService.addOrderChildSyncTransportRecord(settlementDriverDetail);
}
}
// 更新结算单
settlementOwnerDetail.setSettlementNo(settlementNo);
settlementDriverDetail.setSettlementNo(settlementNo);
settlementOwnerDetailDao.updateSettlementNo(settlementOwnerDetail);
settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail);
}
@Transactional(rollbackFor = Exception.class)
......@@ -343,6 +395,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
return;
}
else {
......@@ -407,6 +461,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
return;
}
......@@ -482,6 +538,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
return;
}
......@@ -520,6 +578,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSettleMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
}
}
......@@ -858,7 +918,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
/**
* 月结更新
*/
private void settlementStatisticsSeparate(SettlementOwnerDetail settlementOwnerDetail, SettlementDriverDetail settlementDriverDetail){
private void settlementStatisticsSeparate(SettlementOwnerDetail settlementOwnerDetail){
String settlementNo = settlementOwnerDetail.getSettlementNo();
SettlementOwner settlementOwner = settlementOwnerDao
.findBySettlementNo(settlementNo).orElseThrow(ResultEnum.DATA_NOT_FIND);
......@@ -900,10 +960,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail.setSettlementNo(null);
settlementOwnerDetail.setSeparateRemark("系统自动拆单(原结算单号"+settlementNo+")");
settlementDriverDetail.setSettlementNo(null);
settlementOwnerDetailDao.updateClearSettlementNo(settlementOwnerDetail);
settlementDriverDetailDao.updateClearSettlementNo(settlementDriverDetail);
}
/**
......@@ -914,6 +972,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return uniqueOrderNumService.getUniqueOrderNum(com.msl.common.utils.LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), com.msl.common.utils.LocalDateTimeUtils.DATE_DAY));
}
@Override
public void riskAdd(SettlementOrderChildRiskAddMqParam mq) {
}
@Transactional(rollbackFor = Exception.class)
@Override
public void riskProcess(SettlementOrderChildRiskProcessMqParam mq) {
......@@ -929,6 +992,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementMqService.settlementStatistics(childNo, SettlementStatisticsMqParam.Type.SEPARATE.getCode());
}
// 发送mq (车主结算)
settlementMqService.settlementDriverSettle(childNo);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(childNo);
}
......@@ -954,7 +1020,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriver settlementDriver = settlementDriverDao
.getByChildNo(childNo).orNull();
OrderChild orderChild = orderChildDao
.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
......@@ -995,9 +1062,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail);
settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
if (settlementDriver != null) {
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
}
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;
}
......@@ -1007,11 +1086,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 结算统计
......
......@@ -6,10 +6,7 @@ import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqService;
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.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
import com.clx.performance.vo.mq.settle.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
......@@ -60,6 +57,19 @@ public class SettlementMqServiceImpl implements SettlementMqService {
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
public void invoiceTypeSync(String childNo) {
......@@ -114,6 +124,18 @@ public class SettlementMqServiceImpl implements SettlementMqService {
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
public void riskProcess(Integer id) {
SettlementOrderChildRiskProcessMqParam mq = new SettlementOrderChildRiskProcessMqParam();
......
......@@ -99,12 +99,17 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
if (settlementDriver != null) {
// 删除结算单
settlementDriverDao.deleteByKey(settlementDriver.getId());
settlementDriver.setInvoiceType(settlementDriverDetail.getInvoiceType());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
}
else {
}
settlementOrderChildRiskDao.updateProcess(settlementOrderChildRisk);
......
......@@ -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;
import com.clx.performance.model.settle.SettlementDriverDetail;
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.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
import com.clx.performance.vo.mq.settle.*;
public interface SettlementMqHandlerService {
void settlementDetailAdd(SettlementDetailAddMqParam mq);
void settlementStatistics(SettlementStatisticsMqParam mq);
void settlementDriverSettlement(SettlementDriverSettleMqParam mq);
void settle(SettlementSettleMqParam mq);
......@@ -27,6 +25,7 @@ public interface SettlementMqHandlerService {
String settlementNoGenerate();
void riskAdd(SettlementOrderChildRiskAddMqParam mq);
void riskProcess(SettlementOrderChildRiskProcessMqParam mq);
void invoiceCompanyUpdate(SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq);
......
......@@ -6,6 +6,7 @@ public interface SettlementMqService {
void settlementStatistics(String childNo);
void settlementStatistics(String childNo, Integer type);
void settlementDriverSettle(String childNo);
void invoiceTypeSync(String childNo);
......@@ -15,6 +16,8 @@ public interface SettlementMqService {
void payStatusSync(String childNo);
void riskAdd(Integer id);
void riskProcess(Integer id);
void updateInvoiceCompany(Integer id);
......
......@@ -15,4 +15,6 @@ public interface SettlementPostService {
void updateInvoice(List<String> childNoList);
void riskAdd(Integer id);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论