Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
4c16a48e
提交
4c16a48e
authored
2月 21, 2024
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
借款到账后执行重新借款标志处理
上级
b82a7e71
隐藏空白字符变更
内嵌
并排
正在显示
26 个修改的文件
包含
428 行增加
和
54 行删除
+428
-54
OwnerLoanRecordEnum.java
...a/com/clx/performance/enums/loan/OwnerLoanRecordEnum.java
+19
-0
OwnerLoanPayNotifyMqParam.java
.../com/clx/performance/param/OwnerLoanPayNotifyMqParam.java
+4
-4
OrderChildLoanComponent.java
...om/clx/performance/component/OrderChildLoanComponent.java
+32
-4
RabbitKeyConstants.java
...java/com/clx/performance/constant/RabbitKeyConstants.java
+4
-0
BankTradeDaoImpl.java
...a/com/clx/performance/dao/impl/loan/BankTradeDaoImpl.java
+1
-0
OrderChildLoanRetryRecordDaoImpl.java
...mance/dao/impl/loan/OrderChildLoanRetryRecordDaoImpl.java
+23
-0
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+1
-0
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+1
-0
OrderChildLoanRetryRecordDao.java
...lx/performance/dao/loan/OrderChildLoanRetryRecordDao.java
+17
-0
SettlementDriverDetailDao.java
...clx/performance/dao/settle/SettlementDriverDetailDao.java
+1
-0
SettlementOwnerDetailDao.java
.../clx/performance/dao/settle/SettlementOwnerDetailDao.java
+1
-0
OwnerLoanMqDTO.java
...src/main/java/com/clx/performance/dto/OwnerLoanMqDTO.java
+16
-0
SettlementListener.java
...in/java/com/clx/performance/event/SettlementListener.java
+41
-0
SettlementUpdateEvent.java
...java/com/clx/performance/event/SettlementUpdateEvent.java
+45
-0
OrderChildSyncTransportListener.java
...performance/listener/OrderChildSyncTransportListener.java
+15
-26
OwnerLoanListener.java
.../java/com/clx/performance/listener/OwnerLoanListener.java
+64
-0
OwnerLoanPayNotifyListener.java
.../clx/performance/listener/OwnerLoanPayNotifyListener.java
+3
-3
OrderChildLoanRetryRecordMapper.java
...formance/mapper/loan/OrderChildLoanRetryRecordMapper.java
+12
-0
BankTrade.java
...c/main/java/com/clx/performance/model/loan/BankTrade.java
+1
-0
OrderChildLoanRetryRecord.java
...clx/performance/model/loan/OrderChildLoanRetryRecord.java
+51
-0
OwnerLoanAccountServiceImpl.java
...rmance/service/impl/loan/OwnerLoanAccountServiceImpl.java
+58
-3
OwnerLoanRecordServiceImpl.java
...ormance/service/impl/loan/OwnerLoanRecordServiceImpl.java
+10
-6
SettlementDriverDetailServiceImpl.java
...ervice/impl/settle/SettlementDriverDetailServiceImpl.java
+1
-1
NbBankServiceImpl.java
...nce/service/impl/thirdparty/nbbank/NbBankServiceImpl.java
+3
-5
OwnerLoanAccountService.java
...clx/performance/service/loan/OwnerLoanAccountService.java
+2
-0
OwnerLoanRecordService.java
.../clx/performance/service/loan/OwnerLoanRecordService.java
+2
-2
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/loan/OwnerLoanRecordEnum.java
浏览文件 @
4c16a48e
...
@@ -54,6 +54,25 @@ public enum OwnerLoanRecordEnum {
...
@@ -54,6 +54,25 @@ public enum OwnerLoanRecordEnum {
}
}
}
}
@Getter
@AllArgsConstructor
public
enum
LoanFlag
{
NO_LOAN
(
0
,
"未借款"
),
LOAN
(
2
,
"已借款"
),
RE_PAY
(
3
,
"已还款"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
LoanFlag
>
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
(
LoanFlag:
:
getMsg
).
orElse
(
null
);
}
}
@Getter
@Getter
@AllArgsConstructor
@AllArgsConstructor
...
...
performance-api/src/main/java/com/clx/performance/OwnerLoanPayNotifyMqParam.java
→
performance-api/src/main/java/com/clx/performance/
param/
OwnerLoanPayNotifyMqParam.java
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
;
package
com
.
clx
.
performance
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -8,9 +8,9 @@ import javax.validation.constraints.NotNull;
...
@@ -8,9 +8,9 @@ import javax.validation.constraints.NotNull;
@Data
@Data
public
class
OwnerLoanPayNotifyMqParam
{
public
class
OwnerLoanPayNotifyMqParam
{
@NotNull
(
message
=
"
借款单
号不能为空"
)
@NotNull
(
message
=
"
流水
号不能为空"
)
@ApiModelProperty
(
"
借款单
号"
)
@ApiModelProperty
(
"
流水
号"
)
private
String
loan
No
;
private
String
merSeq
No
;
@ApiModelProperty
(
"支付状态"
)
@ApiModelProperty
(
"支付状态"
)
private
Integer
payStatus
;
private
Integer
payStatus
;
...
...
performance-web/src/main/java/com/clx/performance/component/OrderChildLoanComponent.java
浏览文件 @
4c16a48e
...
@@ -20,6 +20,7 @@ import com.clx.performance.enums.loan.OwnerLoanAccountRunningWaterRecordEnum;
...
@@ -20,6 +20,7 @@ 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.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OwnerRunningWaterRecord
;
import
com.clx.performance.model.OwnerRunningWaterRecord
;
...
@@ -43,6 +44,7 @@ import java.math.BigDecimal;
...
@@ -43,6 +44,7 @@ import java.math.BigDecimal;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
@Component
@Component
...
@@ -170,8 +172,16 @@ public class OrderChildLoanComponent {
...
@@ -170,8 +172,16 @@ public class OrderChildLoanComponent {
* @param settlementOwnerDetail
* @param settlementOwnerDetail
*/
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
childLoanConfirmAfterProcess
(
SettlementDriverDetail
settlementDriverDetail
,
SettlementOwnerDetail
settlementOwnerDetail
)
{
public
void
childLoanConfirmAfterProcess
(
SettlementDriverDetail
settlementDriverDetail
,
SettlementOwnerDetail
settlementOwnerDetail
,
OrderChild
orderChild
)
{
log
.
info
(
"1.运单确认收货后借款相关处理执行"
);
log
.
info
(
"1.运单确认收货后借款相关处理执行"
);
OwnerQuotationDetailVO
quotationDetailVO
=
orderFeign
.
getQuotationByOrderNo
(
settlementDriverDetail
.
getOrderNo
()).
getData
();
BigDecimal
freightFreezeRate
=
quotationDetailVO
.
getFreightFreezeRate
();
if
(
freightFreezeRate
.
compareTo
(
BigDecimal
.
ONE
)
==
0
)
{
//百分百预付不需要考虑借款账户
log
.
info
(
"1.1百分百预付不需要考虑借款账户"
);
return
;
}
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
settlementDriverDetail
.
getInvoiceType
()))
{
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
settlementDriverDetail
.
getInvoiceType
()))
{
log
.
info
(
"2.当前不是网运单,不需要处理借款标识"
);
log
.
info
(
"2.当前不是网运单,不需要处理借款标识"
);
return
;
return
;
...
@@ -182,10 +192,15 @@ public class OrderChildLoanComponent {
...
@@ -182,10 +192,15 @@ public class OrderChildLoanComponent {
return
;
return
;
}
}
String
childNo
=
settlementDriverDetail
.
getChildNo
();
String
childNo
=
settlementDriverDetail
.
getChildNo
();
List
<
OwnerLoanAccountRunningWaterRecord
>
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByOrderNoAndRunningWaterType
List
<
OwnerLoanAccountRunningWaterRecord
>
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByOrderNoAndRunningWaterType
(
childNo
,
OwnerLoanAccountRunningWaterRecordEnum
.
RunWaterType
.
APPROVE_FROZEN
.
getCode
());
(
childNo
,
OwnerLoanAccountRunningWaterRecordEnum
.
RunWaterType
.
APPROVE_FROZEN
.
getCode
());
settlementDriverDetail
.
setLoanFlag
(
1
);
//已借款
settlementDriverDetail
.
setLoanFlag
(
OwnerLoanRecordEnum
.
LoanFlag
.
LOAN
.
getCode
());
// 抵扣金额
settlementOwnerDetail
.
setLoanFreight
(
settlementFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
settlementOwnerDetail
.
setLoanFreight
(
settlementOwnerDetail
.
getSettlementFreight
());
settlementOwnerDetail
.
setLoanFreight
(
settlementOwnerDetail
.
getSettlementFreight
());
log
.
info
(
"4.查询当前运单号:{}, 当前货主,{}, 此运单借款冻结记录:{}"
,
childNo
,
settlementOwnerDetail
.
getOwnerUserNo
(),
JSONUtil
.
parse
(
runningWaterRecordList
));
log
.
info
(
"4.查询当前运单号:{}, 当前货主,{}, 此运单借款冻结记录:{}"
,
childNo
,
settlementOwnerDetail
.
getOwnerUserNo
(),
JSONUtil
.
parse
(
runningWaterRecordList
));
...
@@ -198,7 +213,7 @@ public class OrderChildLoanComponent {
...
@@ -198,7 +213,7 @@ public class OrderChildLoanComponent {
param
.
setChildNo
(
childNo
);
param
.
setChildNo
(
childNo
);
param
.
setSettlementDriverDetail
(
settlementDriverDetail
);
param
.
setSettlementDriverDetail
(
settlementDriverDetail
);
param
.
setSettlementOwnerDetail
(
settlementOwnerDetail
);
param
.
setSettlementOwnerDetail
(
settlementOwnerDetail
);
//扣钱,获取锁,此处有可能钱不够,抛异常,
走网络货运重试
//扣钱,获取锁,此处有可能钱不够,抛异常,
getLoanBalanceLock
(
param
);
getLoanBalanceLock
(
param
);
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByOrderNoAndRunningWaterType
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByOrderNoAndRunningWaterType
...
@@ -237,7 +252,7 @@ public class OrderChildLoanComponent {
...
@@ -237,7 +252,7 @@ public class OrderChildLoanComponent {
param
.
setChildNo
(
childNo
);
param
.
setChildNo
(
childNo
);
param
.
setSettlementDriverDetail
(
settlementDriverDetail
);
param
.
setSettlementDriverDetail
(
settlementDriverDetail
);
param
.
setSettlementOwnerDetail
(
settlementOwnerDetail
);
param
.
setSettlementOwnerDetail
(
settlementOwnerDetail
);
//扣钱,获取锁,此处有可能钱不够,抛异常,
走网络货运重试
//扣钱,获取锁,此处有可能钱不够,抛异常,
getLoanBalanceLock
(
param
);
getLoanBalanceLock
(
param
);
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByOrderNoAndRunningWaterType
runningWaterRecordList
=
ownerLoanAccountRunningWaterRecordDao
.
getListByOrderNoAndRunningWaterType
...
@@ -386,4 +401,17 @@ public class OrderChildLoanComponent {
...
@@ -386,4 +401,17 @@ public class OrderChildLoanComponent {
}
}
}
}
}
}
/**
* 结算金额
*/
private
BigDecimal
settlementFreightCalc
(
Integer
settlementWay
,
SettlementOwnerDetail
settlementOwnerDetail
)
{
if
(
Objects
.
equals
(
settlementWay
,
SettlementWayEnum
.
WayType
.
LOAD
.
getCode
()))
{
//订单结算方式为“装车净重”时,结算金额=实际净重*平台运费报价-预付运费-货损金额。
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
())
.
subtract
(
settlementOwnerDetail
.
getPrepayFreight
()).
subtract
(
settlementOwnerDetail
.
getLossFreight
());
}
else
{
//订单结算方式为“卸车净重”时,结算金额=实际净重*平台运费报价-预付运费
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
()).
subtract
(
settlementOwnerDetail
.
getPrepayFreight
());
}
}
}
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java
浏览文件 @
4c16a48e
...
@@ -89,4 +89,8 @@ public class RabbitKeyConstants {
...
@@ -89,4 +89,8 @@ public class RabbitKeyConstants {
public
static
final
String
OWNER_LOAN_PAY_ROUTE_KEY
=
"clx-performance.loan.pay.route.key"
;
public
static
final
String
OWNER_LOAN_PAY_ROUTE_KEY
=
"clx-performance.loan.pay.route.key"
;
public
static
final
String
OWNER_LOAN_PAY_QUEUE
=
"clx-performance.loan.pay.queue"
;
public
static
final
String
OWNER_LOAN_PAY_QUEUE
=
"clx-performance.loan.pay.queue"
;
public
static
final
String
OWNER_LOAN_ROUTE_KEY
=
"clx-performance.loan.route.key"
;
public
static
final
String
OWNER_LOAN_QUEUE
=
"clx-performance.loan.queue"
;
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/loan/BankTradeDaoImpl.java
浏览文件 @
4c16a48e
...
@@ -30,6 +30,7 @@ public class BankTradeDaoImpl extends BaseDaoImpl<BankTradeMapper, BankTrade, In
...
@@ -30,6 +30,7 @@ public class BankTradeDaoImpl extends BaseDaoImpl<BankTradeMapper, BankTrade, In
return
Optional
.
of
(
merchantRunningWaterNo
)
return
Optional
.
of
(
merchantRunningWaterNo
)
.
map
(
item
->
lQrWrapper
()
.
map
(
item
->
lQrWrapper
()
.
eq
(
BankTrade:
:
getMerchantRunningWaterNo
,
item
)
.
eq
(
BankTrade:
:
getMerchantRunningWaterNo
,
item
)
.
orderByDesc
(
BankTrade:
:
getId
)
.
last
(
"limit 1"
)
.
last
(
"limit 1"
)
)
)
.
map
(
super
::
getOne
);
.
map
(
super
::
getOne
);
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/loan/OrderChildLoanRetryRecordDaoImpl.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
dao
.
impl
.
loan
;
import
com.clx.performance.dao.loan.OrderChildLoanRetryRecordDao
;
import
com.clx.performance.mapper.loan.OrderChildLoanRetryRecordMapper
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author kavin
* Date 2024-02-21
* Time 19:58
*/
@Repository
public
class
OrderChildLoanRetryRecordDaoImpl
extends
BaseDaoImpl
<
OrderChildLoanRetryRecordMapper
,
OrderChildLoanRetryRecord
,
Integer
>
implements
OrderChildLoanRetryRecordDao
{
@Override
public
List
<
OrderChildLoanRetryRecord
>
selectListByIdAsc
()
{
return
baseMapper
.
selectList
(
lQrWrapper
().
orderByAsc
(
OrderChildLoanRetryRecord:
:
getId
));
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
4c16a48e
...
@@ -80,4 +80,5 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
...
@@ -80,4 +80,5 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
public
List
<
SettlementDriverDetail
>
findByDriverSettlementIds
(
List
<
Integer
>
ids
)
{
public
List
<
SettlementDriverDetail
>
findByDriverSettlementIds
(
List
<
Integer
>
ids
)
{
return
baseMapper
.
findByDriverSettlementIds
(
ids
);
return
baseMapper
.
findByDriverSettlementIds
(
ids
);
}
}
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
浏览文件 @
4c16a48e
...
@@ -154,4 +154,5 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
...
@@ -154,4 +154,5 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
.
set
(
SettlementOwnerDetail
::
getSettlementNo
,
settlementNo
)
.
set
(
SettlementOwnerDetail
::
getSettlementNo
,
settlementNo
)
);
);
}
}
}
}
performance-web/src/main/java/com/clx/performance/dao/loan/OrderChildLoanRetryRecordDao.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
dao
.
loan
;
import
com.clx.performance.mapper.loan.OrderChildLoanRetryRecordMapper
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.msl.common.dao.BaseDao
;
import
java.util.List
;
/**
* @author kavin
* Date 2024-02-21
* Time 19:58
*/
public
interface
OrderChildLoanRetryRecordDao
extends
BaseDao
<
OrderChildLoanRetryRecordMapper
,
OrderChildLoanRetryRecord
,
Integer
>
{
List
<
OrderChildLoanRetryRecord
>
selectListByIdAsc
();
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDetailDao.java
浏览文件 @
4c16a48e
...
@@ -30,4 +30,5 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
...
@@ -30,4 +30,5 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
List
<
SettlementDriverDetail
>
listUnPay
(
LocalDateTime
beginTime
);
List
<
SettlementDriverDetail
>
listUnPay
(
LocalDateTime
beginTime
);
List
<
SettlementDriverDetail
>
findByDriverSettlementIds
(
List
<
Integer
>
ids
);
List
<
SettlementDriverDetail
>
findByDriverSettlementIds
(
List
<
Integer
>
ids
);
}
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDetailDao.java
浏览文件 @
4c16a48e
...
@@ -46,4 +46,5 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
...
@@ -46,4 +46,5 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
List
<
SettlementOwnerDetail
>
selectListByOrderNo
(
String
orderNo
);
List
<
SettlementOwnerDetail
>
selectListByOrderNo
(
String
orderNo
);
void
updateSettlementMerge
(
String
settlementNo
,
List
<
String
>
settlementNos
);
void
updateSettlementMerge
(
String
settlementNo
,
List
<
String
>
settlementNos
);
}
}
performance-web/src/main/java/com/clx/performance/dto/OwnerLoanMqDTO.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
dto
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
lombok.Data
;
@Data
public
class
OwnerLoanMqDTO
{
private
SettlementOwnerDetail
settlementOwnerDetail
;
private
SettlementDriverDetail
settlementDriverDetail
;
private
OrderChild
orderChild
;
}
performance-web/src/main/java/com/clx/performance/event/SettlementListener.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
event
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.performance.dao.loan.OrderChildLoanRetryRecordDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.stereotype.Component
;
@Component
@Slf4j
@AllArgsConstructor
public
class
SettlementListener
{
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementDriverDetailDao
settlementDriverDetailDao
;
private
final
OrderChildLoanRetryRecordDao
orderChildLoanRetryRecordDao
;
@EventListener
(
classes
=
{
SettlementUpdateEvent
.
class
})
public
void
listen
(
SettlementUpdateEvent
event
)
{
SettlementOwnerDetail
settlementOwnerDetail
=
event
.
getSettlementOwnerDetail
();
SettlementDriverDetail
settlementDriverDetail
=
event
.
getSettlementDriverDetail
();
log
.
info
(
"当前货主结算信息{},车主结算信息:{}"
,
JSONUtil
.
parse
(
settlementOwnerDetail
),
JSONUtil
.
parse
(
settlementDriverDetail
));
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
OrderChildLoanRetryRecord
entity
=
new
OrderChildLoanRetryRecord
();
entity
.
setSettlementOwnerId
(
settlementOwnerDetail
.
getId
());
entity
.
setSettlementDriverId
(
settlementDriverDetail
.
getId
());
// 保存重试记录
orderChildLoanRetryRecordDao
.
saveEntity
(
entity
);
}
}
performance-web/src/main/java/com/clx/performance/event/SettlementUpdateEvent.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
event
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
org.springframework.context.ApplicationEvent
;
public
class
SettlementUpdateEvent
extends
ApplicationEvent
{
private
SettlementDriverDetail
settlementDriverDetail
;
private
SettlementOwnerDetail
settlementOwnerDetail
;
/**
* Create a new {@code ApplicationEvent}.
*
* @param source the object on which the event initially occurred or with
* which the event is associated (never {@code null})
*/
public
SettlementUpdateEvent
(
Object
source
)
{
super
(
source
);
}
public
SettlementUpdateEvent
(
Object
source
,
SettlementDriverDetail
settlementDriverDetail
,
SettlementOwnerDetail
settlementOwnerDetail
)
{
super
(
source
);
this
.
settlementDriverDetail
=
settlementDriverDetail
;
this
.
settlementOwnerDetail
=
settlementOwnerDetail
;
}
public
SettlementDriverDetail
getSettlementDriverDetail
()
{
return
settlementDriverDetail
;
}
public
void
setSettlementDriverDetail
(
SettlementDriverDetail
settlementDriverDetail
)
{
this
.
settlementDriverDetail
=
settlementDriverDetail
;
}
public
SettlementOwnerDetail
getSettlementOwnerDetail
()
{
return
settlementOwnerDetail
;
}
public
void
setSettlementOwnerDetail
(
SettlementOwnerDetail
settlementOwnerDetail
)
{
this
.
settlementOwnerDetail
=
settlementOwnerDetail
;
}
}
performance-web/src/main/java/com/clx/performance/listener/OrderChildSyncTransportListener.java
浏览文件 @
4c16a48e
...
@@ -12,6 +12,7 @@ import com.clx.performance.dao.OwnerRunningWaterRecordDao;
...
@@ -12,6 +12,7 @@ import com.clx.performance.dao.OwnerRunningWaterRecordDao;
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.OrderChildSyncDTO
;
import
com.clx.performance.dto.OrderChildSyncDTO
;
import
com.clx.performance.dto.OwnerLoanMqDTO
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
...
@@ -29,7 +30,10 @@ import com.msl.common.dto.HttpDTO;
...
@@ -29,7 +30,10 @@ import com.msl.common.dto.HttpDTO;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -64,9 +68,7 @@ public class OrderChildSyncTransportListener {
...
@@ -64,9 +68,7 @@ public class OrderChildSyncTransportListener {
private
final
OrderChildSyncTransportInvoiceRecordDao
orderChildSyncTransportInvoiceRecordDao
;
private
final
OrderChildSyncTransportInvoiceRecordDao
orderChildSyncTransportInvoiceRecordDao
;
private
final
SettlementMqService
settlementMqService
;
private
final
RabbitTemplate
rabbitTemplate
;
private
final
OrderChildLoanComponent
orderChildLoanComponent
;
@RabbitListener
(
queues
=
RabbitKeyConstants
.
ORDER_CHILD_SYNC_TRANSPORT_QUEUE
)
@RabbitListener
(
queues
=
RabbitKeyConstants
.
ORDER_CHILD_SYNC_TRANSPORT_QUEUE
)
public
void
onMessage
(
String
message
)
{
public
void
onMessage
(
String
message
)
{
...
@@ -164,8 +166,6 @@ public class OrderChildSyncTransportListener {
...
@@ -164,8 +166,6 @@ public class OrderChildSyncTransportListener {
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
}
}
// 结算金额
settlementOwnerDetail
.
setSettlementFreight
(
settlementFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
invoiceType
))
{
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
invoiceType
))
{
if
(
settlementOwnerDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
settlementOwnerDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
...
@@ -179,16 +179,15 @@ public class OrderChildSyncTransportListener {
...
@@ -179,16 +179,15 @@ public class OrderChildSyncTransportListener {
settlementOwnerDetail
.
setInvoiceType
(
invoiceType
);
settlementOwnerDetail
.
setInvoiceType
(
invoiceType
);
settlementDriverDetail
.
setInvoiceType
(
invoiceType
);
settlementDriverDetail
.
setInvoiceType
(
invoiceType
);
//生成借款标识
//货主借款监听器处理
orderChildLoanComponent
.
childLoanConfirmAfterProcess
(
settlementDriverDetail
,
settlementOwnerDetail
);
OwnerLoanMqDTO
dto
=
new
OwnerLoanMqDTO
();
dto
.
setSettlementOwnerDetail
(
settlementOwnerDetail
);
log
.
info
(
"当前货主结算信息{},车主结算信息:{}"
,
JSONUtil
.
parse
(
settlementOwnerDetail
),
JSONUtil
.
parse
(
settlementDriverDetail
));
dto
.
setSettlementDriverDetail
(
settlementDriverDetail
);
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
dto
.
setOrderChild
(
orderChild
);
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
Message
message
=
MessageBuilder
.
withBody
(
JSONUtil
.
parse
(
dto
).
toString
().
getBytes
()).
build
();
rabbitTemplate
.
send
(
// 发送mq 通过开票标识
RabbitKeyConstants
.
OWNER_LOAN_EXCHANGE
,
RabbitKeyConstants
.
OWNER_LOAN_ROUTE_KEY
,
message
settlementMqService
.
invoiceTypeSync
(
orderChild
.
getChildNo
(),
invoiceType
);
);
}
}
private
void
generateTakeOutRunningWatter
(
OrderChild
orderChild
,
BigDecimal
ans
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
private
void
generateTakeOutRunningWatter
(
OrderChild
orderChild
,
BigDecimal
ans
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
OwnerAccount
account
=
null
;
OwnerAccount
account
=
null
;
...
@@ -252,17 +251,7 @@ public class OrderChildSyncTransportListener {
...
@@ -252,17 +251,7 @@ public class OrderChildSyncTransportListener {
}
}
}
}
/**
* 结算金额
*/
private
BigDecimal
settlementFreightCalc
(
Integer
settlementWay
,
SettlementOwnerDetail
settlementOwnerDetail
)
{
if
(
Objects
.
equals
(
settlementWay
,
SettlementWayEnum
.
WayType
.
LOAD
.
getCode
()))
{
//订单结算方式为“装车净重”时,结算金额=实际净重*平台运费报价-预付运费-货损金额。
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
())
.
subtract
(
settlementOwnerDetail
.
getPrepayFreight
()).
subtract
(
settlementOwnerDetail
.
getLossFreight
());
}
else
{
//订单结算方式为“卸车净重”时,结算金额=实际净重*平台运费报价-预付运费
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
()).
subtract
(
settlementOwnerDetail
.
getPrepayFreight
());
}
}
/**
/**
* 开票金额
* 开票金额
...
...
performance-web/src/main/java/com/clx/performance/listener/OwnerLoanListener.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
listener
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.performance.component.OrderChildLoanComponent
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.OwnerLoanMqDTO
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.event.SettlementUpdateEvent
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.stereotype.Component
;
/**
* 处理货主借款监听器
*/
@Slf4j
@Component
@AllArgsConstructor
public
class
OwnerLoanListener
{
private
final
OrderChildLoanComponent
orderChildLoanComponent
;
private
final
SettlementMqService
settlementMqService
;
private
final
ApplicationEventPublisher
applicationEventPublisher
;
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementDriverDetailDao
settlementDriverDetailDao
;
@RabbitListener
(
queues
=
RabbitKeyConstants
.
OWNER_LOAN_QUEUE
)
public
void
onMessage
(
String
message
)
{
log
.
info
(
"处理货主借款监听器执行,数据为{}"
,
message
);
OwnerLoanMqDTO
param
=
JSONUtil
.
toBean
(
message
,
OwnerLoanMqDTO
.
class
);
SettlementOwnerDetail
settlementOwnerDetail
=
param
.
getSettlementOwnerDetail
();
SettlementDriverDetail
settlementDriverDetail
=
param
.
getSettlementDriverDetail
();
OrderChild
orderChild
=
param
.
getOrderChild
();
try
{
//生成借款标识
orderChildLoanComponent
.
childLoanConfirmAfterProcess
(
settlementDriverDetail
,
settlementOwnerDetail
,
orderChild
);
}
catch
(
Exception
e
)
{
log
.
error
(
"处理货主借款监听器执行异常,数据为{}"
,
message
,
e
);
//未借款
settlementDriverDetail
.
setLoanFlag
(
OwnerLoanRecordEnum
.
LoanFlag
.
NO_LOAN
.
getCode
());
applicationEventPublisher
.
publishEvent
(
new
SettlementUpdateEvent
(
this
,
settlementDriverDetail
,
settlementOwnerDetail
));
throw
e
;
}
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
// 发送mq 通过开票标识
settlementMqService
.
invoiceTypeSync
(
settlementDriverDetail
.
getChildNo
(),
settlementDriverDetail
.
getInvoiceType
());
}
}
performance-web/src/main/java/com/clx/performance/listener/OwnerLoanPayNotifyListener.java
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
listener
;
package
com
.
clx
.
performance
.
listener
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.performance.OwnerLoanPayNotifyMqParam
;
import
com.clx.performance.
param.
OwnerLoanPayNotifyMqParam
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.enums.nbbank.NbBankStatusEnum
;
import
com.clx.performance.enums.nbbank.NbBankStatusEnum
;
import
com.clx.performance.service.loan.OwnerLoanRecordService
;
import
com.clx.performance.service.loan.OwnerLoanRecordService
;
...
@@ -29,11 +29,11 @@ public class OwnerLoanPayNotifyListener {
...
@@ -29,11 +29,11 @@ public class OwnerLoanPayNotifyListener {
if
(
Objects
.
equals
(
param
.
getPayStatus
(),
NbBankStatusEnum
.
Status
.
SUCCESS
.
getCode
()))
{
if
(
Objects
.
equals
(
param
.
getPayStatus
(),
NbBankStatusEnum
.
Status
.
SUCCESS
.
getCode
()))
{
// 支付成功
// 支付成功
ownerLoanRecordService
.
paySuccess
(
param
.
get
Loan
No
());
ownerLoanRecordService
.
paySuccess
(
param
.
get
MerSeq
No
());
}
}
else
if
(
Objects
.
equals
(
param
.
getPayStatus
(),
NbBankStatusEnum
.
Status
.
FAIL
.
getCode
()))
{
else
if
(
Objects
.
equals
(
param
.
getPayStatus
(),
NbBankStatusEnum
.
Status
.
FAIL
.
getCode
()))
{
// 支付失败
// 支付失败
ownerLoanRecordService
.
payFail
(
param
.
get
Loan
No
());
ownerLoanRecordService
.
payFail
(
param
.
get
MerSeq
No
());
}
}
}
}
}
}
performance-web/src/main/java/com/clx/performance/mapper/loan/OrderChildLoanRetryRecordMapper.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
mapper
.
loan
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
/**
* @author kavin
* Date 2024-02-21
* Time 19:58
*/
public
interface
OrderChildLoanRetryRecordMapper
extends
BaseMapper
<
OrderChildLoanRetryRecord
>
{
}
performance-web/src/main/java/com/clx/performance/model/loan/BankTrade.java
浏览文件 @
4c16a48e
...
@@ -36,6 +36,7 @@ public class BankTrade implements HasKey<Integer> {
...
@@ -36,6 +36,7 @@ public class BankTrade implements HasKey<Integer> {
private
String
remark
;
//备注
private
String
remark
;
//备注
private
LocalDateTime
createTime
;
//创建时间
private
LocalDateTime
createTime
;
//创建时间
private
LocalDateTime
modifiedTime
;
//修改时间
private
LocalDateTime
modifiedTime
;
//修改时间
private
String
relationNo
;
@KeyColumn
(
"id"
)
@KeyColumn
(
"id"
)
@Override
@Override
...
...
performance-web/src/main/java/com/clx/performance/model/loan/OrderChildLoanRetryRecord.java
0 → 100644
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
model
.
loan
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDateTime
;
/**
* @author kavin
* Date 2024-02-21
* Time 19:58
*/
@Getter
@Setter
@Accessors
(
chain
=
true
)
@TableName
(
"order_child_loan_retry_record"
)
public
class
OrderChildLoanRetryRecord
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@TableField
(
"settlement_driver_id"
)
@ApiModelProperty
(
"车主计费主键"
)
private
Integer
settlementDriverId
;
@TableField
(
"settlement_owner_id"
)
@ApiModelProperty
(
"货主计费主键"
)
private
Integer
settlementOwnerId
;
@TableField
(
"create_time"
)
@ApiModelProperty
(
"创建时间"
)
private
LocalDateTime
createTime
;
@TableField
(
"modified_time"
)
@ApiModelProperty
(
"修改时间"
)
private
LocalDateTime
modifiedTime
;
@Override
@KeyColumn
(
"id"
)
public
Integer
gainKey
()
{
return
this
.
id
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/loan/OwnerLoanAccountServiceImpl.java
浏览文件 @
4c16a48e
package
com
.
clx
.
performance
.
service
.
impl
.
loan
;
package
com
.
clx
.
performance
.
service
.
impl
.
loan
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.component.OrderChildLoanComponent
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.loan.OrderChildLoanRetryRecordDao
;
import
com.clx.performance.dao.loan.OwnerLoanAccountDao
;
import
com.clx.performance.dao.loan.OwnerLoanAccountDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.OwnerLoanMqDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementDriver
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.clx.performance.model.loan.OwnerLoanAccount
;
import
com.clx.performance.model.loan.OwnerLoanAccount
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam
;
import
com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam
;
import
com.clx.performance.service.loan.OwnerLoanAccountService
;
import
com.clx.performance.service.loan.OwnerLoanAccountService
;
import
com.clx.performance.struct.loan.OwnerLoanAccountStruct
;
import
com.clx.performance.struct.loan.OwnerLoanAccountStruct
;
...
@@ -14,10 +27,14 @@ import com.msl.user.data.UserSessionData;
...
@@ -14,10 +27,14 @@ import com.msl.user.data.UserSessionData;
import
com.msl.user.utils.TokenUtil
;
import
com.msl.user.utils.TokenUtil
;
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.MessageBuilder
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
/**
* @author kavin
* @author kavin
...
@@ -27,12 +44,22 @@ import java.math.BigDecimal;
...
@@ -27,12 +44,22 @@ import java.math.BigDecimal;
@Service
@Service
@Slf4j
@Slf4j
@AllArgsConstructor
@AllArgsConstructor
public
class
OwnerLoanAccountServiceImpl
implements
OwnerLoanAccountService
{
public
class
OwnerLoanAccountServiceImpl
implements
OwnerLoanAccountService
{
private
final
OwnerLoanAccountDao
ownerLoanAccountDao
;
private
final
OwnerLoanAccountDao
ownerLoanAccountDao
;
private
final
OwnerLoanAccountStruct
ownerLoanAccountStruct
;
private
final
OwnerLoanAccountStruct
ownerLoanAccountStruct
;
private
final
OrderChildDao
orderChildDao
;
private
final
SettlementDriverDetailDao
settlementDriverDetailDao
;
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
OrderChildLoanRetryRecordDao
orderChildLoanRetryRecordDao
;
private
final
RabbitTemplate
rabbitTemplate
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
void
openOwnerLoanAccount
(
Long
ownerUserNo
,
String
ownerUserName
,
String
mobile
)
{
public
void
openOwnerLoanAccount
(
Long
ownerUserNo
,
String
ownerUserName
,
String
mobile
)
{
...
@@ -63,12 +90,40 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
...
@@ -63,12 +90,40 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
Optional
<
OwnerLoanAccount
>
optional
=
ownerLoanAccountDao
.
getOneByField
(
OwnerLoanAccount:
:
getOwnerUserNo
,
Optional
<
OwnerLoanAccount
>
optional
=
ownerLoanAccountDao
.
getOneByField
(
OwnerLoanAccount:
:
getOwnerUserNo
,
loginUserInfo
.
getUserNo
());
loginUserInfo
.
getUserNo
());
if
(!
optional
.
isPresent
())
{
if
(!
optional
.
isPresent
())
{
return
OwnerAccountVO
.
builder
().
openAccount
(
0
).
build
();
return
OwnerAccountVO
.
builder
().
openAccount
(
0
).
build
();
}
}
OwnerLoanAccount
ownerLoanAccount
=
optional
.
get
();
OwnerLoanAccount
ownerLoanAccount
=
optional
.
get
();
OwnerAccountVO
ownerAccountVO
=
ownerLoanAccountStruct
.
convertVO
(
ownerLoanAccount
);
OwnerAccountVO
ownerAccountVO
=
ownerLoanAccountStruct
.
convertVO
(
ownerLoanAccount
);
ownerAccountVO
.
setOpenAccount
(
1
);
ownerAccountVO
.
setOpenAccount
(
1
);
return
ownerAccountVO
;
return
ownerAccountVO
;
}
}
/**
* 货主借款后执行阻塞流程的相关运单
*
* @param ownerUserNo
*/
@Override
public
void
orderChildLoanProcess
(
Long
ownerUserNo
)
{
List
<
OrderChildLoanRetryRecord
>
orderChildLoanRetryRecordList
=
orderChildLoanRetryRecordDao
.
selectListByIdAsc
();
for
(
OrderChildLoanRetryRecord
retryRecord
:
orderChildLoanRetryRecordList
)
{
//生成借款标识
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getEntityByKey
(
retryRecord
.
getSettlementDriverId
()).
get
();
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getEntityByKey
(
retryRecord
.
getSettlementOwnerId
()).
get
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
settlementDriverDetail
.
getChildNo
()).
get
();
OwnerLoanMqDTO
dto
=
new
OwnerLoanMqDTO
();
dto
.
setSettlementOwnerDetail
(
settlementOwnerDetail
);
dto
.
setSettlementDriverDetail
(
settlementDriverDetail
);
dto
.
setOrderChild
(
orderChild
);
//货主借款监听器处理
Message
message
=
MessageBuilder
.
withBody
(
JSONUtil
.
parse
(
dto
).
toString
().
getBytes
()).
build
();
rabbitTemplate
.
send
(
RabbitKeyConstants
.
OWNER_LOAN_EXCHANGE
,
RabbitKeyConstants
.
OWNER_LOAN_ROUTE_KEY
,
message
);
orderChildLoanRetryRecordDao
.
deleteByKey
(
retryRecord
.
getId
());
}
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/loan/OwnerLoanRecordServiceImpl.java
浏览文件 @
4c16a48e
...
@@ -180,6 +180,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
...
@@ -180,6 +180,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
// 更新借款支付信息
// 更新借款支付信息
ownerLoanRecordDao
.
updatePay
(
ownerLoanRecord
);
ownerLoanRecordDao
.
updatePay
(
ownerLoanRecord
);
bankTrade
.
setRelationNo
(
ownerLoanRecord
.
getLoanNo
().
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
(
ownerLoanRecord
.
getMerchantRunningWaterNo
());
...
@@ -496,11 +497,12 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
...
@@ -496,11 +497,12 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
payFail
(
String
loanNo
)
{
public
void
payFail
(
String
merSeqNo
)
{
OwnerLoanRecord
ownerLoanRecord
=
ownerLoanRecordDao
.
getOneByField
(
OwnerLoanRecord:
:
getLoanNo
,
loanNo
)
BankTrade
bankTrade
=
bankTradeDao
.
selectByMerchantRunningWaterNo
(
merSeqNo
).
get
();
OwnerLoanRecord
ownerLoanRecord
=
ownerLoanRecordDao
.
getOneByField
(
OwnerLoanRecord:
:
getLoanNo
,
bankTrade
.
getRelationNo
())
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
ownerLoanRecord
.
getStatus
(),
OwnerLoanRecordEnum
.
Status
.
PAYING
.
getCode
()))
{
if
(
Objects
.
equals
(
ownerLoanRecord
.
getStatus
(),
OwnerLoanRecordEnum
.
Status
.
PAYING
.
getCode
()))
{
log
.
info
(
"借款单非支付中状态, loanNo:{}"
,
loanNo
);
log
.
info
(
"借款单非支付中状态, loanNo:{}"
,
bankTrade
.
getRelationNo
()
);
return
;
return
;
}
}
...
@@ -512,12 +514,14 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
...
@@ -512,12 +514,14 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
paySuccess
(
String
loanNo
)
{
public
void
paySuccess
(
String
merSeqNo
)
{
OwnerLoanRecord
ownerLoanRecord
=
ownerLoanRecordDao
.
getOneByField
(
OwnerLoanRecord:
:
getLoanNo
,
loanNo
)
BankTrade
bankTrade
=
bankTradeDao
.
selectByMerchantRunningWaterNo
(
merSeqNo
).
get
();
OwnerLoanRecord
ownerLoanRecord
=
ownerLoanRecordDao
.
getOneByField
(
OwnerLoanRecord:
:
getLoanNo
,
bankTrade
.
getRelationNo
())
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
ownerLoanRecord
.
getStatus
(),
OwnerLoanRecordEnum
.
Status
.
PAYING
.
getCode
()))
{
if
(
Objects
.
equals
(
ownerLoanRecord
.
getStatus
(),
OwnerLoanRecordEnum
.
Status
.
PAYING
.
getCode
()))
{
log
.
info
(
"借款单非支付中状态, loanNo:{}"
,
loanNo
);
log
.
info
(
"借款单非支付中状态, loanNo:{}"
,
bankTrade
.
getRelationNo
()
);
return
;
return
;
}
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementDriverDetailServiceImpl.java
浏览文件 @
4c16a48e
...
@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.settle;
...
@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.settle;
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.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverDetailParam
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverDetailParam
;
...
@@ -58,7 +59,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
...
@@ -58,7 +59,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
// 预付运费
// 预付运费
settlementDriverDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
// 结算金额
// 结算金额
settlementDriverDetail
.
setSettlementFreight
(
settlementFreightCalc
(
settlementDriverDetail
.
getFreight
(),
settlementDriverDetail
.
getLossFreight
()));
settlementDriverDetail
.
setSettlementFreight
(
settlementFreightCalc
(
settlementDriverDetail
.
getFreight
(),
settlementDriverDetail
.
getLossFreight
()));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/thirdparty/nbbank/NbBankServiceImpl.java
浏览文件 @
4c16a48e
...
@@ -2,7 +2,7 @@ package com.clx.performance.service.impl.thirdparty.nbbank;
...
@@ -2,7 +2,7 @@ package com.clx.performance.service.impl.thirdparty.nbbank;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.clx.performance.OwnerLoanPayNotifyMqParam
;
import
com.clx.performance.
param.
OwnerLoanPayNotifyMqParam
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.loan.BankTradeDao
;
import
com.clx.performance.dao.loan.BankTradeDao
;
...
@@ -10,11 +10,9 @@ import com.clx.performance.enums.PerformanceResultEnum;
...
@@ -10,11 +10,9 @@ import com.clx.performance.enums.PerformanceResultEnum;
import
com.clx.performance.enums.loan.BankTradeEnum
;
import
com.clx.performance.enums.loan.BankTradeEnum
;
import
com.clx.performance.enums.nbbank.NbBankStatusEnum
;
import
com.clx.performance.enums.nbbank.NbBankStatusEnum
;
import
com.clx.performance.model.loan.BankTrade
;
import
com.clx.performance.model.loan.BankTrade
;
import
com.clx.performance.service.loan.OwnerLoanRecordService
;
import
com.clx.performance.service.thirdparty.nbbank.NbBankService
;
import
com.clx.performance.service.thirdparty.nbbank.NbBankService
;
import
com.clx.performance.service.thirdparty.nbbank.NbBankThirdpartyService
;
import
com.clx.performance.service.thirdparty.nbbank.NbBankThirdpartyService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.utils.SpringContextUtils
;
import
com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO
;
import
com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO
;
import
com.clx.performance.vo.pc.nbbank.NbBankOrderResultVO
;
import
com.clx.performance.vo.pc.nbbank.NbBankOrderResultVO
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.exception.ServiceSystemException
;
...
@@ -87,7 +85,7 @@ public class NbBankServiceImpl implements NbBankService {
...
@@ -87,7 +85,7 @@ public class NbBankServiceImpl implements NbBankService {
@Override
@Override
public
NbBankOrderPayResultVO
orderDirectPay
(
Long
loanNo
,
Integer
amount
,
public
NbBankOrderPayResultVO
orderDirectPay
(
Long
loanNo
,
Integer
amount
,
String
payAcctOpenBankId
,
String
payAcctNo
,
String
payAcctNm
)
{
String
payAcctOpenBankId
,
String
payAcctNo
,
String
payAcctNm
)
{
String
merSeqNo
=
String
.
valueOf
(
loanNo
);
String
merSeqNo
=
idGenerateSnowFlake
.
nextIdToString
(
1L
);
String
merDtTm
=
LocalDateTimeUtils
.
formatTime
();
String
merDtTm
=
LocalDateTimeUtils
.
formatTime
();
String
closeDtTm
=
LocalDateTimeUtils
.
formatTime
(
LocalDateTimeUtils
.
parseTime
(
merDtTm
).
plusDays
(
30
));
String
closeDtTm
=
LocalDateTimeUtils
.
formatTime
(
LocalDateTimeUtils
.
parseTime
(
merDtTm
).
plusDays
(
30
));
...
@@ -240,7 +238,7 @@ public class NbBankServiceImpl implements NbBankService {
...
@@ -240,7 +238,7 @@ public class NbBankServiceImpl implements NbBankService {
// 货主借款支付回调
// 货主借款支付回调
if
(
Objects
.
equals
(
bankTrade
.
getOrderType
(),
BankTradeEnum
.
OrderType
.
OWNER_LOAN_RECORD
.
getCode
())){
if
(
Objects
.
equals
(
bankTrade
.
getOrderType
(),
BankTradeEnum
.
OrderType
.
OWNER_LOAN_RECORD
.
getCode
())){
OwnerLoanPayNotifyMqParam
param
=
new
OwnerLoanPayNotifyMqParam
();
OwnerLoanPayNotifyMqParam
param
=
new
OwnerLoanPayNotifyMqParam
();
param
.
set
Loan
No
(
merSeqNo
);
param
.
set
MerSeq
No
(
merSeqNo
);
param
.
setPayStatus
(
transStatus
);
param
.
setPayStatus
(
transStatus
);
Message
message
=
MessageBuilder
.
withBody
(
JSONUtil
.
parse
(
param
).
toString
().
getBytes
()).
build
();
Message
message
=
MessageBuilder
.
withBody
(
JSONUtil
.
parse
(
param
).
toString
().
getBytes
()).
build
();
...
...
performance-web/src/main/java/com/clx/performance/service/loan/OwnerLoanAccountService.java
浏览文件 @
4c16a48e
...
@@ -17,4 +17,6 @@ public interface OwnerLoanAccountService {
...
@@ -17,4 +17,6 @@ public interface OwnerLoanAccountService {
IPage
<
CarrierOwnerLoanAccountVO
>
pageOwnerLoanAccount
(
PageOwnerLoanAccountParam
param
);
IPage
<
CarrierOwnerLoanAccountVO
>
pageOwnerLoanAccount
(
PageOwnerLoanAccountParam
param
);
OwnerAccountVO
getOwnerLoanAccount
();
OwnerAccountVO
getOwnerLoanAccount
();
void
orderChildLoanProcess
(
Long
ownerUserNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/loan/OwnerLoanRecordService.java
浏览文件 @
4c16a48e
...
@@ -42,9 +42,9 @@ public interface OwnerLoanRecordService {
...
@@ -42,9 +42,9 @@ public interface OwnerLoanRecordService {
void
updateOwnerLoanRecordRepay
(
CarrierOwnerLoanRecordRepayParam
param
);
void
updateOwnerLoanRecordRepay
(
CarrierOwnerLoanRecordRepayParam
param
);
void
updateOwnerLoanRecordPayCancel
(
CarrierOwnerLoanRecordPayCancelParam
param
);
void
updateOwnerLoanRecordPayCancel
(
CarrierOwnerLoanRecordPayCancelParam
param
);
void
payFail
(
String
loan
No
);
void
payFail
(
String
merSeq
No
);
void
paySuccess
(
String
loan
No
);
void
paySuccess
(
String
merSeq
No
);
void
ownerLoanRecordRetryPay
(
String
loanNo
);
void
ownerLoanRecordRetryPay
(
String
loanNo
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论