Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
1a86a7b8
提交
1a86a7b8
authored
2月 29, 2024
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
结算单锁定
上级
b4205940
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
83 行增加
和
6 行删除
+83
-6
OwnerLoanRecordEnum.java
...a/com/clx/performance/enums/loan/OwnerLoanRecordEnum.java
+20
-0
OrderChildLoanComponent.java
...om/clx/performance/component/OrderChildLoanComponent.java
+22
-1
OwnerAccountComponent.java
.../com/clx/performance/component/OwnerAccountComponent.java
+0
-1
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+15
-0
SettlementDriverDetailDao.java
...clx/performance/dao/settle/SettlementDriverDetailDao.java
+2
-0
EventListenerComponent.java
...ava/com/clx/performance/event/EventListenerComponent.java
+1
-1
SettlementDriverDetail.java
.../clx/performance/model/settle/SettlementDriverDetail.java
+1
-0
SettlementOwnerDetailServiceImpl.java
...service/impl/settle/SettlementOwnerDetailServiceImpl.java
+22
-3
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/loan/OwnerLoanRecordEnum.java
浏览文件 @
1a86a7b8
...
...
@@ -74,6 +74,26 @@ public enum OwnerLoanRecordEnum {
}
}
@Getter
@AllArgsConstructor
public
enum
LoanTypeFlag
{
V_F
(
0
,
"虚拟币+资金"
),
VIRTUAL_CURRENCY
(
1
,
"虚拟币"
),
FUND
(
2
,
"资金"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
LoanTypeFlag
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
Objects
.
equals
(
e
.
code
,
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
Integer
code
)
{
return
getByCode
(
code
).
map
(
LoanTypeFlag:
:
getMsg
).
orElse
(
""
);
}
}
@Getter
@AllArgsConstructor
public
enum
PayChannel
{
...
...
performance-web/src/main/java/com/clx/performance/component/OrderChildLoanComponent.java
浏览文件 @
1a86a7b8
...
...
@@ -217,7 +217,7 @@ public class OrderChildLoanComponent {
log
.
info
(
"3.当前是网运单,但预付运费不为0,说明已经处理"
);
return
;
}
Integer
loanTypeFlag
=
null
;
String
childNo
=
settlementDriverDetail
.
getChildNo
();
List
<
OwnerLoanAccountRunningWaterRecord
>
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByChildNoAndRunningWaterType
(
childNo
);
...
...
@@ -239,6 +239,7 @@ public class OrderChildLoanComponent {
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByChildNoAndRunningWaterType
(
childNo
,
OwnerLoanAccountRunningWaterRecordEnum
.
RunWaterType
.
APPROVE_FROZEN
.
getCode
());
loanTypeFlag
=
loanFlagTypeProcess
(
runningWaterRecordList
);
childWriteOffOwnerLoanAccount
(
runningWaterRecordList
);
...
...
@@ -248,6 +249,7 @@ public class OrderChildLoanComponent {
log
.
info
(
"4.2 相等直接生成运单核销"
);
//相等直接生成运单核销
childWriteOffOwnerLoanAccount
(
runningWaterRecordList
);
loanTypeFlag
=
loanFlagTypeProcess
(
runningWaterRecordList
);
}
else
if
(
alterationBalance
.
compareTo
(
settlementOwnerDetail
.
getSettlementFreight
())
>
0
)
{
//大于,则生成核销后,释放冻结的借款
...
...
@@ -288,6 +290,8 @@ public class OrderChildLoanComponent {
//核销扣除
childWriteOffOwnerLoanAccount
(
frozenList
);
loanTypeFlag
=
loanFlagTypeProcess
(
frozenList
);
if
(
CollectionUtil
.
isNotEmpty
(
thawList
))
{
OwnerLoanAccountRunningWaterRecord
entity
=
runningWaterRecordList
.
get
(
0
);
Long
loanNo
=
entity
.
getLoanNo
();
...
...
@@ -314,12 +318,15 @@ public class OrderChildLoanComponent {
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByChildNoAndRunningWaterType
(
childNo
,
OwnerLoanAccountRunningWaterRecordEnum
.
RunWaterType
.
APPROVE_FROZEN
.
getCode
());
log
.
info
(
"4.5新查询出冻结借款记录:{}"
,
JSONUtil
.
parse
(
runningWaterRecordList
));
loanTypeFlag
=
loanFlagTypeProcess
(
runningWaterRecordList
);
childWriteOffOwnerLoanAccount
(
runningWaterRecordList
);
}
}
//已借款
settlementDriverDetail
.
setLoanFlag
(
OwnerLoanRecordEnum
.
LoanFlag
.
LOAN
.
getCode
());
settlementDriverDetail
.
setLoanTypeFlag
(
loanTypeFlag
);
// 抵扣金额
settlementOwnerDetail
.
setLoanFreight
(
settlementOwnerDetail
.
getSettlementFreight
());
settlementOwnerDetail
.
setSettlementFreight
(
BigDecimal
.
ZERO
);
...
...
@@ -491,4 +498,18 @@ public class OrderChildLoanComponent {
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
()).
subtract
(
settlementOwnerDetail
.
getPrepayFreight
());
}
}
public
Integer
loanFlagTypeProcess
(
List
<
OwnerLoanAccountRunningWaterRecord
>
runningWaterRecordList
)
{
Map
<
Integer
,
List
<
OwnerLoanAccountRunningWaterRecord
>>
listMap
=
runningWaterRecordList
.
stream
().
collect
(
Collectors
.
groupingBy
(
OwnerLoanAccountRunningWaterRecord:
:
getLoanType
));
if
(
listMap
.
get
(
OwnerLoanRecordEnum
.
LoanType
.
VIRTUAL_CURRENCY
.
getCode
()).
size
()
>
1
&&
listMap
.
get
(
OwnerLoanRecordEnum
.
LoanType
.
FUND
.
getCode
()).
size
()
>
1
)
{
return
OwnerLoanRecordEnum
.
LoanTypeFlag
.
V_F
.
getCode
();
}
else
if
(
listMap
.
get
(
OwnerLoanRecordEnum
.
LoanType
.
VIRTUAL_CURRENCY
.
getCode
()).
size
()
>
1
)
{
return
OwnerLoanRecordEnum
.
LoanTypeFlag
.
VIRTUAL_CURRENCY
.
getCode
();
}
else
{
return
OwnerLoanRecordEnum
.
LoanTypeFlag
.
FUND
.
getCode
();
}
}
}
performance-web/src/main/java/com/clx/performance/component/OwnerAccountComponent.java
浏览文件 @
1a86a7b8
...
...
@@ -33,7 +33,6 @@ public class OwnerAccountComponent {
orderFeign
.
saveOrderSettlementJobRecord
(
orderNo
);
return
;
}
//TODO 注意判断普通单还是网运单 普通单类型 1 网运单 2
Integer
invoiceType
=
settlementOwnerDetailService
.
getInvoiceType
(
orderNo
);
//1 网运单 2 普通单
log
.
info
(
"invoiceType={}"
,
invoiceType
);
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
1a86a7b8
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.mapper.settle.SettlementDriverDetailMapper
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverDetailParam
;
...
...
@@ -35,6 +36,7 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
.
set
(
SettlementDriverDetail:
:
getPrepayFreight
,
item
.
getPrepayFreight
())
.
set
(
SettlementDriverDetail:
:
getPrepayFreightFlag
,
item
.
getPrepayFreightFlag
())
.
set
(
SettlementDriverDetail:
:
getLoanFlag
,
item
.
getLoanFlag
())
.
set
(
SettlementDriverDetail:
:
getLoanTypeFlag
,
item
.
getLoanTypeFlag
())
);
}
...
...
@@ -96,7 +98,20 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
public
SettlementDriverDetail
selectLoanFlag
(
String
orderNo
)
{
return
baseMapper
.
selectOne
(
lQrWrapper
().
eq
(
SettlementDriverDetail:
:
getOrderNo
,
orderNo
)
.
eq
(
SettlementDriverDetail:
:
getLoanFlag
,
OwnerLoanRecordEnum
.
LoanFlag
.
NO_LOAN
.
getCode
())
.
eq
(
SettlementDriverDetail:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
.
eq
(
SettlementDriverDetail:
:
getPrepayFreightFlag
,
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
())
.
last
(
"limit 1"
)
);
}
@Override
public
SettlementDriverDetail
selectLoanTypeFlag
(
String
orderNo
)
{
return
baseMapper
.
selectOne
(
lQrWrapper
().
eq
(
SettlementDriverDetail:
:
getOrderNo
,
orderNo
)
.
eq
(
SettlementDriverDetail:
:
getLoanFlag
,
OwnerLoanRecordEnum
.
LoanFlag
.
LOAN
.
getCode
())
.
eq
(
SettlementDriverDetail:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
.
ne
(
SettlementDriverDetail:
:
getLoanTypeFlag
,
OwnerLoanRecordEnum
.
LoanTypeFlag
.
FUND
.
getCode
())
.
eq
(
SettlementDriverDetail:
:
getPrepayFreightFlag
,
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
())
.
last
(
"limit 1"
)
);
}
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDetailDao.java
浏览文件 @
1a86a7b8
...
...
@@ -35,4 +35,6 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
void
updateLoanFlagByChildNoList
(
List
<
String
>
childNoList
);
SettlementDriverDetail
selectLoanFlag
(
String
orderNo
);
SettlementDriverDetail
selectLoanTypeFlag
(
String
orderNo
);
}
performance-web/src/main/java/com/clx/performance/event/EventListenerComponent.java
浏览文件 @
1a86a7b8
...
...
@@ -174,7 +174,7 @@ public class EventListenerComponent {
String
ownerUserName
=
record
.
getOwnerUserName
();
BigDecimal
balance
=
record
.
getAlterationBalance
();
//解冻借款
orderChildLoanComponent
.
thawOwnerLoanAccount
(
loanNo
,
loanType
,
ownerUserNo
,
record
.
getMobile
(),
ownerUserName
,
childNo
,
balance
);
orderChildLoanComponent
.
thawOwnerLoanAccount
(
loanNo
,
loanType
,
ownerUserNo
,
ownerUserName
,
record
.
getMobile
()
,
childNo
,
balance
);
}
}
...
...
performance-web/src/main/java/com/clx/performance/model/settle/SettlementDriverDetail.java
浏览文件 @
1a86a7b8
...
...
@@ -45,6 +45,7 @@ public class SettlementDriverDetail implements HasKey<Integer> {
private
BigDecimal
prepayFreight
;
//预付运费金额(分)
private
Integer
prepayFreightFlag
;
//预付运费标示 0:未预付 1:已预付
private
Integer
loanFlag
;
//借款标示 0:未借款 1:已借款 2:已还款
private
Integer
loanTypeFlag
;
//借款类型标示 0:虚拟货币+资金 1:虚拟货币 2:资金
private
BigDecimal
settlementFreight
;
//结算金额(分)
private
Integer
invoiceType
;
//开票标识:1网运单 2普通单
private
Integer
status
;
//状态
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerDetailServiceImpl.java
浏览文件 @
1a86a7b8
...
...
@@ -4,11 +4,13 @@ import cn.hutool.core.collection.CollectionUtil;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
...
...
@@ -45,6 +47,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementOwnerDetailStruct
settlementOwnerDetailStruct
;
private
final
OrderChildDao
orderChildDao
;
private
final
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Override
...
...
@@ -257,17 +260,33 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
public
Boolean
thawAndLockSettlement
(
String
orderNo
)
{
boolean
orderChildrenFlag
=
false
;
boolean
ownerDetailsFlag
=
false
;
boolean
loanFlag
=
false
;
List
<
OrderChild
>
orderChildren
=
orderChildDao
.
selectInTransitOrderChildLtUnsettle
(
orderNo
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildren
))
{
orderChildrenFlag
=
true
;
}
else
{
List
<
SettlementOwnerDetail
>
ownerDetails
=
settlementOwnerDetailDao
.
selectListByOrderNo
(
orderNo
);
if
(
CollectionUtil
.
isNotEmpty
(
ownerDetails
))
{
ownerDetailsFlag
=
true
;
}
else
{
//开票标识“网运单”,预付标识“未预付”,借款标识”未借款“的车主计费,如存在不允许锁定
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
selectLoanFlag
(
orderNo
);
if
(
settlementDriverDetail
!=
null
)
{
loanFlag
=
true
;
}
else
{
//开票标识“网运单”,预付标识“未预付”,借款类型“虚拟货币”,借款标识”已借款“的车主计费,如存在不允许锁定
settlementDriverDetail
=
settlementDriverDetailDao
.
selectLoanTypeFlag
(
orderNo
);
if
(
settlementDriverDetail
!=
null
)
{
loanFlag
=
true
;
}
}
if
(
CollectionUtil
.
isNotEmpty
(
orderChildren
))
{
orderChildrenFlag
=
true
;
}
}
if
(
ownerDetailsFlag
||
orderChildrenFlag
)
{
if
(
ownerDetailsFlag
||
orderChildrenFlag
||
loanFlag
)
{
return
true
;
}
else
{
return
false
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论