Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
cccd6ef6
提交
cccd6ef6
authored
10月 11, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
平台确认
上级
02f02f08
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
62 行增加
和
33 行删除
+62
-33
LeaseOrderServiceImpl.java
...com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
+62
-33
没有找到文件。
src/main/java/com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
浏览文件 @
cccd6ef6
...
...
@@ -656,53 +656,82 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
public
ResultBody
pfConfirmOrderWare
(
BaseAccountDTO
currentAccount
,
LeaseOrderRefundVO
param
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
param
.
getOrderId
());
log
.
info
(
"leaseOrderDO:{}"
,
JSONObject
.
toJSONString
(
leaseOrderDO
));
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
())
||
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
()))
{
boolean
isWaitingMerchantConfirm
=
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
());
boolean
isApplyRefund
=
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
());
if
(
isWaitingMerchantConfirm
||
isApplyRefund
)
{
if
(
param
.
getDamage
().
equals
(
0
))
{
// 解冻用户钱包金额
if
(
leaseOrderDO
.
getShareAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getShareCashPledge
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryCashPledge
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
BigDecimal
shareAmount
=
leaseOrderDO
.
getShareAmount
();
BigDecimal
salaryAmount
=
leaseOrderDO
.
getSalaryAmount
();
if
(
shareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
salaryAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
PayUavWalletVO
userPayUavWalletVO
=
new
PayUavWalletVO
();
userPayUavWalletVO
.
setRemark
(
"租赁订单金额解冻"
);
userPayUavWalletVO
.
setCashAmount
(
leaseOrderDO
.
getShareAmount
(
));
userPayUavWalletVO
.
setSalaryAmount
(
leaseOrderDO
.
getSalaryAmount
(
));
userPayUavWalletVO
.
setCashAmount
(
shareAmount
.
add
(
leaseOrderDO
.
getShareCashPledge
()
));
userPayUavWalletVO
.
setSalaryAmount
(
salaryAmount
.
add
(
leaseOrderDO
.
getSalaryCashPledge
()
));
userPayUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
userPayUavWalletVO
.
setOrderStatus
(
999
);
userPayUavWalletVO
.
setOrderStatus
(
isWaitingMerchantConfirm
?
999
:
1400
);
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
resultBody
;
}
// 退回微信支付的押金部分
if
(
leaseOrderDO
.
getOtherPledge
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
applyRefundVO
.
setOutTradeNo
(
leaseOrderDO
.
getOrderNo
());
applyRefundVO
.
setReason
(
"租赁押金退款"
);
applyRefundVO
.
setRefund
(
leaseOrderDO
.
getOtherPledge
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
longValue
());
ResultBody
refundOtherPledge
=
paymentAppApi
.
applyRefund
(
applyRefundVO
,
currentAccount
.
getToken
());
if
(!
refundOtherPledge
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
refundOtherPledge
;
}
}
// 修改退款操作
if
(
isApplyRefund
)
{
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
CLOSE
);
}
// 如果是交易完成则退回押金
if
(
isWaitingMerchantConfirm
)
{
BigDecimal
shareCashPledge
=
leaseOrderDO
.
getShareCashPledge
();
BigDecimal
salaryCashPledge
=
leaseOrderDO
.
getSalaryCashPledge
();
if
((
shareCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
salaryCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
))
{
userPayUavWalletVO
.
setRemark
(
"租赁押金退回"
);
userPayUavWalletVO
.
setCashAmount
(
shareCashPledge
);
userPayUavWalletVO
.
setSalaryAmount
(
salaryCashPledge
);
userPayUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
userPayUavWalletVO
.
setOrderStatus
(
1600
);
ResultBody
giveBackPledge
=
userAppApi
.
feignPayUavWallet
(
userPayUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
giveBackPledge
;
}
}
}
}
BigDecimal
thirdAmount
=
leaseOrderDO
.
getOrderTotalAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
).
subtract
(
UavOrderProportion
.
PROPORTION
).
divide
(
BigDecimal
.
valueOf
(
100
)));
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setSalaryAmount
(
thirdAmount
);
payUavWalletVO
.
setCashAmount
(
BigDecimal
.
ZERO
);
payUavWalletVO
.
setRemark
(
"租赁订单收入,订单编号"
+
leaseOrderDO
.
getOrderNo
());
payUavWalletVO
.
setOrderStatus
(
1500
);
// 拿到商家管理员的用户id
ResultBody
managerRes
=
userAppApi
.
getManagerIdByBackUserId
(
leaseOrderDO
.
getThirdBackUserAccountId
(),
null
);
if
(!
managerRes
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
managerRes
;
}
payUavWalletVO
.
setUserAccountId
((
Integer
)
managerRes
.
getResult
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
resultBody
;
}
leaseOrderDao
.
updateLeaseOrderProportion
(
leaseOrderDO
.
getId
(),
UavOrderProportion
.
PROPORTION
.
intValue
());
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
WAITING_MERCHANT_CONFIRM
.
getCode
()))
{
if
(
isWaitingMerchantConfirm
)
{
BigDecimal
thirdAmount
=
leaseOrderDO
.
getOrderTotalAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
).
subtract
(
UavOrderProportion
.
PROPORTION
).
divide
(
BigDecimal
.
valueOf
(
100
)));
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setSalaryAmount
(
thirdAmount
);
payUavWalletVO
.
setCashAmount
(
BigDecimal
.
ZERO
);
payUavWalletVO
.
setRemark
(
"租赁订单收入,订单编号"
+
leaseOrderDO
.
getOrderNo
());
payUavWalletVO
.
setOrderStatus
(
1500
);
// 拿到商家管理员的用户id
ResultBody
managerRes
=
userAppApi
.
getManagerIdByBackUserId
(
leaseOrderDO
.
getThirdBackUserAccountId
(),
null
);
if
(!
managerRes
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
managerRes
;
}
payUavWalletVO
.
setUserAccountId
((
Integer
)
managerRes
.
getResult
());
ResultBody
resultIncomeBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultIncomeBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultIncomeBody
;
}
leaseOrderDao
.
updateLeaseOrderProportion
(
leaseOrderDO
.
getId
(),
UavOrderProportion
.
PROPORTION
.
intValue
());
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
REMAIN_TO_BE_EVALUATED
);
}
else
{
this
.
updateLeaseOrderStatus
(
param
.
getOrderId
(),
LeaseOrderStatus
.
CLOSE
);
}
}
else
{
// todo 进行相应赔偿
}
}
else
{
return
ResultBody
.
error
(
"状态流程有误,请重试!"
);
// todo 进行相应赔偿
}
return
ResultBody
.
success
();
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论