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

开发还款提交申请生成付款单记录逻辑

上级 a37ddd81
...@@ -79,6 +79,7 @@ public enum OwnerLoanRecordEnum { ...@@ -79,6 +79,7 @@ public enum OwnerLoanRecordEnum {
public enum PayChannel { public enum PayChannel {
ORDER_DIRECT_PAY(1, "订单支付"), ORDER_DIRECT_PAY(1, "订单支付"),
ORDER_TRANSFER_PAY(2, "转账支付"), ORDER_TRANSFER_PAY(2, "转账支付"),
ASSET(3,"财资")
; ;
private final Integer code; private final Integer code;
......
package com.clx.performance.vo.pc.loan.carrier; package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerPaymentEnum; import com.clx.performance.enums.loan.OwnerPaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert; import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -76,14 +77,14 @@ public class OwnerPaymentVO{ ...@@ -76,14 +77,14 @@ public class OwnerPaymentVO{
} }
@ApiModelProperty("默认财资 30 ") @ApiModelProperty("默认财资")
private Integer payChannel; private Integer payChannel;
@ApiModelProperty("财资") @ApiModelProperty("支付渠道名称")
private String payChannelMsg; private String payChannelMsg;
public String getPayChannelMsg(){ public String getPayChannelMsg(){
return "财资"; return OwnerLoanRecordEnum.PayChannel.ASSET.getMsg();
} }
......
...@@ -77,7 +77,7 @@ public class OwnerPayment implements HasKey<Integer> { ...@@ -77,7 +77,7 @@ public class OwnerPayment implements HasKey<Integer> {
private Integer status; private Integer status;
@TableField("pay_channel") @TableField("pay_channel")
@ApiModelProperty("默认财资 30 ") @ApiModelProperty("默认财资")
private Integer payChannel; private Integer payChannel;
@TableField("operate_time") @TableField("operate_time")
......
package com.clx.performance.service.impl.loan; package com.clx.performance.service.impl.loan;
import cn.hutool.core.util.IdUtil;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -8,19 +9,24 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -8,19 +9,24 @@ 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.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;
import com.clx.performance.config.loan.PaymentFromConfig; import com.clx.performance.config.loan.PaymentFromConfig;
import com.clx.performance.config.nbbank.NbBankConfig; import com.clx.performance.config.nbbank.NbBankConfig;
import com.clx.performance.dao.loan.BankTradeDao; import com.clx.performance.dao.loan.BankTradeDao;
import com.clx.performance.dao.loan.OwnerLoanRecordDao;
import com.clx.performance.dao.loan.OwnerPaymentDao;
import com.clx.performance.dao.loan.OwnerRepaymentDao; import com.clx.performance.dao.loan.OwnerRepaymentDao;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerPaymentEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum; import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.clx.performance.enums.nbbank.NbBankStatusEnum; import com.clx.performance.enums.nbbank.NbBankStatusEnum;
import com.clx.performance.extranal.user.impl.OwnerInfoServiceImpl; import com.clx.performance.extranal.user.impl.OwnerInfoServiceImpl;
import com.clx.performance.model.loan.BankTrade; import com.clx.performance.model.loan.BankTrade;
import com.clx.performance.model.loan.OwnerLoanRecord; import com.clx.performance.model.loan.OwnerLoanRecord;
import com.clx.performance.model.loan.OwnerPayment;
import com.clx.performance.model.loan.OwnerRepayment; import com.clx.performance.model.loan.OwnerRepayment;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam; import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner; import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
...@@ -74,6 +80,9 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -74,6 +80,9 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
private final ClxMessageConfig messageConfig; private final ClxMessageConfig messageConfig;
private final NbBankService bankService; private final NbBankService bankService;
private final BankTradeDao bankTradeDao; private final BankTradeDao bankTradeDao;
private final IdGenerateSnowFlake idGenerateSnowFlake;
private final OwnerPaymentDao ownerPaymentDao;
private final OwnerLoanRecordDao ownerLoanRecordDao;
@Override @Override
public IPage<OwnerRepaymentVO> pageOwnerRepayment(PageCarrierOwnerRepaymentParam param) { public IPage<OwnerRepaymentVO> pageOwnerRepayment(PageCarrierOwnerRepaymentParam param) {
...@@ -253,6 +262,7 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -253,6 +262,7 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
ownerRepaymentDao.updateStatusById(ownerRepayment); ownerRepaymentDao.updateStatusById(ownerRepayment);
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void paySuccess(String merSeqNo) { public void paySuccess(String merSeqNo) {
// 查询交易流水 // 查询交易流水
...@@ -263,6 +273,29 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -263,6 +273,29 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_SUCCESS.getCode()); ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_SUCCESS.getCode());
// 更新借款信息 // 更新借款信息
ownerRepaymentDao.updateStatusById(ownerRepayment); ownerRepaymentDao.updateStatusById(ownerRepayment);
OwnerLoanRecord ownerLoanRecord = ownerLoanRecordDao.getOneByField(OwnerLoanRecord::getLoanNo,
ownerRepayment.getLoanNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//生成付款记录
OwnerPayment ownerPayment = new OwnerPayment();
ownerPayment.setOwnerUserNo(ownerRepayment.getOwnerUserNo());
ownerPayment.setOwnerUserName(ownerRepayment.getOwnerUserName());
ownerPayment.setMobile(ownerRepayment.getMobile());
ownerPayment.setRunningWaterOpenNo(bankTrade.getRunningWaterOpenNo());
ownerPayment.setPaymentNo(idGenerateSnowFlake.nextId(1L));
ownerPayment.setRepaymentNo(ownerRepayment.getRepaymentNo());
ownerPayment.setPaymentBalance(ownerRepayment.getRepaymentBalance());
//付款单的付款方取还款单的收款方
ownerPayment.setPayment(ownerRepayment.getPayee());
ownerPayment.setPaymentAccount(ownerRepayment.getPayeeAccount());
//付款单的收款方取借款单的借出方
ownerPayment.setPayee(ownerLoanRecord.getBorrower());
ownerPayment.setPayeeAccount(ownerLoanRecord.getBorrowerAccount());
ownerPayment.setStatus(OwnerPaymentEnum.Status.PAY_WAIT.getCode());
ownerPayment.setPayChannel(OwnerLoanRecordEnum.PayChannel.ASSET.getCode());
ownerPayment.setCreateBy("system");
ownerPaymentDao.saveEntity(ownerPayment);
} }
@Override @Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论