提交 10c62137 authored 作者: liuhaiquan's avatar liuhaiquan

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

...@@ -139,6 +139,7 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -139,6 +139,7 @@ public enum PerformanceResultEnum implements ResultEnum {
OWNER_LOAN_RECORD_PAY_STATUS_ERROR(1850, "状态已变更无法支付"), OWNER_LOAN_RECORD_PAY_STATUS_ERROR(1850, "状态已变更无法支付"),
OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR(1851, "状态已变更无法取消"), OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR(1851, "状态已变更无法取消"),
OWNER_LOAN_RECORD_ADJUST_STATUS_ERROR(1851, "状态已变更无法核销"),
OWNER_LOAN_RECORD_PAY_WAIT_ERROR(1852,"当前借款单状态不是待付款"), OWNER_LOAN_RECORD_PAY_WAIT_ERROR(1852,"当前借款单状态不是待付款"),
OWNER_LOAN_PAYMENT_STATUS_ERROR(1851, "状态已变变更"), OWNER_LOAN_PAYMENT_STATUS_ERROR(1851, "状态已变变更"),
......
...@@ -99,14 +99,14 @@ public class OrderChildLoanComponent { ...@@ -99,14 +99,14 @@ public class OrderChildLoanComponent {
if (OrderGoodsOverWeightEnum.NO.getCode().equals(overWeight)) { if (OrderGoodsOverWeightEnum.NO.getCode().equals(overWeight)) {
log.info("3.进行标吨判断"); log.info("3.进行标吨判断");
determine(quotationDetailVO.getPlatformFreightQuotation().multiply(new BigDecimal(35)), ownerInfoFeignVO, orderGoods, childNo, overWeight); determine(quotationDetailVO.getPlatformFreightQuotation().multiply(new BigDecimal(35)), ownerInfoFeignVO, orderGoods, childNo, overWeight, quotationDetailVO.getPlatformFreightQuotation());
} else { } else {
log.info("3.进行超吨判断"); log.info("3.进行超吨判断");
determine(quotationDetailVO.getPlatformFreightQuotation().multiply(new BigDecimal(50)), ownerInfoFeignVO, orderGoods, childNo, overWeight); determine(quotationDetailVO.getPlatformFreightQuotation().multiply(new BigDecimal(50)), ownerInfoFeignVO, orderGoods, childNo, overWeight, quotationDetailVO.getPlatformFreightQuotation());
} }
} }
public void determine(BigDecimal orderChildPrice, OwnerInfoFeignVO ownerInfoFeignVO, OrderGoods orderGoods, String childNo, Integer overWeight) { public void determine(BigDecimal orderChildPrice, OwnerInfoFeignVO ownerInfoFeignVO, OrderGoods orderGoods, String childNo, Integer overWeight, BigDecimal platPrice) {
log.info("4.预估运费{},货主{},订单号{},运单号{}", orderChildPrice, ownerInfoFeignVO.getUserNo(), orderGoods.getOrderNo(), childNo); log.info("4.预估运费{},货主{},订单号{},运单号{}", orderChildPrice, ownerInfoFeignVO.getUserNo(), orderGoods.getOrderNo(), childNo);
List<OwnerRunningWaterRecord> runningWaterRecordList = ownerRunningWaterRecordDao.getOwnerRunningWaterRecord(orderGoods.getOrderNo()); List<OwnerRunningWaterRecord> runningWaterRecordList = ownerRunningWaterRecordDao.getOwnerRunningWaterRecord(orderGoods.getOrderNo());
BigDecimal frozen = runningWaterRecordList.stream().filter(item -> { BigDecimal frozen = runningWaterRecordList.stream().filter(item -> {
...@@ -131,10 +131,11 @@ public class OrderChildLoanComponent { ...@@ -131,10 +131,11 @@ public class OrderChildLoanComponent {
size = orderChildList.size(); size = orderChildList.size();
} }
if (OrderGoodsOverWeightEnum.NO.getCode().equals(overWeight)) { if (OrderGoodsOverWeightEnum.NO.getCode().equals(overWeight)) {
orderChildSum = orderGoods.getPendingOrderFreight().multiply(new BigDecimal(35)).multiply(new BigDecimal(size)); orderChildSum = platPrice.multiply(new BigDecimal(35)).multiply(new BigDecimal(size));
} else { } else {
orderChildSum = orderGoods.getPendingOrderFreight().multiply(new BigDecimal(50)).multiply(new BigDecimal(size)); orderChildSum = platPrice.multiply(new BigDecimal(50)).multiply(new BigDecimal(size));
} }
log.info("5.1 查询未结算运单, 运单数量{},订单号{}", size, orderGoods.getOrderNo());
BigDecimal ans = subtract.subtract(orderChildSum); BigDecimal ans = subtract.subtract(orderChildSum);
log.info("6.当前订单冻结的预付运费还有剩余, 查询查询未结算的运单(没有产生扣除流水的运单)总计{},订单冻结预付运费剩余{}", orderChildSum, subtract); log.info("6.当前订单冻结的预付运费还有剩余, 查询查询未结算的运单(没有产生扣除流水的运单)总计{},订单冻结预付运费剩余{}", orderChildSum, subtract);
......
...@@ -56,7 +56,7 @@ public class CarrierOwnerRepaymentController { ...@@ -56,7 +56,7 @@ public class CarrierOwnerRepaymentController {
@ApiOperation(value = "核销",notes = "<br>By:姜文业") @ApiOperation(value = "核销",notes = "<br>By:姜文业")
@GetMapping("/adjust") @GetMapping("/adjust")
public Result<Object> adjust(@RequestParam("id") @NotNull(message = "id不能为空") Integer id) { public Result<Object> adjust(@RequestParam("id") @NotNull(message = "id不能为空") Integer id) {
ownerRepaymentService.adjust(id);
return Result.ok(); return Result.ok();
} }
......
...@@ -17,7 +17,7 @@ import java.util.List; ...@@ -17,7 +17,7 @@ import java.util.List;
public class OrderChildLoanRetryRecordDaoImpl extends BaseDaoImpl<OrderChildLoanRetryRecordMapper, OrderChildLoanRetryRecord, Integer> implements OrderChildLoanRetryRecordDao { public class OrderChildLoanRetryRecordDaoImpl extends BaseDaoImpl<OrderChildLoanRetryRecordMapper, OrderChildLoanRetryRecord, Integer> implements OrderChildLoanRetryRecordDao {
@Override @Override
public List<OrderChildLoanRetryRecord> selectListByIdAsc() { public List<OrderChildLoanRetryRecord> selectListByOwnerUserNoAndIdAsc(Long userNo) {
return baseMapper.selectList(lQrWrapper().orderByAsc(OrderChildLoanRetryRecord::getId)); return baseMapper.selectList(lQrWrapper().eq(OrderChildLoanRetryRecord::getOwnerUserNo, userNo).orderByAsc(OrderChildLoanRetryRecord::getId));
} }
} }
...@@ -75,6 +75,11 @@ public class OwnerRepaymentDaoImpl extends BaseDaoImpl<OwnerRepaymentMapper, Own ...@@ -75,6 +75,11 @@ public class OwnerRepaymentDaoImpl extends BaseDaoImpl<OwnerRepaymentMapper, Own
.set(OwnerRepayment::getStatus, ownerRepayment.getStatus()) .set(OwnerRepayment::getStatus, ownerRepayment.getStatus())
.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::getPayment,ownerRepayment.getPayment())
.set(OwnerRepayment::getPaymentAccount,ownerRepayment.getPaymentAccount())
); );
} }
......
...@@ -13,5 +13,5 @@ import java.util.List; ...@@ -13,5 +13,5 @@ import java.util.List;
*/ */
public interface OrderChildLoanRetryRecordDao extends BaseDao<OrderChildLoanRetryRecordMapper, OrderChildLoanRetryRecord, Integer> { public interface OrderChildLoanRetryRecordDao extends BaseDao<OrderChildLoanRetryRecordMapper, OrderChildLoanRetryRecord, Integer> {
List<OrderChildLoanRetryRecord> selectListByIdAsc(); List<OrderChildLoanRetryRecord> selectListByOwnerUserNoAndIdAsc(Long userNo);
} }
...@@ -31,6 +31,7 @@ public class EventListenerComponent { ...@@ -31,6 +31,7 @@ public class EventListenerComponent {
@EventListener(classes = {SettlementUpdateEvent.class}) @EventListener(classes = {SettlementUpdateEvent.class})
public void listen(SettlementUpdateEvent event) { public void listen(SettlementUpdateEvent event) {
log.info("SettlementUpdateEvent事件执行");
SettlementOwnerDetail settlementOwnerDetail = event.getSettlementOwnerDetail(); SettlementOwnerDetail settlementOwnerDetail = event.getSettlementOwnerDetail();
SettlementDriverDetail settlementDriverDetail = event.getSettlementDriverDetail(); SettlementDriverDetail settlementDriverDetail = event.getSettlementDriverDetail();
log.info("当前货主结算信息{},车主结算信息:{}", JSONUtil.parse(settlementOwnerDetail), JSONUtil.parse(settlementDriverDetail)); log.info("当前货主结算信息{},车主结算信息:{}", JSONUtil.parse(settlementOwnerDetail), JSONUtil.parse(settlementDriverDetail));
...@@ -40,12 +41,14 @@ public class EventListenerComponent { ...@@ -40,12 +41,14 @@ public class EventListenerComponent {
OrderChildLoanRetryRecord entity = new OrderChildLoanRetryRecord(); OrderChildLoanRetryRecord entity = new OrderChildLoanRetryRecord();
entity.setSettlementOwnerId(settlementOwnerDetail.getId()); entity.setSettlementOwnerId(settlementOwnerDetail.getId());
entity.setSettlementDriverId(settlementDriverDetail.getId()); entity.setSettlementDriverId(settlementDriverDetail.getId());
entity.setOwnerUserNo(settlementOwnerDetail.getOwnerUserNo());
// 保存重试记录 // 保存重试记录
orderChildLoanRetryRecordDao.saveEntity(entity); orderChildLoanRetryRecordDao.saveEntity(entity);
} }
@EventListener(classes = {OwnerRepaymentUpdateEvent.class}) @EventListener(classes = {OwnerRepaymentUpdateEvent.class})
public void listen(OwnerRepaymentUpdateEvent event) { public void listen(OwnerRepaymentUpdateEvent event) {
log.info("OwnerRepaymentUpdateEvent事件执行");
OwnerRepayment update = new OwnerRepayment(); OwnerRepayment update = new OwnerRepayment();
update.setId(event.getId()); update.setId(event.getId());
update.setBeOverdue(OwnerRePaymentEnum.BeOverdue.YES.getCode()); update.setBeOverdue(OwnerRePaymentEnum.BeOverdue.YES.getCode());
......
...@@ -49,12 +49,14 @@ public class OwnerLoanListener { ...@@ -49,12 +49,14 @@ public class OwnerLoanListener {
//生成借款标识 //生成借款标识
orderChildLoanComponent.childLoanConfirmAfterProcess(settlementDriverDetail, settlementOwnerDetail, orderChild); orderChildLoanComponent.childLoanConfirmAfterProcess(settlementDriverDetail, settlementOwnerDetail, orderChild);
} catch (Exception e) { } catch (Exception e) {
log.error("处理货主借款监听器执行异常,数据为{}", message, 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);
return; return;
} }
log.info("处理货主借款监听器执行成功");
settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail); settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail);
settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail); settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
......
...@@ -27,6 +27,10 @@ public class OrderChildLoanRetryRecord implements HasKey<Integer> { ...@@ -27,6 +27,10 @@ public class OrderChildLoanRetryRecord implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@TableField("owner_user_no")
@ApiModelProperty("货主编号")
private Long ownerUserNo;
@TableField("settlement_driver_id") @TableField("settlement_driver_id")
@ApiModelProperty("车主计费主键") @ApiModelProperty("车主计费主键")
private Integer settlementDriverId; private Integer settlementDriverId;
......
...@@ -3,9 +3,11 @@ package com.clx.performance.service.impl.loan; ...@@ -3,9 +3,11 @@ package com.clx.performance.service.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanAccountApproveDao; import com.clx.performance.dao.loan.OwnerLoanAccountApproveDao;
import com.clx.performance.dao.loan.OwnerLoanAccountDao;
import com.clx.performance.enums.OwnerAccountEnum; import com.clx.performance.enums.OwnerAccountEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.OwnerLoanAccountApproveEnum; import com.clx.performance.enums.loan.OwnerLoanAccountApproveEnum;
import com.clx.performance.model.loan.OwnerLoanAccount;
import com.clx.performance.model.loan.OwnerLoanAccountApprove; import com.clx.performance.model.loan.OwnerLoanAccountApprove;
import com.clx.performance.param.pc.loan.carrier.OwnerLoanAccountApproveParam; import com.clx.performance.param.pc.loan.carrier.OwnerLoanAccountApproveParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam;
...@@ -13,6 +15,8 @@ import com.clx.performance.service.loan.OwnerLoanAccountApproveService; ...@@ -13,6 +15,8 @@ import com.clx.performance.service.loan.OwnerLoanAccountApproveService;
import com.clx.performance.service.loan.OwnerLoanAccountService; import com.clx.performance.service.loan.OwnerLoanAccountService;
import com.clx.performance.struct.loan.OwnerLoanAccountApproveStruct; import com.clx.performance.struct.loan.OwnerLoanAccountApproveStruct;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountApproveVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountApproveVO;
import com.msl.common.base.Optional;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.data.UserSessionData; import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil; import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -38,6 +42,7 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr ...@@ -38,6 +42,7 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr
private final OwnerLoanAccountApproveStruct ownerLoanAccountApproveStruct; private final OwnerLoanAccountApproveStruct ownerLoanAccountApproveStruct;
private final OwnerLoanAccountService ownerLoanAccountService; private final OwnerLoanAccountService ownerLoanAccountService;
private final OwnerLoanAccountDao ownerLoanAccountDao;
@Override @Override
public IPage<OwnerLoanAccountApproveVO> pageOwnerLoanAccountApprove(PageOwnerLoanAccountApproveParam param) { public IPage<OwnerLoanAccountApproveVO> pageOwnerLoanAccountApprove(PageOwnerLoanAccountApproveParam param) {
IPage<OwnerLoanAccountApprove> page = ownerLoanAccountApproveDao.pageOwnerLoanAccountApprove(param); IPage<OwnerLoanAccountApprove> page = ownerLoanAccountApproveDao.pageOwnerLoanAccountApprove(param);
...@@ -61,6 +66,12 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr ...@@ -61,6 +66,12 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr
@Override @Override
public void openOwnerLoanAccountApprove() { public void openOwnerLoanAccountApprove() {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Optional<OwnerLoanAccount> optional = ownerLoanAccountDao.getOneByField(OwnerLoanAccount::getOwnerUserNo,
loginUserInfo.getUserNo());
if(optional.isPresent()){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"您已经申请过借款用户,请勿重复申请");
}
OwnerLoanAccountApprove entity = new OwnerLoanAccountApprove(); OwnerLoanAccountApprove entity = new OwnerLoanAccountApprove();
entity.setAccountType(OwnerAccountEnum.AccountTypeStatus.LOAN_ACCOUNT.getCode()); entity.setAccountType(OwnerAccountEnum.AccountTypeStatus.LOAN_ACCOUNT.getCode());
entity.setOwnerUserNo(loginUserInfo.getUserNo()); entity.setOwnerUserNo(loginUserInfo.getUserNo());
......
...@@ -14,6 +14,7 @@ import com.clx.performance.enums.loan.BankTradeEnum; ...@@ -14,6 +14,7 @@ import com.clx.performance.enums.loan.BankTradeEnum;
import com.clx.performance.enums.loan.OwnerLoanAccountApproveEnum; import com.clx.performance.enums.loan.OwnerLoanAccountApproveEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum; import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.breakcontract.BreakContractSettlementDriver; import com.clx.performance.model.breakcontract.BreakContractSettlementDriver;
import com.clx.performance.model.loan.*; import com.clx.performance.model.loan.*;
...@@ -27,6 +28,7 @@ import com.clx.performance.struct.loan.OwnerLoanAccountStruct; ...@@ -27,6 +28,7 @@ import com.clx.performance.struct.loan.OwnerLoanAccountStruct;
import com.clx.performance.vo.pc.loan.carrier.CarrierOwnerLoanAccountVO; import com.clx.performance.vo.pc.loan.carrier.CarrierOwnerLoanAccountVO;
import com.clx.performance.vo.pc.loan.owner.OwnerAccountVO; import com.clx.performance.vo.pc.loan.owner.OwnerAccountVO;
import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO; import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.convertor.aspect.UnitCovert; import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.user.data.UserSessionData; import com.msl.user.data.UserSessionData;
...@@ -58,15 +60,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -58,15 +60,7 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
private final OwnerLoanAccountStruct ownerLoanAccountStruct; private final OwnerLoanAccountStruct ownerLoanAccountStruct;
private final OrderChildDao orderChildDao; private final OwnerInfoService ownerInfoService;
private final SettlementDriverDetailDao settlementDriverDetailDao;
private final SettlementOwnerDetailDao settlementOwnerDetailDao;
private final OrderChildLoanRetryRecordDao orderChildLoanRetryRecordDao;
private final RabbitTemplate rabbitTemplate;
private final OwnerRepaymentDao ownerRepaymentDao; private final OwnerRepaymentDao ownerRepaymentDao;
...@@ -140,6 +134,10 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -140,6 +134,10 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
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());
ownerRepayment.setPayChannel(param.getPayChannel());
OwnerInfoFeignVO ownerInfo = ownerInfoService.getOwnerInfo(TokenUtil.getLoginUserInfo().getUserNo());
ownerRepayment.setPayment(ownerInfo.getName());
ownerRepayment.setPaymentAccount(ownerInfo.getOwnerBankAccount());
// 更新还款支付信息 // 更新还款支付信息
ownerRepaymentDao.updateRePay(ownerRepayment); ownerRepaymentDao.updateRePay(ownerRepayment);
...@@ -147,8 +145,8 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -147,8 +145,8 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
bankTrade.setRelationNo(ownerRepayment.getRepaymentNo().toString()); bankTrade.setRelationNo(ownerRepayment.getRepaymentNo().toString());
bankTrade.setOrderType(BankTradeEnum.OrderType.OWNER_LOAN_RECORD.getCode()); bankTrade.setOrderType(BankTradeEnum.OrderType.OWNER_LOAN_RECORD.getCode());
bankTrade.setAmount(ownerLoanRecord.getLoanBalance()); bankTrade.setAmount(ownerLoanRecord.getLoanBalance());
bankTrade.setMerchantRunningWaterNo(ownerLoanRecord.getMerchantRunningWaterNo()); bankTrade.setMerchantRunningWaterNo(ownerRepayment.getMerchantRunningWaterNo());
bankTrade.setRunningWaterOpenNo(ownerLoanRecord.getRunningWaterOpenNo()); bankTrade.setRunningWaterOpenNo(ownerRepayment.getRunningWaterOpenNo());
bankTrade.setRemark("还款单"); bankTrade.setRemark("还款单");
// 保存银行交易记录 // 保存银行交易记录
bankTradeDao.saveEntity(bankTrade); bankTradeDao.saveEntity(bankTrade);
......
...@@ -225,6 +225,9 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -225,6 +225,9 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
initOwnerLoanRunningWaterRecord(ownerLoanRecord); initOwnerLoanRunningWaterRecord(ownerLoanRecord);
//生成还款记录 //生成还款记录
initOwnerRepayment(ownerLoanRecord); initOwnerRepayment(ownerLoanRecord);
//执行货主未处理借款标志的计费(运单确认生成后因为借款不够阻塞流程的相关计费进行处理)
orderChildLoanProcess(ownerLoanRecord.getOwnerUserNo());
break; break;
} }
} }
...@@ -326,7 +329,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -326,7 +329,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
ownerRepayment.setCreateBy(ownerLoanRecord.getOwnerUserName()); ownerRepayment.setCreateBy(ownerLoanRecord.getOwnerUserName());
ownerRepayment.setRepaymentBalance(ownerLoanRecord.getLoanBalance()); ownerRepayment.setRepaymentBalance(ownerLoanRecord.getLoanBalance());
ownerRepayment.setRepaymentNo(idGenerateSnowFlake.nextId(2L)); ownerRepayment.setRepaymentNo(idGenerateSnowFlake.nextId(2L));
ownerRepayment.setGoodsName("运费");
ownerRepayment.setPayee(ownerLoanRecord.getPayee()); ownerRepayment.setPayee(ownerLoanRecord.getPayee());
ownerRepayment.setPayeeAccount(ownerLoanRecord.getPayeeAccount()); ownerRepayment.setPayeeAccount(ownerLoanRecord.getPayeeAccount());
...@@ -379,7 +382,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -379,7 +382,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
PerformanceResultEnum.DATA_NOT_FIND); PerformanceResultEnum.DATA_NOT_FIND);
CarrierCashierInfoVO vo = ownerLoanRecordStruct.convertCashierInfo(ownerLoanRecord); CarrierCashierInfoVO vo = ownerLoanRecordStruct.convertCashierInfo(ownerLoanRecord);
Borrower borrower = borrowerDao.getEntityByKey(ownerLoanRecord.getBorrowerId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); Borrower borrower = borrowerDao.getEntityByKey(ownerLoanRecord.getBorrowerId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.equals(borrower.getDeleteStatus(), DeleteStatusEnum.NO.getCode())) { if (Objects.equals(borrower.getDeleteStatus(), DeleteStatusEnum.YES.getCode())) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND); throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
} }
vo.setOrderPayWay(false); vo.setOrderPayWay(false);
...@@ -625,7 +628,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -625,7 +628,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
*/ */
@Override @Override
public void orderChildLoanProcess(Long ownerUserNo) { public void orderChildLoanProcess(Long ownerUserNo) {
List<OrderChildLoanRetryRecord> orderChildLoanRetryRecordList = orderChildLoanRetryRecordDao.selectListByIdAsc(); List<OrderChildLoanRetryRecord> orderChildLoanRetryRecordList = orderChildLoanRetryRecordDao.selectListByOwnerUserNoAndIdAsc(ownerUserNo);
for (OrderChildLoanRetryRecord retryRecord : orderChildLoanRetryRecordList) { for (OrderChildLoanRetryRecord retryRecord : orderChildLoanRetryRecordList) {
//生成借款标识 //生成借款标识
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getEntityByKey(retryRecord.getSettlementDriverId()).get(); SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getEntityByKey(retryRecord.getSettlementDriverId()).get();
......
...@@ -85,5 +85,6 @@ public class OwnerPaymentServiceImpl implements OwnerPaymentService { ...@@ -85,5 +85,6 @@ public class OwnerPaymentServiceImpl implements OwnerPaymentService {
ownerPayment.setStatus(OwnerPaymentEnum.Status.PAYING.getCode()); ownerPayment.setStatus(OwnerPaymentEnum.Status.PAYING.getCode());
ownerPaymentDao.updateStatusAndMerchantRunningWaterNo(ownerPayment); ownerPaymentDao.updateStatusAndMerchantRunningWaterNo(ownerPayment);
} }
} }
} }
...@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.message.feign.ClxMessageOpenapiFeign; import com.clx.message.feign.ClxMessageOpenapiFeign;
import com.clx.message.req.message.AliSmsMessageReq; import com.clx.message.req.message.AliSmsMessageReq;
import com.clx.order.enums.ResultEnum;
import com.clx.performance.component.IdGenerateSnowFlake; import com.clx.performance.component.IdGenerateSnowFlake;
import com.clx.performance.config.ClxMessageConfig; import com.clx.performance.config.ClxMessageConfig;
import com.clx.performance.config.loan.ClxPayeeConfig; import com.clx.performance.config.loan.ClxPayeeConfig;
...@@ -309,5 +310,22 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -309,5 +310,22 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
ownerRepaymentDao.updateStatusById(ownerRepayment); ownerRepaymentDao.updateStatusById(ownerRepayment);
} }
@Override
public void adjust(Integer id) {
OwnerRepayment ownerRepayment = ownerRepaymentDao.getEntityByKey(id).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (!ownerRepayment.getStatus().equals(OwnerRePaymentEnum.Status.PAYING.getCode())) {
log.info("还款记录状态异常,不是付款中,不能核销");
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_ADJUST_STATUS_ERROR);
}
NbBankOrderResultVO resultVO = bankService.adjust(ownerRepayment.getMerchantRunningWaterNo(),ownerRepayment.getRepaymentBalance().intValue());
if(Objects.equals(resultVO.getStatus(),NbBankStatusEnum.Status.SUCCESS.getCode())){
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_SUCCESS.getCode());
}else{
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_FAIL.getCode());
}
// 更新借款信息
ownerRepaymentDao.updateStatusById(ownerRepayment);
}
} }
...@@ -76,14 +76,14 @@ public class NbBankServiceImpl implements NbBankService { ...@@ -76,14 +76,14 @@ public class NbBankServiceImpl implements NbBankService {
/** /**
* 订单支付 * 订单支付
* @param loanNo 借款单号 * @param no 单号
* @param amount 金额分 * @param amount 金额分
* @param payAcctOpenBankId 开户行号 * @param payAcctOpenBankId 开户行号
* @param payAcctNo 付款账号 * @param payAcctNo 付款账号
* @param payAcctNm 付款户名 * @param payAcctNm 付款户名
*/ */
@Override @Override
public NbBankOrderPayResultVO orderDirectPay(Long loanNo, String remark, Integer amount, public NbBankOrderPayResultVO orderDirectPay(Long no, String remark, Integer amount,
String payAcctOpenBankId, String payAcctNo, String payAcctNm) { String payAcctOpenBankId, String payAcctNo, String payAcctNm) {
String merSeqNo = idGenerateSnowFlake.nextIdToString(1L); String merSeqNo = idGenerateSnowFlake.nextIdToString(1L);
...@@ -94,7 +94,7 @@ public class NbBankServiceImpl implements NbBankService { ...@@ -94,7 +94,7 @@ public class NbBankServiceImpl implements NbBankService {
String transSeqNo = data.getString("transSeqNo"); String transSeqNo = data.getString("transSeqNo");
if (StringUtils.isBlank(transSeqNo)) { if (StringUtils.isBlank(transSeqNo)) {
log.info("宁波银行订单支付失败,单号{},返回结果:{}", loanNo, data); log.info("宁波银行订单支付失败,单号{},返回结果:{}", no, data);
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_ORDER_PAY_ERROR); throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_ORDER_PAY_ERROR);
} }
NbBankOrderPayResultVO result = new NbBankOrderPayResultVO(); NbBankOrderPayResultVO result = new NbBankOrderPayResultVO();
......
...@@ -40,4 +40,6 @@ public interface OwnerRepaymentService { ...@@ -40,4 +40,6 @@ public interface OwnerRepaymentService {
void paySuccess(String merSeqNo); void paySuccess(String merSeqNo);
void payFail(String merSeqNo); void payFail(String merSeqNo);
void adjust(Integer id);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论