Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
e9cc0df6
提交
e9cc0df6
authored
3月 01, 2024
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
货主还款,更新车主计费明细
上级
8e3412f2
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
53 行增加
和
13 行删除
+53
-13
OwnerLoanAccountRunningWaterRecordDaoImpl.java
.../impl/loan/OwnerLoanAccountRunningWaterRecordDaoImpl.java
+7
-0
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+5
-0
OwnerLoanAccountRunningWaterRecordDao.java
...mance/dao/loan/OwnerLoanAccountRunningWaterRecordDao.java
+2
-0
SettlementDriverDetailDao.java
...clx/performance/dao/settle/SettlementDriverDetailDao.java
+2
-0
EventListenerComponent.java
...ava/com/clx/performance/event/EventListenerComponent.java
+37
-13
没有找到文件。
performance-web/src/main/java/com/clx/performance/dao/impl/loan/OwnerLoanAccountRunningWaterRecordDaoImpl.java
浏览文件 @
e9cc0df6
...
@@ -111,6 +111,13 @@ public class OwnerLoanAccountRunningWaterRecordDaoImpl extends BaseDaoImpl<Owner
...
@@ -111,6 +111,13 @@ public class OwnerLoanAccountRunningWaterRecordDaoImpl extends BaseDaoImpl<Owner
OwnerLoanAccountRunningWaterRecordEnum
.
RunWaterType
.
APPROVE_FROZEN
.
getCode
())
OwnerLoanAccountRunningWaterRecordEnum
.
RunWaterType
.
APPROVE_FROZEN
.
getCode
())
);
}
);
}
@Override
public
List
<
OwnerLoanAccountRunningWaterRecord
>
selectLoanRunningWatterRecord
(
Long
loanNo
,
Integer
runningWaterType
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
OwnerLoanAccountRunningWaterRecord:
:
getLoanNo
,
loanNo
)
.
eq
(
OwnerLoanAccountRunningWaterRecord:
:
getRunningWaterType
,
runningWaterType
)
);
}
@Override
@Override
public
List
<
OwnerLoanAccountRunningWaterRecord
>
getListByChildNoAndRunningWaterType
(
List
<
String
>
childNoList
,
Integer
runningWaterType
)
{
public
List
<
OwnerLoanAccountRunningWaterRecord
>
getListByChildNoAndRunningWaterType
(
List
<
String
>
childNoList
,
Integer
runningWaterType
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
in
(
OwnerLoanAccountRunningWaterRecord:
:
getChildNo
,
childNoList
)
return
baseMapper
.
selectList
(
lQrWrapper
().
in
(
OwnerLoanAccountRunningWaterRecord:
:
getChildNo
,
childNoList
)
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
e9cc0df6
...
@@ -115,4 +115,9 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
...
@@ -115,4 +115,9 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
);
);
}
}
@Override
public
List
<
SettlementDriverDetail
>
selectListByLoanFlag
(
Integer
code
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
SettlementDriverDetail:
:
getLoanFlag
,
code
));
}
}
}
performance-web/src/main/java/com/clx/performance/dao/loan/OwnerLoanAccountRunningWaterRecordDao.java
浏览文件 @
e9cc0df6
...
@@ -31,6 +31,8 @@ public interface OwnerLoanAccountRunningWaterRecordDao extends BaseDao<OwnerLoan
...
@@ -31,6 +31,8 @@ public interface OwnerLoanAccountRunningWaterRecordDao extends BaseDao<OwnerLoan
List
<
OwnerLoanAccountRunningWaterRecord
>
selectLoanRunningWatterRecord
(
Long
loanNo
);
List
<
OwnerLoanAccountRunningWaterRecord
>
selectLoanRunningWatterRecord
(
Long
loanNo
);
List
<
OwnerLoanAccountRunningWaterRecord
>
selectLoanRunningWatterRecord
(
Long
loanNo
,
Integer
runningWaterType
);
List
<
OwnerLoanAccountRunningWaterRecord
>
getListByChildNoAndRunningWaterType
(
List
<
String
>
childNoList
,
Integer
runningWaterType
);
List
<
OwnerLoanAccountRunningWaterRecord
>
getListByChildNoAndRunningWaterType
(
List
<
String
>
childNoList
,
Integer
runningWaterType
);
}
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDetailDao.java
浏览文件 @
e9cc0df6
...
@@ -37,4 +37,6 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
...
@@ -37,4 +37,6 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
SettlementDriverDetail
selectLoanFlag
(
String
orderNo
);
SettlementDriverDetail
selectLoanFlag
(
String
orderNo
);
SettlementDriverDetail
selectLoanTypeFlag
(
String
orderNo
);
SettlementDriverDetail
selectLoanTypeFlag
(
String
orderNo
);
List
<
SettlementDriverDetail
>
selectListByLoanFlag
(
Integer
code
);
}
}
performance-web/src/main/java/com/clx/performance/event/EventListenerComponent.java
浏览文件 @
e9cc0df6
...
@@ -7,23 +7,24 @@ import com.clx.performance.component.OrderChildLoanComponent;
...
@@ -7,23 +7,24 @@ import com.clx.performance.component.OrderChildLoanComponent;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.loan.OrderChildLoanRetryRecordDao
;
import
com.clx.performance.dao.loan.OrderChildLoanRetryRecordDao
;
import
com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao
;
import
com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao
;
import
com.clx.performance.dao.loan.OwnerLoanRecordDao
;
import
com.clx.performance.dao.loan.OwnerRepaymentDao
;
import
com.clx.performance.dao.loan.OwnerRepaymentDao
;
import
com.clx.performance.dao.settle.SettlementDriverDao
;
import
com.clx.performance.dao.settle.SettlementDriverDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.OwnerLoanMqDTO
;
import
com.clx.performance.dto.OwnerLoanMqDTO
;
import
com.clx.performance.enums.loan.BankTradeEnum
;
import
com.clx.performance.enums.loan.OwnerLoanAccountRunningWaterRecordEnum
;
import
com.clx.performance.enums.loan.OwnerLoanAccountRunningWaterRecordEnum
;
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.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.clx.performance.model.loan.OwnerLoanAccount
;
import
com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord
;
import
com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord
;
import
com.clx.performance.model.loan.OwnerLoanRecord
;
import
com.clx.performance.model.loan.OwnerRepayment
;
import
com.clx.performance.model.loan.OwnerRepayment
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.msl.common.base.Optional
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.Message
;
...
@@ -33,12 +34,13 @@ import org.springframework.context.ApplicationEventPublisher;
...
@@ -33,12 +34,13 @@ import org.springframework.context.ApplicationEventPublisher;
import
org.springframework.context.event.EventListener
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.PlatformTransactionManager
;
import
org.springframework.transaction.event.TransactionPhase
;
import
org.springframework.transaction.event.TransactionPhase
;
import
org.springframework.transaction.event.TransactionalEventListener
;
import
org.springframework.transaction.event.TransactionalEventListener
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Component
@Component
...
@@ -66,9 +68,11 @@ public class EventListenerComponent {
...
@@ -66,9 +68,11 @@ public class EventListenerComponent {
private
final
RabbitTemplate
rabbitTemplate
;
private
final
RabbitTemplate
rabbitTemplate
;
private
final
OwnerLoanRecordDao
ownerLoanRecordDao
;
@Async
@Async
@TransactionalEventListener
(
classes
=
{
SettlementUpdateEvent
.
class
},
phase
=
TransactionPhase
.
AFTER_ROLLBACK
,
fallbackExecution
=
true
)
@TransactionalEventListener
(
classes
=
{
SettlementUpdateEvent
.
class
},
phase
=
TransactionPhase
.
AFTER_ROLLBACK
,
fallbackExecution
=
true
)
public
void
listen
(
SettlementUpdateEvent
event
)
{
public
void
listen
(
SettlementUpdateEvent
event
)
{
log
.
info
(
"SettlementUpdateEvent事件执行"
);
log
.
info
(
"SettlementUpdateEvent事件执行"
);
SettlementOwnerDetail
settlementOwnerDetail
=
event
.
getSettlementOwnerDetail
();
SettlementOwnerDetail
settlementOwnerDetail
=
event
.
getSettlementOwnerDetail
();
...
@@ -101,7 +105,7 @@ public class EventListenerComponent {
...
@@ -101,7 +105,7 @@ public class EventListenerComponent {
}
}
@Async
@Async
@TransactionalEventListener
(
classes
=
{
OwnerLoanEvent
.
class
},
phase
=
TransactionPhase
.
AFTER_COMMIT
,
fallbackExecution
=
true
)
@TransactionalEventListener
(
classes
=
{
OwnerLoanEvent
.
class
},
phase
=
TransactionPhase
.
AFTER_COMMIT
,
fallbackExecution
=
true
)
public
void
listen
(
OwnerLoanEvent
event
)
{
public
void
listen
(
OwnerLoanEvent
event
)
{
log
.
info
(
"OwnerLoanEvent事件执行"
);
log
.
info
(
"OwnerLoanEvent事件执行"
);
OwnerLoanMqDTO
param
=
event
.
getParam
();
OwnerLoanMqDTO
param
=
event
.
getParam
();
...
@@ -132,23 +136,43 @@ public class EventListenerComponent {
...
@@ -132,23 +136,43 @@ public class EventListenerComponent {
public
void
listen
(
OwnerLoanFlagEvent
event
)
{
public
void
listen
(
OwnerLoanFlagEvent
event
)
{
log
.
info
(
"OwnerLoanFlagEvent事件执行"
);
log
.
info
(
"OwnerLoanFlagEvent事件执行"
);
Long
loanNo
=
event
.
getLoanNo
();
Long
loanNo
=
event
.
getLoanNo
();
List
<
OwnerLoanAccountRunningWaterRecord
>
records
=
ownerLoanAccountRunningWaterRecordDao
.
selectLoanRunningWatterRecord
(
loanNo
);
List
<
OwnerLoanAccountRunningWaterRecord
>
records
=
ownerLoanAccountRunningWaterRecordDao
.
selectLoanRunningWatterRecord
if
(
CollectionUtil
.
isEmpty
(
records
))
{
(
loanNo
,
OwnerLoanAccountRunningWaterRecordEnum
.
RunWaterType
.
APPROVE_CHILD_WRITE_OFF
.
getCode
());
return
;
}
Map
<
String
,
List
<
OwnerLoanAccountRunningWaterRecord
>>
listMap
=
records
.
stream
().
collect
(
Collectors
.
groupingBy
(
OwnerLoanAccountRunningWaterRecord:
:
getChildNo
));
Map
<
String
,
List
<
OwnerLoanAccountRunningWaterRecord
>>
listMap
=
records
.
stream
().
collect
(
Collectors
.
groupingBy
(
OwnerLoanAccountRunningWaterRecord:
:
getChildNo
));
List
<
String
>
childNoList
=
new
LinkedList
<>();
List
<
String
>
childNoList
=
new
LinkedList
<>();
for
(
Map
.
Entry
<
String
,
List
<
OwnerLoanAccountRunningWaterRecord
>>
entry
:
listMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
List
<
OwnerLoanAccountRunningWaterRecord
>>
entry
:
listMap
.
entrySet
())
{
if
(
entry
.
getValue
().
size
()
==
1
)
{
if
(
entry
.
getValue
().
size
()
==
1
)
{
childNoList
.
add
(
entry
.
getKey
());
childNoList
.
add
(
entry
.
getKey
());
}
else
{
}
else
{
log
.
info
(
"当前运单:{} 存在多条运单流水记录,无法更新运单的贷款标识"
,
entry
.
getKey
());
boolean
flag
=
true
;
for
(
OwnerLoanAccountRunningWaterRecord
record
:
entry
.
getValue
())
{
if
(
record
.
getLoanNo
().
equals
(
loanNo
))
{
continue
;
}
Optional
<
OwnerRepayment
>
optional
=
ownerRepaymentDao
.
getOneByField
(
OwnerRepayment:
:
getLoanNo
,
record
.
getLoanNo
());
if
(!
optional
.
isPresent
())
{
//没有还款记录
flag
=
false
;
break
;
}
else
{
OwnerRepayment
ownerRepayment
=
optional
.
get
();
//其他流水记录对应的还款单不是付款成功
if
(!
ownerRepayment
.
getStatus
().
equals
(
OwnerRePaymentEnum
.
Status
.
PAY_SUCCESS
.
getCode
()))
{
log
.
info
(
"当前运单号{},对应多条流水,其中流水号:{},对应的还款单号{},未还款"
,
entry
.
getKey
(),
record
.
getRunningWaterNo
(),
ownerRepayment
.
getRepaymentNo
());
flag
=
false
;
break
;
}
}
}
if
(
flag
)
{
childNoList
.
add
(
entry
.
getKey
());
}
}
}
}
}
log
.
info
(
"当前需要更新的运单数量:{}"
,
listMap
.
size
());
log
.
info
(
"需要更新计费明细借款标识为已还款的运单号:{}"
,
JSONUtil
.
parse
(
childNoList
));
if
(
CollectionUtil
.
isNotEmpty
(
childNoList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
childNoList
))
{
settlementDriverDetailDao
.
updateLoanFlagByChildNoList
(
childNoList
);
settlementDriverDetailDao
.
updateLoanFlagByChildNoList
(
childNoList
);
settlementDriverDao
.
updateLoanFlagByChildNoList
(
childNoList
);
settlementDriverDao
.
updateLoanFlagByChildNoList
(
childNoList
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论