提交 a38c0400 authored 作者: liuhaiquan's avatar liuhaiquan

Merge branch 'v10.7_borrowing_and_repayment_20240118' into test

...@@ -33,6 +33,7 @@ public enum BankTradeEnum { ...@@ -33,6 +33,7 @@ public enum BankTradeEnum {
@AllArgsConstructor @AllArgsConstructor
public enum OrderType { public enum OrderType {
OWNER_LOAN_RECORD(1, "货主借款"), OWNER_LOAN_RECORD(1, "货主借款"),
OWNER_REPAYMENT_RECORD(2, "货主还款"),
; ;
......
...@@ -16,7 +16,7 @@ public enum OwnerLoanAccountRunningWaterRecordEnum { ...@@ -16,7 +16,7 @@ public enum OwnerLoanAccountRunningWaterRecordEnum {
public enum RunWaterType { public enum RunWaterType {
APPROVE_WAIT(80, "借款"), APPROVE_WAIT(80, "借款"),
APPROVE_FROZEN(90, "冻结"), APPROVE_FROZEN(90, "冻结"),
APPROVE_CHILD_WRITE_OFF(100, "运单核销"), APPROVE_CHILD_WRITE_OFF(100, "运单抵扣"),
APPROVE_THAW(110, "解冻"), APPROVE_THAW(110, "解冻"),
; ;
......
...@@ -19,7 +19,7 @@ public class PageOwnerLoanAccountWaterRecordOfOwnerParam extends PageParam { ...@@ -19,7 +19,7 @@ public class PageOwnerLoanAccountWaterRecordOfOwnerParam extends PageParam {
private Long runningWaterNo; private Long runningWaterNo;
@ApiModelProperty(value = "运单编号", example = "10000") @ApiModelProperty(value = "运单编号", example = "10000")
private String childNo; private String childNo;
@ApiModelProperty(value = "流水类型 70:运单核销 80:借款", example = "10") @ApiModelProperty(value = "流水类型 80:借款 90:冻结 100:运单抵扣 110:解冻", example = "10")
private Integer runningWaterType; private Integer runningWaterType;
} }
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier; package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.OwnerAccountEnum;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.msl.common.convertor.type.MoneyOutConvert; import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -32,7 +33,11 @@ public class CarrierOwnerLoanAccountVO { ...@@ -32,7 +33,11 @@ public class CarrierOwnerLoanAccountVO {
@ApiModelProperty(value = "联系电话", example = "13000000000") @ApiModelProperty(value = "联系电话", example = "13000000000")
private String mobile; private String mobile;
@ApiModelProperty(value = "默认 3:借款账户", example = "3") @ApiModelProperty(value = "默认 3:借款账户", example = "3")
private Integer accountType; private String accountType;
public String getAccountType(){
return OwnerAccountEnum.AccountTypeStatus.LOAN_ACCOUNT.getMsg();
}
@ApiModelProperty(value = "账户余额 (元) ", example = "1.23") @ApiModelProperty(value = "账户余额 (元) ", example = "1.23")
private BigDecimal amount; private BigDecimal amount;
......
...@@ -39,9 +39,9 @@ public class OwnerLoanAccountRunningWaterRecordVO { ...@@ -39,9 +39,9 @@ public class OwnerLoanAccountRunningWaterRecordVO {
private Long loanNo; private Long loanNo;
@ApiModelProperty(value = "运单编号", example = "100000") @ApiModelProperty(value = "运单编号", example = "100000")
private String childNo; private String childNo;
@ApiModelProperty(value = "流水类型 70:运单核销 80:借款", example = "10") @ApiModelProperty(value = "流水类型 80:借款 90:冻结 100:运单抵扣 110:解冻", example = "10")
private Integer runningWaterType; private Integer runningWaterType;
@ApiModelProperty(value = "流水类型 70:运单核销 80:借款", example = "10") @ApiModelProperty(value = "流水类型 80:借款 90:冻结 100:运单抵扣 110:解冻", example = "10")
private String runningWaterTypeMsg; private String runningWaterTypeMsg;
public String getRunningWaterTypeMsg() { public String getRunningWaterTypeMsg() {
return OwnerLoanAccountRunningWaterRecordEnum.RunWaterType.getMsgByCode(runningWaterType); return OwnerLoanAccountRunningWaterRecordEnum.RunWaterType.getMsgByCode(runningWaterType);
......
...@@ -124,12 +124,12 @@ public class CarrierOwnerLoanRecordController { ...@@ -124,12 +124,12 @@ public class CarrierOwnerLoanRecordController {
// return Result.ok(); // return Result.ok();
// } // }
@ApiOperation(value = "借款支付取消",notes = "<br>By:艾庆国") /* @ApiOperation(value = "借款支付取消",notes = "<br>By:艾庆国")
@PostMapping("/updateOwnerLoanRecordPayCancel") @PostMapping("/updateOwnerLoanRecordPayCancel")
public Result<Object> updateOwnerLoanRecordPayCancel(@RequestBody @Validated CarrierOwnerLoanRecordPayCancelParam param) { public Result<Object> updateOwnerLoanRecordPayCancel(@RequestBody @Validated CarrierOwnerLoanRecordPayCancelParam param) {
ownerLoanRecordService.updateOwnerLoanRecordPayCancel(param); ownerLoanRecordService.updateOwnerLoanRecordPayCancel(param);
return Result.ok(); return Result.ok();
} }*/
@ApiOperation(value = "转账支付-借款短信", notes = "<br>By:姜文业") @ApiOperation(value = "转账支付-借款短信", notes = "<br>By:姜文业")
@GetMapping("/sendLoanSms") @GetMapping("/sendLoanSms")
......
...@@ -85,11 +85,13 @@ public class OwnerLoanRecordDaoImpl extends BaseDaoImpl<OwnerLoanRecordMapper, O ...@@ -85,11 +85,13 @@ public class OwnerLoanRecordDaoImpl extends BaseDaoImpl<OwnerLoanRecordMapper, O
return update(lUdWrapper() return update(lUdWrapper()
.eq(OwnerLoanRecord::getId, item.getId()) .eq(OwnerLoanRecord::getId, item.getId())
.set(OwnerLoanRecord::getStatus, item.getStatus()) .set(OwnerLoanRecord::getStatus, item.getStatus())
.set(OwnerLoanRecord::getPayChannel, item.getPayChannel())
.set(OwnerLoanRecord::getRunningWaterOpenNo, item.getRunningWaterOpenNo()) .set(OwnerLoanRecord::getRunningWaterOpenNo, item.getRunningWaterOpenNo())
.set(OwnerLoanRecord::getMerchantRunningWaterNo, item.getMerchantRunningWaterNo()) .set(OwnerLoanRecord::getMerchantRunningWaterNo, item.getMerchantRunningWaterNo())
.set(OwnerLoanRecord::getRemittanceIdentificationCode, item.getRemittanceIdentificationCode()) .set(OwnerLoanRecord::getRemittanceIdentificationCode, item.getRemittanceIdentificationCode())
.set(OwnerLoanRecord::getCloseOrderTime, item.getCloseOrderTime())
.set(OwnerLoanRecord::getLoanResidueBalance, item.getLoanResidueBalance()) .set(OwnerLoanRecord::getLoanResidueBalance, item.getLoanResidueBalance())
.set(OwnerLoanRecord::getCloseOrderTime, item.getCloseOrderTime())
.set(OwnerLoanRecord::getRemittanceIdentificationCode, item.getRemittanceIdentificationCode()) .set(OwnerLoanRecord::getRemittanceIdentificationCode, item.getRemittanceIdentificationCode())
.set(OwnerLoanRecord::getLendingParty, item.getLendingParty()) .set(OwnerLoanRecord::getLendingParty, item.getLendingParty())
.set(OwnerLoanRecord::getLendingPartyAccount, item.getLendingPartyAccount()) .set(OwnerLoanRecord::getLendingPartyAccount, item.getLendingPartyAccount())
......
...@@ -76,6 +76,7 @@ public class OwnerRepaymentDaoImpl extends BaseDaoImpl<OwnerRepaymentMapper, Own ...@@ -76,6 +76,7 @@ public class OwnerRepaymentDaoImpl extends BaseDaoImpl<OwnerRepaymentMapper, Own
.set(OwnerRepayment::getRunningWaterOpenNo,ownerRepayment.getRunningWaterOpenNo()) .set(OwnerRepayment::getRunningWaterOpenNo,ownerRepayment.getRunningWaterOpenNo())
.set(OwnerRepayment::getMerchantRunningWaterNo,ownerRepayment.getMerchantRunningWaterNo()) .set(OwnerRepayment::getMerchantRunningWaterNo,ownerRepayment.getMerchantRunningWaterNo())
.set(OwnerRepayment::getPayChannel,ownerRepayment.getPayChannel()) .set(OwnerRepayment::getPayChannel,ownerRepayment.getPayChannel())
.set(OwnerRepayment::getCloseOrderTime, ownerRepayment.getCloseOrderTime())
.set(OwnerRepayment::getPayment,ownerRepayment.getPayment()) .set(OwnerRepayment::getPayment,ownerRepayment.getPayment())
.set(OwnerRepayment::getPaymentAccount,ownerRepayment.getPaymentAccount()) .set(OwnerRepayment::getPaymentAccount,ownerRepayment.getPaymentAccount())
......
package com.clx.performance.listener; //package com.clx.performance.listener;
//
import cn.hutool.json.JSONUtil; //import cn.hutool.json.JSONUtil;
import com.clx.performance.component.OrderChildLoanComponent; //import com.clx.performance.component.OrderChildLoanComponent;
import com.clx.performance.constant.RabbitKeyConstants; //import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; //import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; //import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.dto.OwnerLoanMqDTO; //import com.clx.performance.dto.OwnerLoanMqDTO;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; //import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.event.SettlementUpdateEvent; //import com.clx.performance.event.SettlementUpdateEvent;
import com.clx.performance.model.OrderChild; //import com.clx.performance.model.OrderChild;
import com.clx.performance.model.settle.SettlementDriverDetail; //import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwnerDetail; //import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.settle.SettlementMqService; //import com.clx.performance.service.settle.SettlementMqService;
import lombok.AllArgsConstructor; //import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener; //import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.context.ApplicationEventPublisher; //import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component; //import org.springframework.stereotype.Component;
import org.springframework.transaction.PlatformTransactionManager; //import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition; //import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus; //import org.springframework.transaction.TransactionStatus;
//
/** ///**
* 处理货主借款监听器 // * 处理货主借款监听器
*/ // */
@Slf4j //@Slf4j
@Component //@Component
@AllArgsConstructor //@AllArgsConstructor
public class OwnerLoanListener { //public class OwnerLoanListener {
//
private final OrderChildLoanComponent orderChildLoanComponent; // private final OrderChildLoanComponent orderChildLoanComponent;
//
private final SettlementMqService settlementMqService; // private final SettlementMqService settlementMqService;
//
private final ApplicationEventPublisher applicationEventPublisher; // private final ApplicationEventPublisher applicationEventPublisher;
//
private final SettlementOwnerDetailDao settlementOwnerDetailDao; // private final SettlementOwnerDetailDao settlementOwnerDetailDao;
//
private final SettlementDriverDetailDao settlementDriverDetailDao; // private final SettlementDriverDetailDao settlementDriverDetailDao;
//
private final PlatformTransactionManager platformTransactionManager; // private final PlatformTransactionManager platformTransactionManager;
//
private final TransactionDefinition transactionDefinition; // private final TransactionDefinition transactionDefinition;
//
@RabbitListener(queues = RabbitKeyConstants.OWNER_LOAN_QUEUE) // @RabbitListener(queues = RabbitKeyConstants.OWNER_LOAN_QUEUE)
public void onMessage(String message) { // public void onMessage(String message) {
TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition); // TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
//
log.info("处理货主借款监听器执行,数据为{}", message); // log.info("处理货主借款监听器执行,数据为{}", message);
OwnerLoanMqDTO param = JSONUtil.toBean(message, OwnerLoanMqDTO.class); // OwnerLoanMqDTO param = JSONUtil.toBean(message, OwnerLoanMqDTO.class);
SettlementOwnerDetail settlementOwnerDetail = param.getSettlementOwnerDetail(); // SettlementOwnerDetail settlementOwnerDetail = param.getSettlementOwnerDetail();
SettlementDriverDetail settlementDriverDetail = param.getSettlementDriverDetail(); // SettlementDriverDetail settlementDriverDetail = param.getSettlementDriverDetail();
OrderChild orderChild = param.getOrderChild(); // OrderChild orderChild = param.getOrderChild();
//
try { // try {
//生成借款标识 // //生成借款标识
orderChildLoanComponent.childLoanConfirmAfterProcess(settlementDriverDetail, settlementOwnerDetail, orderChild); // orderChildLoanComponent.childLoanConfirmAfterProcess(settlementDriverDetail, settlementOwnerDetail, orderChild);
} catch (Exception e) { // } catch (Exception e) {
//未借款 // //未借款
settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.NO_LOAN.getCode()); // settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.NO_LOAN.getCode());
applicationEventPublisher.publishEvent(new SettlementUpdateEvent(this, settlementDriverDetail, settlementOwnerDetail)); // applicationEventPublisher.publishEvent(new SettlementUpdateEvent(this, settlementDriverDetail, settlementOwnerDetail));
log.error("处理货主借款监听器执行异常,数据为{}", message, e); // log.error("处理货主借款监听器执行异常,数据为{}", message, e);
platformTransactionManager.commit(transactionStatus); // platformTransactionManager.commit(transactionStatus);
//
return; // return;
} // }
log.info("处理货主借款监听器执行成功"); // log.info("处理货主借款监听器执行成功");
settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail); // settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail);
settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail); // settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
//
// 发送mq 通过开票标识 // // 发送mq 通过开票标识
settlementMqService.invoiceTypeSync(settlementDriverDetail.getChildNo(), settlementDriverDetail.getInvoiceType()); // settlementMqService.invoiceTypeSync(settlementDriverDetail.getChildNo(), settlementDriverDetail.getInvoiceType());
platformTransactionManager.commit(transactionStatus); // platformTransactionManager.commit(transactionStatus);
//
} // }
} //}
...@@ -159,7 +159,7 @@ public class OwnerLoanRecord implements HasKey<Integer> { ...@@ -159,7 +159,7 @@ public class OwnerLoanRecord implements HasKey<Integer> {
@TableField("pay_channel") @TableField("pay_channel")
@ApiModelProperty("支付渠道 10 订单支付 20 转账支付") @ApiModelProperty("支付渠道 1 订单支付 2 转账支付")
private Integer payChannel; private Integer payChannel;
......
...@@ -87,6 +87,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -87,6 +87,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
entity.setVirtuallyUsableBalance(BigDecimal.ZERO); entity.setVirtuallyUsableBalance(BigDecimal.ZERO);
entity.setVirtuallyFrozenBalance(BigDecimal.ZERO); entity.setVirtuallyFrozenBalance(BigDecimal.ZERO);
entity.setAccountType(OwnerAccountEnum.AccountTypeStatus.LOAN_ACCOUNT.getCode()); entity.setAccountType(OwnerAccountEnum.AccountTypeStatus.LOAN_ACCOUNT.getCode());
entity.setCreateBy("系统");
ownerLoanAccountDao.saveEntity(entity); ownerLoanAccountDao.saveEntity(entity);
} }
...@@ -131,6 +132,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -131,6 +132,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
ownerRepayment.setRunningWaterOpenNo(orderPayResultVO.getTransSeqNo()); ownerRepayment.setRunningWaterOpenNo(orderPayResultVO.getTransSeqNo());
ownerRepayment.setMerchantRunningWaterNo(orderPayResultVO.getMerSeqNo()); ownerRepayment.setMerchantRunningWaterNo(orderPayResultVO.getMerSeqNo());
ownerRepayment.setRemittanceIdentificationCode(orderPayResultVO.getSignNo()); ownerRepayment.setRemittanceIdentificationCode(orderPayResultVO.getSignNo());
ownerRepayment.setCloseOrderTime(orderPayResultVO.getCloseDtTm());
bankTrade.setTradeType(BankTradeEnum.TradeType.ORDER_TRANSFER_PAY.getCode()); bankTrade.setTradeType(BankTradeEnum.TradeType.ORDER_TRANSFER_PAY.getCode());
} }
ownerRepayment.setStatus(OwnerLoanRecordEnum.Status.PAYING.getCode()); ownerRepayment.setStatus(OwnerLoanRecordEnum.Status.PAYING.getCode());
...@@ -143,7 +145,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -143,7 +145,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
ownerRepaymentDao.updateRePay(ownerRepayment); ownerRepaymentDao.updateRePay(ownerRepayment);
bankTrade.setRelationNo(ownerRepayment.getRepaymentNo().toString()); bankTrade.setRelationNo(ownerRepayment.getRepaymentNo().toString());
bankTrade.setOrderType(BankTradeEnum.OrderType.OWNER_LOAN_RECORD.getCode()); bankTrade.setOrderType(BankTradeEnum.OrderType.OWNER_REPAYMENT_RECORD.getCode());
bankTrade.setAmount(ownerLoanRecord.getLoanBalance()); bankTrade.setAmount(ownerLoanRecord.getLoanBalance());
bankTrade.setMerchantRunningWaterNo(ownerRepayment.getMerchantRunningWaterNo()); bankTrade.setMerchantRunningWaterNo(ownerRepayment.getMerchantRunningWaterNo());
bankTrade.setRunningWaterOpenNo(ownerRepayment.getRunningWaterOpenNo()); bankTrade.setRunningWaterOpenNo(ownerRepayment.getRunningWaterOpenNo());
......
...@@ -184,6 +184,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -184,6 +184,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//同意 //同意
ownerLoanRecord.setPayChannel(param.getPayChannel());
ownerLoanRecord.setLoanType(param.getLoanType()); ownerLoanRecord.setLoanType(param.getLoanType());
//设置借款记录中借款方和借出方的银行账户信息 //设置借款记录中借款方和借出方的银行账户信息
...@@ -238,7 +239,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -238,7 +239,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
} else { } else {
//拒绝 //拒绝
ownerLoanRecord.setRejectReason(param.getRejectReason()); ownerLoanRecord.setRejectReason(param.getRejectReason());
ownerLoanRecord.setLoanType(param.getLoanType());
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_REFUSE.getCode()); ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_REFUSE.getCode());
ownerLoanRecord.setApproveBy(TokenUtil.getLoginUserInfo().getUserName()); ownerLoanRecord.setApproveBy(TokenUtil.getLoginUserInfo().getUserName());
ownerLoanRecord.setApproveTime(LocalDateTime.now()); ownerLoanRecord.setApproveTime(LocalDateTime.now());
...@@ -273,9 +273,11 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -273,9 +273,11 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.PAYING.getCode()); ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.PAYING.getCode());
ownerLoanRecord.setLoanResidueBalance(ownerLoanRecord.getLoanBalance()); ownerLoanRecord.setLoanResidueBalance(ownerLoanRecord.getLoanBalance());
ownerLoanRecord.setRemittanceIdentificationCode(orderPayResultVO.getSignNo()); ownerLoanRecord.setRemittanceIdentificationCode(orderPayResultVO.getSignNo());
ownerLoanRecord.setCloseOrderTime(orderPayResultVO.getCloseDtTm());
bankTrade.setTradeType(BankTradeEnum.TradeType.ORDER_TRANSFER_PAY.getCode()); bankTrade.setTradeType(BankTradeEnum.TradeType.ORDER_TRANSFER_PAY.getCode());
} }
// 更新借款支付信息 // 更新借款支付信息
ownerLoanRecord.setPayChannel(param.getPayChannel());
ownerLoanRecordDao.updatePay(ownerLoanRecord); ownerLoanRecordDao.updatePay(ownerLoanRecord);
bankTrade.setRelationNo(ownerLoanRecord.getLoanNo().toString()); bankTrade.setRelationNo(ownerLoanRecord.getLoanNo().toString());
...@@ -406,7 +408,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -406,7 +408,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
PerformanceResultEnum.DATA_NOT_FIND); PerformanceResultEnum.DATA_NOT_FIND);
CarrierOwnerOrderPaymentDetailVO vo = ownerLoanRecordStruct.convertOrderPaymentDetail(ownerLoanRecord); CarrierOwnerOrderPaymentDetailVO vo = ownerLoanRecordStruct.convertOrderPaymentDetail(ownerLoanRecord);
vo.setPayer(ownerLoanRecord.getBorrower()); vo.setPayer(ownerLoanRecord.getBorrower());
vo.setPayerAccount(ownerLoanRecord.getPayeeAccount()); vo.setPayerAccount(ownerLoanRecord.getBorrowerAccount());
ClxPayeeConfig.PayeeConfig payeeMap = ClxPayeeConfig.getPayee(ClxPayeeConfig.XXH_ID); ClxPayeeConfig.PayeeConfig payeeMap = ClxPayeeConfig.getPayee(ClxPayeeConfig.XXH_ID);
vo.setPayee(payeeMap.getName()); vo.setPayee(payeeMap.getName());
vo.setPayeeAccount(payeeMap.getAccount()); vo.setPayeeAccount(payeeMap.getAccount());
...@@ -553,6 +555,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -553,6 +555,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
bankTrade.setAmount(ownerLoanRecord.getLoanBalance()); bankTrade.setAmount(ownerLoanRecord.getLoanBalance());
bankTrade.setMerchantRunningWaterNo(ownerLoanRecord.getMerchantRunningWaterNo()); bankTrade.setMerchantRunningWaterNo(ownerLoanRecord.getMerchantRunningWaterNo());
bankTrade.setRunningWaterOpenNo(ownerLoanRecord.getRunningWaterOpenNo()); bankTrade.setRunningWaterOpenNo(ownerLoanRecord.getRunningWaterOpenNo());
bankTrade.setRemark("借款单");
// 保存银行交易记录 // 保存银行交易记录
bankTradeDao.saveEntity(bankTrade); bankTradeDao.saveEntity(bankTrade);
...@@ -671,12 +674,11 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -671,12 +674,11 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR); throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR);
} }
NbBankOrderResultVO result = bankService.getResult(loanNo); NbBankOrderResultVO result = bankService.getResult(ownerLoanRecord.getMerchantRunningWaterNo());
Integer status = result.getStatus(); Integer status = result.getStatus();
if (!NbBankStatusEnum.Status.INIT.getCode().equals(status) if (NbBankStatusEnum.Status.FAIL.getCode().equals(status)
&& !NbBankStatusEnum.Status.FAIL.getCode().equals(status) || NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
&& !NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
) { ) {
log.info("宁波银行响应当前业务,不能取消{}", JSONUtil.parse(result)); log.info("宁波银行响应当前业务,不能取消{}", JSONUtil.parse(result));
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR); throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR);
...@@ -685,10 +687,13 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -685,10 +687,13 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_WAIT.getCode()); ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_WAIT.getCode());
ownerLoanRecordDao.updateStatusById(ownerLoanRecord); ownerLoanRecordDao.updateStatusById(ownerLoanRecord);
BankTrade bankTrade = bankTradeDao.selectByRelationNo(loanNo).get(); if (OwnerLoanRecordEnum.PayChannel.ORDER_DIRECT_PAY.getCode().equals(ownerLoanRecord.getPayChannel())) {
Integer tradeType = bankTrade.getTradeType(); //如果是订单支付,需要调用宁波退款接口
// 调用宁波退款 BankTrade bankTrade = bankTradeDao.selectByRelationNo(loanNo).get();
bankService.refund(tradeType, bankTrade.getMerchantRunningWaterNo(), Integer.valueOf(ownerLoanRecord.getLoanBalance().movePointRight(2).toString()), bankTrade.getRunningWaterOpenNo()); Integer tradeType = bankTrade.getTradeType();
// 调用宁波退款
bankService.refund(tradeType, bankTrade.getMerchantRunningWaterNo(), Integer.parseInt(ownerLoanRecord.getLoanBalance().toString()), bankTrade.getRunningWaterOpenNo());
}
} }
......
...@@ -235,9 +235,8 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -235,9 +235,8 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
NbBankOrderResultVO result = bankService.getResult(bankTrade.getMerchantRunningWaterNo()); NbBankOrderResultVO result = bankService.getResult(bankTrade.getMerchantRunningWaterNo());
Integer status = result.getStatus(); Integer status = result.getStatus();
if (!NbBankStatusEnum.Status.INIT.getCode().equals(status) if (NbBankStatusEnum.Status.FAIL.getCode().equals(status)
&& !NbBankStatusEnum.Status.FAIL.getCode().equals(status) || NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
&& !NbBankStatusEnum.Status.NOT_FOUND.getCode().equals(status)
) { ) {
log.info("宁波银行响应当前业务,不能取消{}", JSONUtil.parse(result)); log.info("宁波银行响应当前业务,不能取消{}", JSONUtil.parse(result));
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR); throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR);
...@@ -245,10 +244,12 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -245,10 +244,12 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
log.info("还款记录取消,更新状态为待审批"); log.info("还款记录取消,更新状态为待审批");
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_WAIT.getCode()); ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_WAIT.getCode());
ownerRepaymentDao.updateStatusById(ownerRepayment); ownerRepaymentDao.updateStatusById(ownerRepayment);
if (OwnerLoanRecordEnum.PayChannel.ORDER_DIRECT_PAY.getCode().equals(ownerRepayment.getPayChannel())) {
Integer tradeType = bankTrade.getTradeType();
// 调用宁波退款
bankService.refund(tradeType, bankTrade.getMerchantRunningWaterNo(), Integer.valueOf(ownerRepayment.getRepaymentBalance().movePointRight(2).toString()), bankTrade.getRunningWaterOpenNo());
Integer tradeType = bankTrade.getTradeType(); }
// 调用宁波退款
bankService.refund(tradeType, bankTrade.getMerchantRunningWaterNo(), Integer.valueOf(ownerRepayment.getRepaymentBalance().movePointRight(2).toString()), bankTrade.getRunningWaterOpenNo());
} }
......
...@@ -130,6 +130,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -130,6 +130,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
} else if (Objects.equals(loanFlag, OwnerLoanRecordEnum.LoanFlag.RE_PAY.getCode())) { } else if (Objects.equals(loanFlag, OwnerLoanRecordEnum.LoanFlag.RE_PAY.getCode())) {
return OwnerLoanRecordEnum.LoanFlag.RE_PAY.getMsg(); return OwnerLoanRecordEnum.LoanFlag.RE_PAY.getMsg();
} }
return null; return "无需借款";
} }
} }
...@@ -86,6 +86,6 @@ public class SettlementDriverServiceImpl implements SettlementDriverService { ...@@ -86,6 +86,6 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
} else if (Objects.equals(loanFlag, OwnerLoanRecordEnum.LoanFlag.RE_PAY.getCode())) { } else if (Objects.equals(loanFlag, OwnerLoanRecordEnum.LoanFlag.RE_PAY.getCode())) {
return OwnerLoanRecordEnum.LoanFlag.RE_PAY.getMsg(); return OwnerLoanRecordEnum.LoanFlag.RE_PAY.getMsg();
} }
return null; return "无需借款";
} }
} }
...@@ -235,24 +235,24 @@ public class NbBankServiceImpl implements NbBankService { ...@@ -235,24 +235,24 @@ public class NbBankServiceImpl implements NbBankService {
// 更新状态 // 更新状态
bankTradeDao.updateStatus(bankTrade); bankTradeDao.updateStatus(bankTrade);
// 货主借款支付回调
if (Objects.equals(bankTrade.getOrderType(), BankTradeEnum.OrderType.OWNER_LOAN_RECORD.getCode())){
OwnerBankNotifyMqParam param = new OwnerBankNotifyMqParam();
param.setMerSeqNo(merSeqNo);
param.setPayStatus(transStatus);
Message message = MessageBuilder.withBody(JSONUtil.parse(param).toString().getBytes()).build();
if ("借款单".equals(bankTrade.getRemark())) {
//执行借款支付成功通知
rabbitTemplate.send(
RabbitKeyConstants.OWNER_LOAN_EXCHANGE, RabbitKeyConstants.OWNER_LOAN_PAY_ROUTE_KEY, message
);
} else if ("还款单".equals(bankTrade.getRemark())) {
rabbitTemplate.send(
RabbitKeyConstants.OWNER_LOAN_EXCHANGE, RabbitKeyConstants.OWNER_REPAYMENT_ROUTE_KEY, message
); }
OwnerBankNotifyMqParam param = new OwnerBankNotifyMqParam();
param.setMerSeqNo(merSeqNo);
param.setPayStatus(transStatus);
Message message = MessageBuilder.withBody(JSONUtil.parse(param).toString().getBytes()).build();
// 货主借款支付回调
if (Objects.equals(bankTrade.getOrderType(), BankTradeEnum.OrderType.OWNER_LOAN_RECORD.getCode())){
//执行借款支付成功通知
rabbitTemplate.send(
RabbitKeyConstants.OWNER_LOAN_EXCHANGE, RabbitKeyConstants.OWNER_LOAN_PAY_ROUTE_KEY, message
);
}
// 货主还款支付回调
else if (Objects.equals(bankTrade.getOrderType(), BankTradeEnum.OrderType.OWNER_REPAYMENT_RECORD.getCode())){
rabbitTemplate.send(
RabbitKeyConstants.OWNER_LOAN_EXCHANGE, RabbitKeyConstants.OWNER_REPAYMENT_ROUTE_KEY, message
);
} }
} }
......
...@@ -610,7 +610,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -610,7 +610,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
, requestDataJson.getString("merSeqNo") , requestDataJson.getString("merSeqNo")
, null , null
, responseDataJson.getString("transSeqNo") , responseDataJson.getString("transSeqNo")
, responseDataJson.getBigDecimal("trxAmt").movePointRight(2).intValue() , responseDataJson.getBigDecimal("trxAmt")==null? null : responseDataJson.getBigDecimal("trxAmt").movePointRight(2).intValue()
, JSON.toJSONString(request) , JSON.toJSONString(request)
, JSON.toJSONString(response) , JSON.toJSONString(response)
, responseDataJson.getString("errorCode") , responseDataJson.getString("errorCode")
...@@ -628,7 +628,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -628,7 +628,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
, responseDataJson.getString("merSeqNo") , responseDataJson.getString("merSeqNo")
, null , null
, responseDataJson.getString("transSeqNo") , responseDataJson.getString("transSeqNo")
, responseDataJson.getBigDecimal("trxAmt").movePointRight(2).intValue() , responseDataJson.getBigDecimal("trxAmt")==null? null : responseDataJson.getBigDecimal("trxAmt").movePointRight(2).intValue()
, JSON.toJSONString(request) , JSON.toJSONString(request)
, JSON.toJSONString(response) , JSON.toJSONString(response)
, null , null
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论