Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
bf215b06
提交
bf215b06
authored
10月 30, 2024
作者:
姜武杰
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(测试反馈): 修复问题 29986 【回归】车主结算,有的数据需要手动点结算,偶现
上级
dc853af9
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
23 行增加
和
2 行删除
+23
-2
SettlementOrderChildRiskServiceImpl.java
...vice/impl/settle/SettlementOrderChildRiskServiceImpl.java
+22
-1
SettlementDriverDetailSqlProvider.java
...sqlProvider/settle/SettlementDriverDetailSqlProvider.java
+1
-1
没有找到文件。
clx-performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOrderChildRiskServiceImpl.java
浏览文件 @
bf215b06
...
@@ -55,23 +55,35 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
...
@@ -55,23 +55,35 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
@Autowired
@Autowired
private
SettlementMqService
settlementMqService
;
private
SettlementMqService
settlementMqService
;
/**
* 更新子订单风险处理信息
* 此方法用于处理子订单的风险流程更新,根据不同的处理方式更新相关细节,并发送消息到消息队列
*
* @param param 包含子订单风险处理更新参数的对象
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
void
updateRiskProcess
(
OwnerSettlementOrderChildRiskProcessUpdateParam
param
)
{
public
void
updateRiskProcess
(
OwnerSettlementOrderChildRiskProcessUpdateParam
param
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
// 获取子订单风险信息,如果不存在则抛出异常
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
getById
(
param
.
getId
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
getById
(
param
.
getId
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
// 检查子订单风险状态,如果已处理则抛出异常
if
(
Objects
.
equals
(
settlementOrderChildRisk
.
getStatus
(),
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
()))
{
if
(
Objects
.
equals
(
settlementOrderChildRisk
.
getStatus
(),
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
()))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_RISK_PROCESS_ERROR
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_RISK_PROCESS_ERROR
);
}
}
// 获取子订单详细信息,如果不存在则抛出异常
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
// 获取司机详细信息,如果不存在则抛出异常
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 获取司机信息,可能为null
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orNull
();
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orNull
();
// 更新子订单风险状态和处理信息
settlementOrderChildRisk
.
setStatus
(
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
());
settlementOrderChildRisk
.
setStatus
(
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
());
settlementOrderChildRisk
.
setProcessMethod
(
param
.
getProcessMethod
());
settlementOrderChildRisk
.
setProcessMethod
(
param
.
getProcessMethod
());
settlementOrderChildRisk
.
setProcessBy
(
loginUserInfo
.
getUserName
());
settlementOrderChildRisk
.
setProcessBy
(
loginUserInfo
.
getUserName
());
...
@@ -79,6 +91,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
...
@@ -79,6 +91,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
// 转普通单
// 转普通单
if
(
Objects
.
equals
(
param
.
getProcessMethod
(),
SettlementOrderChildRiskEnum
.
ProcessMethod
.
CONVERT_ORDINARY
.
getCode
()))
{
if
(
Objects
.
equals
(
param
.
getProcessMethod
(),
SettlementOrderChildRiskEnum
.
ProcessMethod
.
CONVERT_ORDINARY
.
getCode
()))
{
// 更新子订单详细信息为普通发票类型
settlementOwnerDetail
.
setInvoiceType
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
());
settlementOwnerDetail
.
setInvoiceType
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
());
settlementOwnerDetail
.
setInvoicingCompanyId
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyId
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
null
);
...
@@ -87,14 +100,17 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
...
@@ -87,14 +100,17 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementOwnerDetail
.
setInvoiceTypeModifiedTime
(
LocalDateTime
.
now
());
settlementOwnerDetail
.
setInvoiceTypeModifiedTime
(
LocalDateTime
.
now
());
settlementOwnerDetailDao
.
updateConvertOrdinary
(
settlementOwnerDetail
);
settlementOwnerDetailDao
.
updateConvertOrdinary
(
settlementOwnerDetail
);
// 同步更新司机详细信息
settlementDriverDetail
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementDriverDetail
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementDriverDetail
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriverDetail
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
settlementDriverDetailDao
.
updateConvertOrdinary
(
settlementDriverDetail
);
settlementDriverDetailDao
.
updateConvertOrdinary
(
settlementDriverDetail
);
// 更新子订单风险的发票类型
settlementOrderChildRisk
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementOrderChildRisk
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
// 如果司机信息存在,则同步更新司机信息
if
(
settlementDriver
!=
null
)
{
if
(
settlementDriver
!=
null
)
{
settlementDriver
.
setInvoiceType
(
settlementDriverDetail
.
getInvoiceType
());
settlementDriver
.
setInvoiceType
(
settlementDriverDetail
.
getInvoiceType
());
settlementDriver
.
setInvoicingCompanyId
(
settlementDriverDetail
.
getInvoicingCompanyId
());
settlementDriver
.
setInvoicingCompanyId
(
settlementDriverDetail
.
getInvoicingCompanyId
());
...
@@ -106,17 +122,22 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
...
@@ -106,17 +122,22 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
}
}
else
{
else
{
// 状态回滚
// 状态回滚
// 如果司机信息存在,则回滚司机状态
if
(
settlementDriver
!=
null
){
if
(
settlementDriver
!=
null
){
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
DRIVER_UNCONFIRMED
.
getCode
());
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
DRIVER_UNCONFIRMED
.
getCode
());
settlementDriverDao
.
updatePayStatus
(
settlementDriver
);
settlementDriverDao
.
updatePayStatus
(
settlementDriver
);
}
}
// 回滚司机详细信息的支付接受状态
settlementDriverDetail
.
setPayAcceptStatus
(
SettlementDriverDetailEnum
.
PayAcceptStatus
.
INIT
.
getCode
());
settlementDriverDetail
.
setPayAcceptStatus
(
SettlementDriverDetailEnum
.
PayAcceptStatus
.
INIT
.
getCode
());
settlementDriverDetailDao
.
updatePayAcceptStatus
(
settlementDriverDetail
);
settlementDriverDetailDao
.
updatePayAcceptStatus
(
settlementDriverDetail
);
}
}
// 更新子订单风险处理信息
settlementOrderChildRiskDao
.
updateProcess
(
settlementOrderChildRisk
);
settlementOrderChildRiskDao
.
updateProcess
(
settlementOrderChildRisk
);
// 发送mq (风控处理)
// 发送mq (风控处理)
// 通知风险处理完成,触发后续流程
settlementMqService
.
riskProcess
(
settlementOrderChildRisk
.
getId
());
settlementMqService
.
riskProcess
(
settlementOrderChildRisk
.
getId
());
}
}
...
...
clx-performance-web/src/main/java/com/clx/performance/sqlProvider/settle/SettlementDriverDetailSqlProvider.java
浏览文件 @
bf215b06
...
@@ -12,7 +12,7 @@ public class SettlementDriverDetailSqlProvider {
...
@@ -12,7 +12,7 @@ public class SettlementDriverDetailSqlProvider {
public
String
listUnPay
()
{
public
String
listUnPay
()
{
return
new
SQL
(){{
return
new
SQL
(){{
SELECT
(
"a.* "
);
SELECT
(
"a.* "
);
FROM
(
"settlement_
own
er_detail a "
);
FROM
(
"settlement_
driv
er_detail a "
);
LEFT_OUTER_JOIN
(
"settlement_driver b on a.settlement_no = b.settlement_no "
);
LEFT_OUTER_JOIN
(
"settlement_driver b on a.settlement_no = b.settlement_no "
);
WHERE
(
"b.create_time >= #{beginTime}"
);
WHERE
(
"b.create_time >= #{beginTime}"
);
WHERE
(
"b.status = "
+
SettlementDriverEnum
.
Status
.
WAIT_SETTLEMENT
.
getCode
());
WHERE
(
"b.status = "
+
SettlementDriverEnum
.
Status
.
WAIT_SETTLEMENT
.
getCode
());
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论