提交 55f24c53 authored 作者: aiqingguo's avatar aiqingguo

违约结算单支付

上级 dadf5017
...@@ -29,7 +29,7 @@ public class PayParam { ...@@ -29,7 +29,7 @@ public class PayParam {
String tradeNo; String tradeNo;
@NotBlank(message = "交易单id不能为空") @NotBlank(message = "交易单id不能为空")
@ApiModelProperty(value = "交易单id", example = "23", dataType = "int") @ApiModelProperty(value = "交易单id", example = "23", dataType = "int")
Integer tradeId; String tradeId;
@NotBlank(message = "交易备注不能为空") @NotBlank(message = "交易备注不能为空")
@ApiModelProperty(value = "交易备注", example = "23", dataType = "int") @ApiModelProperty(value = "交易备注", example = "23", dataType = "int")
String remark; String remark;
......
...@@ -65,7 +65,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -65,7 +65,7 @@ public class PaymentServiceImpl implements PaymentService {
public Result paymentWallet(PayParam payDTO) { public Result paymentWallet(PayParam payDTO) {
/** 构建支付单元 **/ /** 构建支付单元 **/
PayUnitDTO payUnitDTO = PayUnitDTO.builder() PayUnitDTO payUnitDTO = PayUnitDTO.builder()
.id(payDTO.getTradeId().toString()) .id(payDTO.getTradeId())
.from(payDTO.getFrom()) .from(payDTO.getFrom())
.to(payDTO.getTo()) .to(payDTO.getTo())
.figure(payDTO.getFigure()) .figure(payDTO.getFigure())
......
...@@ -46,7 +46,7 @@ public class TempServiceImpl implements TempService { ...@@ -46,7 +46,7 @@ public class TempServiceImpl implements TempService {
.to(Integer.valueOf(toUser)) .to(Integer.valueOf(toUser))
.figure(Integer.valueOf(figure)) .figure(Integer.valueOf(figure))
.tradeNo(UUID.randomUUID().toString().replaceAll("-", "")) .tradeNo(UUID.randomUUID().toString().replaceAll("-", ""))
.tradeId(12345) .tradeId("12345")
.pwd("noCheckPwd") .pwd("noCheckPwd")
.remark(PayRemarkEnum.toString(PayRemarkEnum.FREIGHT_TO_OWNER.getValue())) .remark(PayRemarkEnum.toString(PayRemarkEnum.FREIGHT_TO_OWNER.getValue()))
.build(); .build();
......
...@@ -20,6 +20,7 @@ import com.clx.performance.param.mq.BreakContractOwnerRuleAddMqParam; ...@@ -20,6 +20,7 @@ import com.clx.performance.param.mq.BreakContractOwnerRuleAddMqParam;
import com.clx.performance.service.breakcontract.BreakContractMqHandlerService; import com.clx.performance.service.breakcontract.BreakContractMqHandlerService;
import com.clx.performance.service.breakcontract.BreakContractSettlementLogService; import com.clx.performance.service.breakcontract.BreakContractSettlementLogService;
import com.clx.performance.service.impl.UniqueOrderNumService; import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.service.payment.PayService;
import com.msl.common.utils.LocalDateTimeUtils; import com.msl.common.utils.LocalDateTimeUtils;
import com.msl.document.api.vo.ContractEvidenceRecordVo; import com.msl.document.api.vo.ContractEvidenceRecordVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -29,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -29,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Map; import java.util.Map;
import java.util.Objects;
@Slf4j @Slf4j
@Service @Service
...@@ -54,6 +56,9 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler ...@@ -54,6 +56,9 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
@Autowired @Autowired
private UniqueOrderNumService uniqueOrderNumService; private UniqueOrderNumService uniqueOrderNumService;
@Autowired
private PayService payService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void ownerRuleAdd(BreakContractOwnerRuleAddMqParam mq) { public void ownerRuleAdd(BreakContractOwnerRuleAddMqParam mq) {
...@@ -108,7 +113,7 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler ...@@ -108,7 +113,7 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
settlement.setChildNo(detail.getChildNo()); settlement.setChildNo(detail.getChildNo());
settlement.setFigure(detail.getFigure()); settlement.setFigure(detail.getFigure());
settlement.setBreakContractRemark(detail.getBreakContractRemark()); settlement.setBreakContractRemark(detail.getBreakContractRemark());
settlement.setSettleStatus(BreakContractSettlementDriverEnum.SettleStatus.NO.getCode()); settlement.setSettleStatus(BreakContractSettlementDriverEnum.SettleStatus.YES.getCode());
settlement.setCreateBy(detail.getCreateBy()); settlement.setCreateBy(detail.getCreateBy());
settlement.setCreateName(detail.getCreateName()); settlement.setCreateName(detail.getCreateName());
settlement.setSettlePlatform(BreakContractSettlementDriverEnum.SettlePlatform.MSL.getCode()); settlement.setSettlePlatform(BreakContractSettlementDriverEnum.SettlePlatform.MSL.getCode());
...@@ -119,6 +124,9 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler ...@@ -119,6 +124,9 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
breakContractSettlementDriverDao.saveEntity(settlement); breakContractSettlementDriverDao.saveEntity(settlement);
// 支付
pay(settlement);
//保存结算单日志----创建结算单 //保存结算单日志----创建结算单
breakContractSettlementLogService.saveBreakSettlementLog(settlementNo, breakContractSettlementLogService.saveBreakSettlementLog(settlementNo,
BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(), BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(),
...@@ -130,4 +138,21 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler ...@@ -130,4 +138,21 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), LocalDateTimeUtils.DATE_DAY)); LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), LocalDateTimeUtils.DATE_DAY));
} }
/**
* 支付
*/
private void pay(BreakContractSettlementDriver settlement){
// 车主
if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.DRIVER.getCode())){
payService.driverPay(settlement.getSettlementNo(), settlement.getDriverUserNo(), settlement.getFigure().intValue());
}
// 平台
else if (Objects.equals(settlement.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreakContractPartyType.PLATFORM.getCode())) {
payService.payDriver(settlement.getSettlementNo(), settlement.getDriverUserNo(), settlement.getFigure().intValue());
}
}
} }
package com.clx.performance.service.impl.payment;
import com.clx.performance.config.MslPaymentConfig;
import com.clx.performance.enums.PayRemarkEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.param.pc.payment.PayParam;
import com.clx.performance.service.PaymentService;
import com.clx.performance.service.payment.PayService;
import com.clx.user.vo.feign.DriverInfoFeignVo;
import com.msl.common.enums.ResultCodeEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class PayServiceImpl implements PayService {
@Autowired
private DriverService driverService;
@Autowired
private PaymentService paymentService;
@Autowired
private MslPaymentConfig mslPaymentConfig;
/**
* 司机支付平台
*/
@Override
public void driverPay(String settlementNo, Long driverUserNo, Integer figure) {
DriverInfoFeignVo driverInfoFeignVo = driverService.getDriverInfo(driverUserNo).orElseThrow(ResultCodeEnum.FAIL);
pay(driverInfoFeignVo.getWalletCode(), mslPaymentConfig.getTransportWalletCode(), figure, settlementNo, PayRemarkEnum.toString(PayRemarkEnum.COMPENSATION_TO_DRIVER.getValue()));
}
/**
* 平台支付司机
*/
@Override
public void payDriver(String settlementNo, Long driverUserNo, Integer figure) {
DriverInfoFeignVo driverInfoFeignVo = driverService.getDriverInfo(driverUserNo).orElseThrow(ResultCodeEnum.FAIL);
pay(mslPaymentConfig.getTransportWalletCode(), driverInfoFeignVo.getWalletCode(), figure, settlementNo, PayRemarkEnum.toString(PayRemarkEnum.COMPENSATION_TO_DRIVER.getValue()));
}
/**
* 支付
*/
private void pay(Integer walletCodeFrom, Integer walletCodeTo, Integer figure, String tradeNo, String remark){
PayParam noCheckPwd = PayParam.builder()
.from(walletCodeFrom)
.to(walletCodeTo)
.figure(figure)
.tradeNo(tradeNo)
.tradeId(tradeNo)
.pwd("noCheckPwd")
.remark(remark)
.build();
paymentService.paymentWallet(noCheckPwd);
}
}
package com.clx.performance.service.payment;
public interface PayService {
void driverPay(String settlementNo, Long driverUserNo, Integer figure);
void payDriver(String settlementNo, Long driverUserNo, Integer figure);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论