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

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118'…

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118' into v10.7_borrowing_and_repayment_20240118
......@@ -387,7 +387,7 @@ public class OrderChildLoanComponent {
try {
lock = redissonClient.getLock(RedissonConstants.ORDER_CHILD_LOAN_OWNER_USERID_LOCK + dto.getOwnerUserNo());
boolean flag = lock.tryLock(15, 30, TimeUnit.SECONDS);
boolean flag = lock.tryLock(3, 5, TimeUnit.SECONDS);
if (!flag) {
throw new ServiceSystemException(PerformanceResultEnum.GET_LOAN_RECORD);
}
......
......@@ -48,7 +48,7 @@ public class CarrierOwnerLoanRecordController {
return Result.ok();
}
@ApiOperation(value = "重新支付(只更改借款状态)",notes = "<br>By:胡宇帆")
@ApiOperation(value = "借款重新支付(只更改借款状态)",notes = "<br>By:胡宇帆")
@GetMapping("/ownerLoanRecordRetryPay")
public Result<Object> ownerLoanRecordRetryPay(@RequestParam(value = "loanNo") @NotBlank String loanNo) {
ownerLoanRecordService.ownerLoanRecordRetryPay(loanNo);
......
......@@ -69,11 +69,11 @@ public class OwnerLoanRecord implements HasKey<Integer> {
private BigDecimal loanResidueBalance;
@TableField("borrower_id")
@ApiModelProperty("借方Id")
@ApiModelProperty("借方Id")
private Integer borrowerId;
@TableField("borrower")
@ApiModelProperty("借方")
@ApiModelProperty("借方")
private String borrower;
@ApiModelProperty("借款方账户")
......@@ -90,7 +90,7 @@ public class OwnerLoanRecord implements HasKey<Integer> {
private String lendingParty;
@TableField("lending_party_account")
@ApiModelProperty("借方账户")
@ApiModelProperty("借方账户")
private String lendingPartyAccount;
@TableField("payee")
......
......@@ -128,9 +128,13 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
entity.setOwnerUserName(loginUserInfo.getUserName());
entity.setMobile(loginUserInfo.getUserMobile());
entity.setLoanBalance(param.getLoanBalance());
entity.setBorrowerId(param.getBorrowerId());
entity.setBorrower(param.getBorrower());
entity.setBorrowerAccount(ownerBindCardRecord.getBankCardNumber());
entity.setLendingParty(param.getLendingParty());
entity.setLendingPartyAccount(ownerBindCardRecord.getBankCardNumber());
entity.setPayee(param.getPayee());
entity.setPayeeAccount(param.getPayeeAccount());
entity.setCreateBy(loginUserInfo.getUserName());
......@@ -152,6 +156,44 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
ownerLoanRecord.setLoanType(param.getLoanType());
if (OwnerLoanRecordEnum.LoanType.FUND.getCode().equals(param.getLoanType())) {
//ownerLoanRecord.setStatus()
fundPayProcess(param, ownerLoanRecord, borrower);
} else {
// 虚拟币 直接增加 更改状态审批通过
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_PASS.getCode());
while (true) {
OwnerLoanAccount ownerLoanAccount = ownerLoanAccountDao.getOneByField(OwnerLoanAccount::getOwnerUserNo,
ownerLoanRecord.getOwnerUserNo()).get();
OwnerLoanAccount entity = new OwnerLoanAccount();
entity.setId(ownerLoanAccount.getId());
entity.setFundingAccountBalance(BigDecimal.ZERO);
entity.setFundingFrozenBalance(BigDecimal.ZERO);
entity.setFundingUsableBalance(BigDecimal.ZERO);
entity.setVirtuallyAccountBalance(ownerLoanRecord.getLoanBalance());
entity.setVirtuallyFrozenBalance(BigDecimal.ZERO);
entity.setVirtuallyUsableBalance(ownerLoanRecord.getLoanBalance());
entity.setModifiedTime(ownerLoanAccount.getModifiedTime());
Integer flag = ownerLoanAccountDao.updateAccountCAS(entity, LocalDateTime.now(), true);
if (flag == 1) {
//生成借款流水
initOwnerLoanRunningWaterRecord(ownerLoanRecord);
//生成还款记录
initOwnerRepayment(ownerLoanRecord);
break;
}
}
}
} else {
//拒绝
ownerLoanRecord.setLoanType(param.getLoanType());
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_REFUSE.getCode());
}
//更新借款记录
ownerLoanRecordDao.updateEntityByKey(ownerLoanRecord);
}
private void fundPayProcess(CarrierOwnerLoanRecordApproveParam param, OwnerLoanRecord ownerLoanRecord, Borrower borrower) {
//资金
BankTrade bankTrade = new BankTrade();
if (OwnerLoanRecordEnum.PayChannel.ORDER_DIRECT_PAY.getCode().equals(param.getPayChannel())) {
......@@ -189,39 +231,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
// 保存银行交易记录
bankTradeDao.saveEntity(bankTrade);
} else {
// 虚拟币 直接增加 更改状态审批通过
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_PASS.getCode());
while (true) {
OwnerLoanAccount ownerLoanAccount = ownerLoanAccountDao.getOneByField(OwnerLoanAccount::getOwnerUserNo,
ownerLoanRecord.getOwnerUserNo()).get();
OwnerLoanAccount entity = new OwnerLoanAccount();
entity.setId(ownerLoanAccount.getId());
entity.setFundingAccountBalance(BigDecimal.ZERO);
entity.setFundingFrozenBalance(BigDecimal.ZERO);
entity.setFundingUsableBalance(BigDecimal.ZERO);
entity.setVirtuallyAccountBalance(ownerLoanRecord.getLoanBalance());
entity.setVirtuallyFrozenBalance(BigDecimal.ZERO);
entity.setVirtuallyUsableBalance(ownerLoanRecord.getLoanBalance());
entity.setModifiedTime(ownerLoanAccount.getModifiedTime());
Integer flag = ownerLoanAccountDao.updateAccountCAS(entity, LocalDateTime.now(), true);
if (flag == 1) {
//生成借款流水
initOwnerLoanRunningWaterRecord(ownerLoanRecord);
/* //生成还款记录
initOwnerRepayment(ownerLoanRecord);*/
break;
}
}
}
} else {
//拒绝
ownerLoanRecord.setLoanType(param.getLoanType());
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_REFUSE.getCode());
}
//更新借款记录
ownerLoanRecordDao.updateEntityByKey(ownerLoanRecord);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论