Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
d7d12576
提交
d7d12576
authored
9月 26, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
租赁订单
上级
9f520a47
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
96 行增加
和
62 行删除
+96
-62
LeaseOrderServiceImpl.java
...com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
+63
-29
UavOrderServiceImpl.java
...ava/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
+33
-33
没有找到文件。
src/main/java/com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
浏览文件 @
d7d12576
...
...
@@ -151,41 +151,73 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
Integer
statusCode
=
null
;
// 获取用户钱包信息
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
)
{
return
payResInfo
;
}
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
if
(
param
.
getDeductShareAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getCashAmt
())
>=
0
)
{
// 抵扣云享金小于等于订单总额时,直接使用云享金
shareAmount
=
payWalletDTO
.
getCashAmt
();
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
shareAmount
=
otherAmount
;
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
)
||
param
.
getDeductShareAmount
().
equals
(
1
))
{
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
)
{
return
payResInfo
;
}
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
// 支付完成
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
LeaseOrderStatus
.
PAID
.
getCode
();
}
else
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>=
0
)
{
// 抵扣余额小于等于订单总额时,直接使用余额
salaryAmount
=
payWalletDTO
.
getSalaryAmt
();
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
// 先使用云享金来扣减押金
if
(
param
.
getDeductShareAmount
().
equals
(
1
))
{
if
(
otherCashPledge
.
compareTo
(
payWalletDTO
.
getCashAmt
())
>=
0
)
{
// 不够抵扣押金
shareCashPledge
=
payWalletDTO
.
getCashAmt
();
}
else
{
//
余额超过订单金额时,订单总额使用余额支付
s
alaryAmount
=
otherAmount
;
//
够抵扣押金
s
hareCashPledge
=
otherCashPledge
;
}
otherCashPledge
=
otherCashPledge
.
subtract
(
shareCashPledge
);
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
otherAmount
=
otherAmount
.
subtract
(
shareCashPledge
);
}
else
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
))
{
if
(
otherCashPledge
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>=
0
)
{
salaryCashPledge
=
payWalletDTO
.
getSalaryAmt
();
}
else
{
salaryCashPledge
=
otherCashPledge
;
}
otherCashPledge
=
otherCashPledge
.
subtract
(
salaryCashPledge
);
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
otherAmount
=
otherAmount
.
subtract
(
salaryCashPledge
.
add
(
shareCashPledge
));
}
}
}
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
LeaseOrderStatus
.
PAID
.
getCode
();
// 抵扣完后当押金为0的时候 继续抵扣其余金额
if
(
otherCashPledge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
param
.
getDeductShareAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getCashAmt
().
subtract
(
shareCashPledge
))
>=
0
)
{
// 抵扣云享金小于等于订单总额时,直接使用云享金
shareAmount
=
payWalletDTO
.
getCashAmt
().
subtract
(
shareCashPledge
);
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
shareAmount
=
otherAmount
;
}
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
// 支付完成
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
LeaseOrderStatus
.
PAID
.
getCode
();
}
else
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
().
subtract
(
salaryCashPledge
))
>=
0
)
{
// 抵扣余额小于等于订单总额时,直接使用余额
salaryAmount
=
payWalletDTO
.
getSalaryAmt
().
subtract
(
salaryCashPledge
);
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
salaryAmount
=
otherAmount
;
}
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
LeaseOrderStatus
.
PAID
.
getCode
();
}
}
}
// 抵扣余额
uavOrderService
.
deductWallet
(
shareAmount
.
add
(
shareCashPledge
),
salaryAmount
.
add
(
salaryCashPledge
),
currentAccount
);
}
// 抵扣余额
uavOrderService
.
deductWallet
(
shareAmount
,
salaryAmount
,
currentAccount
);
// 获取商品主图
String
url
=
null
;
for
(
GoodsResourcesVO
goodsResourcesVO
:
leaseGoodsVO
.
getResourcesList
())
{
...
...
@@ -212,6 +244,8 @@ public class LeaseOrderServiceImpl implements LeaseOrderService {
}
leaseOrderDO
.
setSalaryAmount
(
salaryAmount
);
leaseOrderDO
.
setSku
(
param
.
getSku
());
leaseOrderDO
.
setSalaryCashPledge
(
salaryCashPledge
);
leaseOrderDO
.
setShareCashPledge
(
shareCashPledge
);
leaseOrderDO
.
setShareAmount
(
shareAmount
);
leaseOrderDO
.
setOtherAmount
(
otherAmount
);
leaseOrderDO
.
setUserAddressId
(
param
.
getUserAddressId
());
...
...
src/main/java/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
浏览文件 @
d7d12576
...
...
@@ -90,14 +90,14 @@ public class UavOrderServiceImpl implements UavOrderService {
@Transactional
public
ResultBody
addOrder
(
AddUavOrderVO
param
,
BaseAccountDTO
currentAccount
)
{
log
.
info
(
"user:{},addOrder param:{}"
,
currentAccount
.
getUserAccountId
(),
param
);
if
(
CollectionUtils
.
isEmpty
(
param
.
getSkuVOS
())){
if
(
CollectionUtils
.
isEmpty
(
param
.
getSkuVOS
()))
{
return
ResultBody
.
error
(
"至少选择一个规格!"
);
}
MallGoodsVO
mallGoodsVO
=
null
;
try
{
mallGoodsVO
=
pmsClient
.
mallGoodsDetails
(
param
.
getMallGoodsId
());
// 检验商品是否在卖
if
(
mallGoodsVO
==
null
||
!
mallGoodsVO
.
getShelfStatus
().
equals
(
1
)){
if
(
mallGoodsVO
==
null
||
!
mallGoodsVO
.
getShelfStatus
().
equals
(
1
))
{
return
ResultBody
.
error
(
"商品已下架"
);
}
// 找到对应的规格
...
...
@@ -111,11 +111,11 @@ public class UavOrderServiceImpl implements UavOrderService {
break
;
}
}
if
(!
flag
){
if
(!
flag
)
{
return
ResultBody
.
error
(
"选择规格不存在"
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
e
.
printStackTrace
();
}
...
...
@@ -133,31 +133,31 @@ public class UavOrderServiceImpl implements UavOrderService {
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
Integer
statusCode
=
null
;
// 正常订单可以抵扣云享金和余额、意向订单不能扣
if
(
param
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
())){
if
(
param
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
()))
{
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
){
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
)
{
return
payResInfo
;
}
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
if
(
param
.
getDeductShareAmount
().
equals
(
1
)){
if
(
param
.
getDeductShareAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getCashAmt
())
>=
0
)
{
// 抵扣云享金小于等于订单总额时,直接使用云享金
shareAmount
=
payWalletDTO
.
getCashAmt
();
}
else
{
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
shareAmount
=
otherAmount
;
}
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
// 支付完成
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
else
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
)){
}
else
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>=
0
)
{
// 抵扣余额小于等于订单总额时,直接使用余额
salaryAmount
=
payWalletDTO
.
getSalaryAmt
();
}
else
{
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
salaryAmount
=
otherAmount
;
}
...
...
@@ -175,9 +175,9 @@ public class UavOrderServiceImpl implements UavOrderService {
uavOrderDO
.
setOrderNo
(
orderNo
);
uavOrderDO
.
setOrderTotalAmount
(
orderTotalAmount
);
uavOrderDO
.
setOrderType
(
param
.
getOrderType
());
if
(
param
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
())){
if
(
param
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
()))
{
uavOrderDO
.
setStatusCode
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
?
UavOrderStatus
.
PAYING
.
getCode
()
:
statusCode
);
}
else
{
}
else
{
uavOrderDO
.
setStatusCode
(
UavOrderStatus
.
CONFIRM
.
getCode
());
}
uavOrderDO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
...
...
@@ -228,7 +228,7 @@ public class UavOrderServiceImpl implements UavOrderService {
List
<
UavOrderPayDTO
>
collect
=
payDOS
.
stream
().
map
(
UavOrderPayDO:
:
buildUavOrderPayDTO
).
collect
(
Collectors
.
toList
());
uavOrderDTO
.
setPayDTOList
(
collect
);
}
List
<
UavOrderSkuDO
>
skuDOS
=
uavOrderDao
.
listUavOrderSkuDO
(
id
);
List
<
UavOrderSkuDO
>
skuDOS
=
uavOrderDao
.
listUavOrderSkuDO
(
id
);
if
(
CollectionUtils
.
isNotEmpty
(
skuDOS
))
{
List
<
UavOrderSkuDTO
>
uavOrderSkuDTOS
=
skuDOS
.
stream
().
map
(
UavOrderSkuDO:
:
buildUavOrderSkuDTO
).
collect
(
Collectors
.
toList
());
uavOrderDTO
.
setSkuDTOList
(
uavOrderSkuDTOS
);
...
...
@@ -286,7 +286,7 @@ public class UavOrderServiceImpl implements UavOrderService {
payUavWalletVO
.
setOrderStatus
(
1400
);
payUavWalletVO
.
setUserAccountId
(
uavOrderDO
.
getUserAccountId
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
token
);
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())){
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultBody
;
}
}
...
...
@@ -310,7 +310,7 @@ public class UavOrderServiceImpl implements UavOrderService {
@Override
public
ResultBody
list
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
)
{
if
(!
currentAccount
.
getRoleInfo
().
getSuperAdmin
().
equals
(
1
)){
if
(!
currentAccount
.
getRoleInfo
().
getSuperAdmin
().
equals
(
1
))
{
uavOrderQO
.
setThirdBackUserAccountId
(
currentAccount
.
getUserAccountId
());
uavOrderQO
.
setOrderType
(
UavOrderType
.
PAY
.
getCode
());
}
...
...
@@ -474,7 +474,7 @@ public class UavOrderServiceImpl implements UavOrderService {
}
@Transactional
public
void
updateUavOrderStatus
(
Integer
id
,
UavOrderStatus
uavOrderStatus
){
public
void
updateUavOrderStatus
(
Integer
id
,
UavOrderStatus
uavOrderStatus
)
{
uavOrderDao
.
updateUavOrderStatus
(
id
,
uavOrderStatus
.
getNextCode
());
}
...
...
@@ -515,7 +515,7 @@ public class UavOrderServiceImpl implements UavOrderService {
UavOrderPayDO
beforeUavOrderPayDO
=
uavOrderDao
.
getUavOrderPayById
(
uavOrderPayVO
.
getId
());
// 一个订单可能会多次上传付款凭证,因此单独审核
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detail
(
beforeUavOrderPayDO
.
getUavOrderId
());
if
(
uavOrderPayVO
.
getCheckStatus
().
equals
(
1
)){
if
(
uavOrderPayVO
.
getCheckStatus
().
equals
(
1
))
{
// 第一次审核通过,则要把订单状态改为待发货;意向订单还要生成采购订单
if
(
uavOrderDO
.
getStatusCode
().
equals
(
UavOrderStatus
.
FINISH_PAYING
.
getCode
()))
{
this
.
updateUavOrderStatus
(
beforeUavOrderPayDO
.
getUavOrderId
(),
UavOrderStatus
.
FINISH_PAYING
);
...
...
@@ -529,7 +529,7 @@ public class UavOrderServiceImpl implements UavOrderService {
uavPurchaseOrderDO
.
setStatusCode
(
UavOrderStatus
.
CONFIRM
.
getCode
());
uavPODao
.
addPurchaseOrder
(
uavPurchaseOrderDO
);
}
}
else
{
}
else
{
if
(
uavOrderDO
.
getStatusCode
().
equals
(
UavOrderStatus
.
FINISH_PAYING
.
getCode
()))
{
// 第一次未通过,需要走回上一步
this
.
updateUavOrderStatus
(
beforeUavOrderPayDO
.
getUavOrderId
(),
UavOrderStatus
.
SIGN
);
...
...
@@ -543,9 +543,9 @@ public class UavOrderServiceImpl implements UavOrderService {
@Transactional
@Override
public
void
payUavOrder
(
TopUpOrderVO
topUpOrderVO
)
{
if
(
topUpOrderVO
.
getOrderNo
().
startsWith
(
"m"
)){
if
(
topUpOrderVO
.
getOrderNo
().
startsWith
(
"m"
))
{
payMultiUavOrder
(
topUpOrderVO
);
}
else
{
}
else
{
paySingleUavOrder
(
topUpOrderVO
);
}
}
...
...
@@ -609,7 +609,7 @@ public class UavOrderServiceImpl implements UavOrderService {
if
(
uavOrderDO
.
getOrderType
().
equals
(
UavOrderType
.
SIGN
.
getCode
()))
{
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getPayWalletInfo
(
uavOrderDO
.
getUserAccountId
(),
currentAccount
.
getToken
());
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payWalletDTO
==
null
){
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payWalletDTO
==
null
)
{
return
payResInfo
;
}
// 要扣除的云享金
...
...
@@ -621,11 +621,11 @@ public class UavOrderServiceImpl implements UavOrderService {
// 根据订单总额确认扣除多少云享金
if
(
uavOrderVO
.
getOrderTotalAmount
().
compareTo
(
payWalletDTO
.
getCashAmt
())
>=
0
)
{
shareAmount
=
payWalletDTO
.
getCashAmt
();
}
else
{
}
else
{
shareAmount
=
uavOrderVO
.
getOrderTotalAmount
();
}
// 抵扣
if
(
shareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
shareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setUserAccountId
(
uavOrderDO
.
getUserAccountId
());
payUavWalletVO
.
setCashAmount
(
shareAmount
);
...
...
@@ -634,7 +634,7 @@ public class UavOrderServiceImpl implements UavOrderService {
payUavWalletVO
.
setOrderStatus
(
100
);
payUavWalletVO
.
setRemark
(
"商城确认订单抵扣"
);
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())){
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultBody
;
}
}
...
...
@@ -736,17 +736,17 @@ public class UavOrderServiceImpl implements UavOrderService {
return
ResultBody
.
error
(
uavCartDTO
.
getTradeName
()
+
" 已下架,请重新选择"
);
}
}
}
else
{
}
else
{
return
ResultBody
.
error
(
"所选规格无效"
);
}
otherAmount
=
otherAmount
.
add
(
orderAmount
);
// 正常订单可以抵扣云享金和余额、意向订单不能扣
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
())){
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
()))
{
// 抵扣云享金
if
(
companyDTO
.
getDeductShareAmount
().
equals
(
1
)
&&
payWalletDTO
.
getCashAmt
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
payWalletDTO
.
getCashAmt
().
compareTo
(
otherAmount
)
>
0
)
{
shareAmount
=
shareAmount
.
add
(
otherAmount
);
}
else
{
}
else
{
shareAmount
=
shareAmount
.
add
(
payWalletDTO
.
getCashAmt
());
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
...
...
@@ -758,7 +758,7 @@ public class UavOrderServiceImpl implements UavOrderService {
&&
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>
0
)
{
salaryAmount
=
salaryAmount
.
add
(
payWalletDTO
.
getSalaryAmt
());
}
else
{
}
else
{
salaryAmount
=
salaryAmount
.
add
(
otherAmount
);
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
...
...
@@ -767,10 +767,10 @@ public class UavOrderServiceImpl implements UavOrderService {
}
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
else
{
}
else
{
statusCode
=
UavOrderStatus
.
PAYING
.
getCode
();
}
}
else
{
}
else
{
statusCode
=
UavOrderStatus
.
CONFIRM
.
getCode
();
}
// 设置订单状态
...
...
@@ -859,7 +859,7 @@ public class UavOrderServiceImpl implements UavOrderService {
if
(
allShareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
allSalaryAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
ResultBody
.
error
(
"余额抵扣失败!"
);
return
ResultBody
.
error
(
"余额抵扣失败!"
);
}
}
return
ResultBody
.
success
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论