提交 acb9aa66 authored 作者: huyufan's avatar huyufan

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

Former-commit-id: 226f7387
...@@ -41,6 +41,7 @@ import com.clx.user.feign.OwnerFeign; ...@@ -41,6 +41,7 @@ import com.clx.user.feign.OwnerFeign;
import com.clx.user.vo.feign.OwnerInfoFeignVO; import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum; import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import com.msl.common.utils.DateUtils; import com.msl.common.utils.DateUtils;
import com.msl.document.api.feign.ContractEvidenceFeign; import com.msl.document.api.feign.ContractEvidenceFeign;
...@@ -98,10 +99,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -98,10 +99,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
private final ContractTemplateFeign contractTemplateFeign; private final ContractTemplateFeign contractTemplateFeign;
private final PaymentFromConfig paymentFromConfig; private final PaymentFromConfig paymentFromConfig;
private final DataSourceTransactionManager dataSourceTransactionManager;
private final TransactionDefinition transactionDefinition;
@Override @Override
public IPage<OwnerLoanRecordVO> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param) { public IPage<OwnerLoanRecordVO> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param) {
IPage<OwnerLoanRecord> page = ownerLoanRecordDao.pageOwnerLoanRecord(param); IPage<OwnerLoanRecord> page = ownerLoanRecordDao.pageOwnerLoanRecord(param);
...@@ -114,8 +111,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -114,8 +111,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
} }
@Override @Override
public void ownerLoanRecordSubmit(OwnerLoanRecordParam param) { public void ownerLoanRecordSubmit(OwnerLoanRecordParam param) {
...@@ -152,7 +147,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -152,7 +147,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
if (OwnerLoanRecordEnum.LoanType.FUND.getCode().equals(param.getLoanType())) { if (OwnerLoanRecordEnum.LoanType.FUND.getCode().equals(param.getLoanType())) {
//资金 TODO 调宁波银企直连的产品,从诚联信账户中给鑫祥和执行转账 //资金 TODO 调宁波银企直连的产品,从诚联信账户中给鑫祥和执行转账
NbBankOrderPayResultVO orderPayResultVO = bankService.orderDirectPay(param.getLoanNo() , NbBankOrderPayResultVO orderPayResultVO = bankService.orderDirectPay(param.getLoanNo(),
ownerLoanRecord.getLoanBalance().intValue(), "", "", ""); ownerLoanRecord.getLoanBalance().intValue(), "", "", "");
ownerLoanRecord.setRunningWaterOpenNo(orderPayResultVO.getTransSeqNo()); ownerLoanRecord.setRunningWaterOpenNo(orderPayResultVO.getTransSeqNo());
ownerLoanRecord.setMerchantRunningWaterNo(orderPayResultVO.getMerSeqNo()); ownerLoanRecord.setMerchantRunningWaterNo(orderPayResultVO.getMerSeqNo());
...@@ -199,6 +194,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -199,6 +194,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
/** /**
* 生成借款流水 * 生成借款流水
*
* @param ownerLoanRecord * @param ownerLoanRecord
*/ */
private void initOwnerLoanRunningWaterRecord(OwnerLoanRecord ownerLoanRecord) { private void initOwnerLoanRunningWaterRecord(OwnerLoanRecord ownerLoanRecord) {
...@@ -220,6 +216,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -220,6 +216,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
/** /**
* 生成还款记录 * 生成还款记录
*
* @param ownerLoanRecord * @param ownerLoanRecord
*/ */
private void initOwnerRepayment(OwnerLoanRecord ownerLoanRecord) { private void initOwnerRepayment(OwnerLoanRecord ownerLoanRecord) {
...@@ -248,14 +245,14 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -248,14 +245,14 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
@Override @Override
public OwnerLoanRecordDetail getOwnerLoanRecordDetail() { public OwnerLoanRecordDetail getOwnerLoanRecordDetail() {
List<BorrowerSelectVO> borrowerList = borrowerDao.selectAllBorrowConfig(); List<BorrowerSelectVO> borrowerList = borrowerDao.selectAllBorrowConfig();
Map<String,BorrowerSelectVO> map = new TreeMap<>(); Map<String, BorrowerSelectVO> map = new TreeMap<>();
for (BorrowerSelectVO item : borrowerList) { for (BorrowerSelectVO item : borrowerList) {
if(map.containsKey(item.getName())){ if (map.containsKey(item.getName())) {
if(Objects.equals(item.getType(),OwnerLoanRecordEnum.LoanType.VIRTUAL_CURRENCY.getCode())){ if (Objects.equals(item.getType(), OwnerLoanRecordEnum.LoanType.VIRTUAL_CURRENCY.getCode())) {
map.put(item.getName(),item); map.put(item.getName(), item);
} }
}else{ } else {
map.put(item.getName(),item); map.put(item.getName(), item);
} }
} }
OwnerLoanRecordDetail detail = new OwnerLoanRecordDetail(); OwnerLoanRecordDetail detail = new OwnerLoanRecordDetail();
...@@ -269,8 +266,8 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -269,8 +266,8 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
detail.setCompanyName(ownerInfoFeignVO.getCompanyName()); detail.setCompanyName(ownerInfoFeignVO.getCompanyName());
//收款方 //收款方
List<PayeeVO> payeeList =ClxPayeeConfig.payeeList.stream().map( List<PayeeVO> payeeList = ClxPayeeConfig.payeeList.stream().map(
item-> PayeeVO.builder().name(item.getName()).account(item.getAccount()).id(item.getId()).build() item -> PayeeVO.builder().name(item.getName()).account(item.getAccount()).id(item.getId()).build()
).collect(Collectors.toList()); ).collect(Collectors.toList());
detail.setPayeeList(payeeList); detail.setPayeeList(payeeList);
...@@ -278,8 +275,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -278,8 +275,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
} }
@Override @Override
public CarrierCashierInfoVO getCashierInfo(Integer id) { public CarrierCashierInfoVO getCashierInfo(Integer id) {
OwnerLoanRecord ownerLoanRecord = ownerLoanRecordDao.getEntityByKey(id).orElseThrow( OwnerLoanRecord ownerLoanRecord = ownerLoanRecordDao.getEntityByKey(id).orElseThrow(
...@@ -319,12 +314,13 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -319,12 +314,13 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
PerformanceResultEnum.DATA_NOT_FIND); PerformanceResultEnum.DATA_NOT_FIND);
ExportOwnerLoanRecordVO exportOwnerLoanRecordVO = ownerLoanRecordStruct.convert(ownerLoanRecord); ExportOwnerLoanRecordVO exportOwnerLoanRecordVO = ownerLoanRecordStruct.convert(ownerLoanRecord);
//货主借款: 收款方鑫祥和 付款方为诚联信 借款方为货主 //货主借款: 收款方鑫祥和 付款方为诚联信 借款方为货主
Map<String,String> map = JSON.parseObject(JSON.toJSONString(exportOwnerLoanRecordVO), new TypeReference<Map<String,String>>(){}); Map<String, String> map = JSON.parseObject(JSON.toJSONString(exportOwnerLoanRecordVO), new TypeReference<Map<String, String>>() {
});
// 创建合同 // 创建合同
GenerateContractParam feignParam = new GenerateContractParam(); GenerateContractParam feignParam = new GenerateContractParam();
if(Objects.equals(OwnerRePaymentEnum.Channel.ORDER.getCode(),param.getPayWay())){ if (Objects.equals(OwnerRePaymentEnum.Channel.ORDER.getCode(), param.getPayWay())) {
feignParam.setTemplateNo(paymentFromConfig.getLoanOrderTemplateNo()); feignParam.setTemplateNo(paymentFromConfig.getLoanOrderTemplateNo());
}else{ } else {
feignParam.setTemplateNo(paymentFromConfig.getLoanTransferTemplateNo()); feignParam.setTemplateNo(paymentFromConfig.getLoanTransferTemplateNo());
} }
...@@ -335,13 +331,13 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -335,13 +331,13 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void getLoanBalance(LoanBalanceDTO param) { public void getLoanBalance(LoanBalanceDTO param) {
BigDecimal orderChildPrice = param.getOrderChildPrice(); BigDecimal orderChildPrice = param.getOrderChildPrice();
Long userNo = param.getOwnerUserNo(); Long userNo = param.getOwnerUserNo();
String childNo = param.getChildNo(); String childNo = param.getChildNo();
log.info("执行借款,借款金额{}, 货主编号:{}, 运单号:{}", orderChildPrice, userNo, childNo); log.info("执行借款,借款金额{}, 货主编号:{}, 运单号:{}", orderChildPrice, userNo, childNo);
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
try {
List<OwnerLoanRecord> updateList = new LinkedList<>(); List<OwnerLoanRecord> updateList = new LinkedList<>();
List<OwnerLoanRecord> ownerLoanRecords = ownerLoanRecordDao.selectLoanBalance(userNo); List<OwnerLoanRecord> ownerLoanRecords = ownerLoanRecordDao.selectLoanBalance(userNo);
BigDecimal orderChildPriceTemp = orderChildPrice; BigDecimal orderChildPriceTemp = orderChildPrice;
...@@ -363,20 +359,16 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -363,20 +359,16 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
} }
if (orderChildPriceTemp.compareTo(BigDecimal.ZERO) != 0) { if (orderChildPriceTemp.compareTo(BigDecimal.ZERO) != 0) {
log.info("执行借款发现:货主货款不足,进行手动回滚事务"); throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "执行借款发现:货主货款不足");
dataSourceTransactionManager.rollback(transactionStatus);
} }
for (OwnerLoanRecord update : updateList) { for (OwnerLoanRecord update : updateList) {
ownerLoanRecordDao.updateEntityByKey(update); ownerLoanRecordDao.updateEntityByKey(update);
} }
log.info("执行借款成功,借款金额{}, 货主编号:{}, 运单号:{}", orderChildPrice, userNo, childNo); log.info("执行借款成功,借款金额{}, 货主编号:{}, 运单号:{}", orderChildPrice, userNo, childNo);
} catch (Exception e) {
log.info("借款产生异常,异常信息:{}", ExceptionUtils.getThrowableCount(e));
dataSourceTransactionManager.rollback(transactionStatus);
}
} }
public void generateFrozenOwnerLoanRunningWater(OwnerLoanRecord ownerLoanRecord, String childNo, BigDecimal orderChildPrice) { public void generateFrozenOwnerLoanRunningWater(OwnerLoanRecord ownerLoanRecord, String childNo, BigDecimal orderChildPrice) {
log.info("13.生成借款冻结流水"); log.info("13.生成借款冻结流水");
OwnerLoanAccount update = new OwnerLoanAccount(); OwnerLoanAccount update = new OwnerLoanAccount();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论