Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
79a85535
提交
79a85535
authored
2月 23, 2024
作者:
huyufan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118' into test
上级
104c62e5
f8f09655
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
80 行增加
和
23 行删除
+80
-23
OwnerLoanRecordEnum.java
...a/com/clx/performance/enums/loan/OwnerLoanRecordEnum.java
+1
-0
OwnerPaymentVO.java
...om/clx/performance/vo/pc/loan/carrier/OwnerPaymentVO.java
+4
-3
OwnerLoanAccountController.java
.../controller/pc/loan/owner/OwnerLoanAccountController.java
+3
-6
OwnerRepaymentPayNotifyListener.java
...performance/listener/OwnerRepaymentPayNotifyListener.java
+5
-7
OwnerPayment.java
...ain/java/com/clx/performance/model/loan/OwnerPayment.java
+1
-1
OwnerLoanRecordServiceImpl.java
...ormance/service/impl/loan/OwnerLoanRecordServiceImpl.java
+0
-1
OwnerRepaymentServiceImpl.java
...formance/service/impl/loan/OwnerRepaymentServiceImpl.java
+61
-4
OwnerRepaymentService.java
...m/clx/performance/service/loan/OwnerRepaymentService.java
+5
-1
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/loan/OwnerLoanRecordEnum.java
浏览文件 @
79a85535
...
...
@@ -79,6 +79,7 @@ public enum OwnerLoanRecordEnum {
public
enum
PayChannel
{
ORDER_DIRECT_PAY
(
1
,
"订单支付"
),
ORDER_TRANSFER_PAY
(
2
,
"转账支付"
),
ASSET
(
3
,
"财资"
)
;
private
final
Integer
code
;
...
...
performance-api/src/main/java/com/clx/performance/vo/pc/loan/carrier/OwnerPaymentVO.java
浏览文件 @
79a85535
package
com
.
clx
.
performance
.
vo
.
pc
.
loan
.
carrier
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.enums.loan.OwnerPaymentEnum
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -76,14 +77,14 @@ public class OwnerPaymentVO{
}
@ApiModelProperty
(
"默认财资
30
"
)
@ApiModelProperty
(
"默认财资"
)
private
Integer
payChannel
;
@ApiModelProperty
(
"
财资
"
)
@ApiModelProperty
(
"
支付渠道名称
"
)
private
String
payChannelMsg
;
public
String
getPayChannelMsg
(){
return
"财资"
;
return
OwnerLoanRecordEnum
.
PayChannel
.
ASSET
.
getMsg
()
;
}
...
...
performance-web/src/main/java/com/clx/performance/controller/pc/loan/owner/OwnerLoanAccountController.java
浏览文件 @
79a85535
...
...
@@ -42,7 +42,6 @@ public class OwnerLoanAccountController {
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"货主借款申请"
,
notes
=
"<br>By:胡宇帆"
)
@PostMapping
(
"/ownerLoanRecordSubmit"
)
@UnitCovert
(
result
=
false
)
...
...
@@ -51,8 +50,6 @@ public class OwnerLoanAccountController {
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"货主借款账户信息"
,
notes
=
"<br>By:刘海泉"
)
@GetMapping
(
"/getOwnerLoanAccount"
)
@UnitCovert
(
param
=
false
)
...
...
@@ -62,7 +59,7 @@ public class OwnerLoanAccountController {
}
@ApiOperation
(
value
=
"货主还款"
,
notes
=
"<br>By:胡宇帆"
)
@
Ge
tMapping
(
"/ownerRepayment"
)
@
Pos
tMapping
(
"/ownerRepayment"
)
public
Result
<
OwnerAccountVO
>
ownerRepayment
(
@RequestBody
OwnerRepaymentParam
param
)
{
ownerLoanAccountService
.
ownerRepayment
(
param
);
return
Result
.
ok
();
...
...
@@ -70,8 +67,8 @@ public class OwnerLoanAccountController {
@ApiOperation
(
value
=
"取消支付(还款)"
,
notes
=
"<br>By:胡宇帆"
)
@GetMapping
(
"/ownerRepaymentCancelPay"
)
public
Result
<
Object
>
owner
LoanRecord
CancelPay
(
@RequestParam
(
value
=
"repaymentNo"
)
@NotBlank
String
repaymentNo
)
{
ownerRepaymentService
.
owner
LoanRecord
CancelPay
(
repaymentNo
);
public
Result
<
Object
>
owner
Repayment
CancelPay
(
@RequestParam
(
value
=
"repaymentNo"
)
@NotBlank
String
repaymentNo
)
{
ownerRepaymentService
.
owner
Repayment
CancelPay
(
repaymentNo
);
return
Result
.
ok
();
}
...
...
performance-web/src/main/java/com/clx/performance/listener/OwnerRepaymentPayNotifyListener.java
浏览文件 @
79a85535
...
...
@@ -4,8 +4,7 @@ import cn.hutool.json.JSONUtil;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.enums.nbbank.NbBankStatusEnum
;
import
com.clx.performance.param.OwnerBankNotifyMqParam
;
import
com.clx.performance.service.loan.OwnerLoanAccountService
;
import
com.clx.performance.service.loan.OwnerLoanRecordService
;
import
com.clx.performance.service.loan.OwnerRepaymentService
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
...
...
@@ -21,23 +20,22 @@ import java.util.Objects;
@AllArgsConstructor
public
class
OwnerRepaymentPayNotifyListener
{
private
final
Owner
LoanRecordService
ownerLoanRecord
Service
;
private
final
Owner
RepaymentService
ownerRepayment
Service
;
private
final
OwnerLoanAccountService
ownerLoanAccountService
;
@RabbitListener
(
queues
=
RabbitKeyConstants
.
OWNER_
LOAN_PAY
_QUEUE
)
@RabbitListener
(
queues
=
RabbitKeyConstants
.
OWNER_
REPAYMENT
_QUEUE
)
public
void
onMessage
(
String
message
)
{
log
.
info
(
"处理货主还款支付监听器执行,数据为{}"
,
message
);
OwnerBankNotifyMqParam
param
=
JSONUtil
.
toBean
(
message
,
OwnerBankNotifyMqParam
.
class
);
if
(
Objects
.
equals
(
param
.
getPayStatus
(),
NbBankStatusEnum
.
Status
.
SUCCESS
.
getCode
()))
{
// 支付成功
owner
LoanRecord
Service
.
paySuccess
(
param
.
getMerSeqNo
());
owner
Repayment
Service
.
paySuccess
(
param
.
getMerSeqNo
());
}
else
if
(
Objects
.
equals
(
param
.
getPayStatus
(),
NbBankStatusEnum
.
Status
.
FAIL
.
getCode
()))
{
// 支付失败
owner
LoanRecord
Service
.
payFail
(
param
.
getMerSeqNo
());
owner
Repayment
Service
.
payFail
(
param
.
getMerSeqNo
());
}
}
}
performance-web/src/main/java/com/clx/performance/model/loan/OwnerPayment.java
浏览文件 @
79a85535
...
...
@@ -77,7 +77,7 @@ public class OwnerPayment implements HasKey<Integer> {
private
Integer
status
;
@TableField
(
"pay_channel"
)
@ApiModelProperty
(
"默认财资
30
"
)
@ApiModelProperty
(
"默认财资"
)
private
Integer
payChannel
;
@TableField
(
"operate_time"
)
...
...
performance-web/src/main/java/com/clx/performance/service/impl/loan/OwnerLoanRecordServiceImpl.java
浏览文件 @
79a85535
...
...
@@ -513,7 +513,6 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
ownerLoanRecord
.
getLoanBalance
().
intValue
(),
borrower
.
getOpenBankId
(),
borrower
.
getBankCardNo
(),
borrower
.
getName
());
ownerLoanRecord
.
setRunningWaterOpenNo
(
orderPayResultVO
.
getTransSeqNo
());
ownerLoanRecord
.
setMerchantRunningWaterNo
(
orderPayResultVO
.
getMerSeqNo
());
ownerLoanRecord
.
setRemittanceIdentificationCode
(
null
);
ownerLoanRecord
.
setStatus
(
OwnerLoanRecordEnum
.
Status
.
PAYING
.
getCode
());
ownerLoanRecord
.
setLoanResidueBalance
(
ownerLoanRecord
.
getLoanBalance
());
...
...
performance-web/src/main/java/com/clx/performance/service/impl/loan/OwnerRepaymentServiceImpl.java
浏览文件 @
79a85535
package
com
.
clx
.
performance
.
service
.
impl
.
loan
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -8,19 +9,24 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.message.feign.ClxMessageOpenapiFeign
;
import
com.clx.message.req.message.AliSmsMessageReq
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.config.ClxMessageConfig
;
import
com.clx.performance.config.loan.ClxPayeeConfig
;
import
com.clx.performance.config.loan.PaymentFromConfig
;
import
com.clx.performance.config.nbbank.NbBankConfig
;
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.enums.PerformanceResultEnum
;
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.nbbank.NbBankStatusEnum
;
import
com.clx.performance.extranal.user.impl.OwnerInfoServiceImpl
;
import
com.clx.performance.model.loan.BankTrade
;
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.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam
;
import
com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner
;
...
...
@@ -74,6 +80,9 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
private
final
ClxMessageConfig
messageConfig
;
private
final
NbBankService
bankService
;
private
final
BankTradeDao
bankTradeDao
;
private
final
IdGenerateSnowFlake
idGenerateSnowFlake
;
private
final
OwnerPaymentDao
ownerPaymentDao
;
private
final
OwnerLoanRecordDao
ownerLoanRecordDao
;
@Override
public
IPage
<
OwnerRepaymentVO
>
pageOwnerRepayment
(
PageCarrierOwnerRepaymentParam
param
)
{
...
...
@@ -214,12 +223,11 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
owner
LoanRecord
CancelPay
(
String
repaymentNo
)
{
public
void
owner
Repayment
CancelPay
(
String
repaymentNo
)
{
OwnerRepayment
ownerRepayment
=
ownerRepaymentDao
.
getOneByField
(
OwnerRepayment:
:
getRepaymentNo
,
repaymentNo
)
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
ownerRepayment
.
getStatus
().
equals
(
OwnerRePaymentEnum
.
Status
.
PAY_SUCCESS
.
getCode
()))
{
log
.
info
(
"还款记录状态异常,不能取消"
);
if
(!
ownerRepayment
.
getStatus
().
equals
(
OwnerRePaymentEnum
.
Status
.
PAYING
.
getCode
()))
{
log
.
info
(
"还款记录状态异常,不是付款中,不能取消"
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR
);
}
BankTrade
bankTrade
=
bankTradeDao
.
selectByRelationNo
(
repaymentNo
).
get
();
...
...
@@ -253,4 +261,53 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
ownerRepaymentDao
.
updateStatusById
(
ownerRepayment
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
paySuccess
(
String
merSeqNo
)
{
// 查询交易流水
BankTrade
bankTrade
=
bankTradeDao
.
getOneByField
(
BankTrade:
:
getMerchantRunningWaterNo
,
merSeqNo
)
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 查询还款信息
OwnerRepayment
ownerRepayment
=
ownerRepaymentDao
.
getOneByField
(
OwnerRepayment:
:
getRepaymentNo
,
bankTrade
.
getRelationNo
()).
get
();
ownerRepayment
.
setStatus
(
OwnerRePaymentEnum
.
Status
.
PAY_SUCCESS
.
getCode
());
// 更新借款信息
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
public
void
payFail
(
String
merSeqNo
)
{
// 查询交易流水
BankTrade
bankTrade
=
bankTradeDao
.
getOneByField
(
BankTrade:
:
getMerchantRunningWaterNo
,
merSeqNo
)
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 查询还款信息
OwnerRepayment
ownerRepayment
=
ownerRepaymentDao
.
getOneByField
(
OwnerRepayment:
:
getRepaymentNo
,
bankTrade
.
getRelationNo
()).
get
();
ownerRepayment
.
setStatus
(
OwnerRePaymentEnum
.
Status
.
PAY_FAIL
.
getCode
());
// 更新借款信息
ownerRepaymentDao
.
updateStatusById
(
ownerRepayment
);
}
}
performance-web/src/main/java/com/clx/performance/service/loan/OwnerRepaymentService.java
浏览文件 @
79a85535
...
...
@@ -33,7 +33,11 @@ public interface OwnerRepaymentService {
String
sendPaymentSms
(
String
mobile
,
Long
repaymentNo
);
String
sendOrderPaySms
(
String
mobile
,
String
payee
,
String
payeeAccount
);
void
owner
LoanRecord
CancelPay
(
String
repaymentNo
);
void
owner
Repayment
CancelPay
(
String
repaymentNo
);
void
ownerRepaymentRetryPay
(
String
repaymentNo
);
void
paySuccess
(
String
merSeqNo
);
void
payFail
(
String
merSeqNo
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论