Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xm-sportstest
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiamai-test
xm-sportstest
Commits
6e222d44
Commit
6e222d44
authored
Apr 03, 2025
by
yangfangfang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决物品报错
parent
153dd31a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
70 additions
and
65 deletions
+70
-65
src/main/java/com/xiaomai/cases/polar/goods/TestRefundGoods.java
+70
-65
No files found.
src/main/java/com/xiaomai/cases/polar/goods/TestRefundGoods.java
View file @
6e222d44
...
...
@@ -155,10 +155,15 @@ public class TestRefundGoods extends XMBaseTest {
String
voucherItemId
=
getLeftGoodsItem
.
getJSONObject
(
"result"
).
getString
(
"id"
);
BigDecimal
receivableAmount
=
new
BigDecimal
(
getLeftGoodsItem
.
getJSONObject
(
"result"
).
getString
(
"leftConsumeAmount"
));
BigDecimal
amount
=
new
BigDecimal
(
getLeftGoodsItem
.
getJSONObject
(
"result"
).
getString
(
"leftConsumeAmount"
));
String
voucherId
=
getLeftGoodsItem
.
getJSONObject
(
"result"
).
getString
(
"voucherId"
);
String
ownerName
=
adminTools
.
getStudioAdmin
(
xmAppApi
.
getLoginInfo
().
getAdminId
()).
getJSONObject
(
"result"
).
getString
(
"nickName"
);
Boolean
success
=
Boolean
.
parseBoolean
(
orderTools
.
checkRefundableAmount
(
voucherId
,
amount
.
floatValue
()).
getString
(
"success"
));
if
(
success
==
true
){
//退货退款物品
JSONObject
refundGoods
=
goodTools
.
refundGoods
(
xmAppApi
.
getLoginInfo
().
getAdminId
(),
ownerName
,
quantity
,
refundAmount
,
true
,
voucherItemId
,
memberId
,
receivableAmount
,
amount
,
"1"
,
new
BigDecimal
(
"0.00"
),
new
BigDecimal
(
"0.00"
),
""
,
0
,
amount
,
amount
);
String
refundOrderId1
=
refundGoods
.
getString
(
"result"
);
...
...
@@ -233,98 +238,98 @@ public class TestRefundGoods extends XMBaseTest {
String
voucherItemId_onlyAmount
=
getLeftGoodsItem_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"id"
);
BigDecimal
receivableAmount_onlyAmount
=
new
BigDecimal
(
getLeftGoodsItem_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"leftConsumeAmount"
));
BigDecimal
amount_onlyAmount
=
new
BigDecimal
(
getLeftGoodsItem_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"leftConsumeAmount"
));
String
voucherId1
=
getLeftGoodsItem
.
getJSONObject
(
"result"
).
getString
(
"voucherId"
);
Boolean
success1
=
Boolean
.
parseBoolean
(
orderTools
.
checkRefundableAmount
(
voucherId1
,
amount_onlyAmount
.
floatValue
()).
getString
(
"success"
));
//仅退款物品
JSONObject
refundGoods_onlyAmount
=
goodTools
.
refundGoods
(
xmAppApi
.
getLoginInfo
().
getAdminId
(),
ownerName
,
quantity_onlyAmount
,
refundAmount_onlyAmount
,
false
,
voucherItemId_onlyAmount
,
memberId
,
receivableAmount_onlyAmount
,
amount_onlyAmount
,
"1"
,
new
BigDecimal
(
"0.00"
),
new
BigDecimal
(
"0.00"
),
""
,
0
,
amount_onlyAmount
,
amount_onlyAmount
);
String
refundOrderId2_onlyAmount
=
refundGoods_onlyAmount
.
getString
(
"result"
);
if
(
success1
==
true
)
{
//仅退款物品
JSONObject
refundGoods_onlyAmount
=
goodTools
.
refundGoods
(
xmAppApi
.
getLoginInfo
().
getAdminId
(),
ownerName
,
quantity_onlyAmount
,
refundAmount_onlyAmount
,
false
,
voucherItemId_onlyAmount
,
memberId
,
receivableAmount_onlyAmount
,
amount_onlyAmount
,
"1"
,
new
BigDecimal
(
"0.00"
),
new
BigDecimal
(
"0.00"
),
""
,
0
,
amount_onlyAmount
,
amount_onlyAmount
);
String
refundOrderId2_onlyAmount
=
refundGoods_onlyAmount
.
getString
(
"result"
);
//校验:
//校验1:获取B端订单详情:退单已完成状态
JSONObject
getDetailResult_refund_onlyAmount
=
orderTools
.
getDetail
(
refundOrderId2_onlyAmount
);
String
state_refund_onlyAmount
=
getDetailResult_refund_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state_refund_onlyAmount
,
"PAID"
,
"B端退货退款成功后退单订单状态变为已完成"
);
//校验:
//校验1:获取B端订单详情:退单已完成状态
JSONObject
getDetailResult_refund_onlyAmount
=
orderTools
.
getDetail
(
refundOrderId2_onlyAmount
);
String
state_refund_onlyAmount
=
getDetailResult_refund_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state_refund_onlyAmount
,
"PAID"
,
"B端退货退款成功后退单订单状态变为已完成"
);
//校验2:商品详情库存数不变
JSONObject
refundAfterGetDetail_goods_onlyAmount
=
goodTools
.
getDetail_goods
(
goodsId1
);
int
refundAfterInventory_onlyAmount
=
Integer
.
parseInt
(
refundAfterGetDetail_goods_onlyAmount
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
Assert
.
assertEquals
(
refundAfterInventory_onlyAmount
,
discardRefundAfterInventory
,
"仅退款成功后,库存数应不变"
);
//校验2:商品详情库存数不变
JSONObject
refundAfterGetDetail_goods_onlyAmount
=
goodTools
.
getDetail_goods
(
goodsId1
);
int
refundAfterInventory_onlyAmount
=
Integer
.
parseInt
(
refundAfterGetDetail_goods_onlyAmount
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
Assert
.
assertEquals
(
refundAfterInventory_onlyAmount
,
discardRefundAfterInventory
,
"仅退款成功后,库存数应不变"
);
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//校验3:数据中心-财务中心-营收明细-物品的确认收入应减少
JSONObject
refundAfterGetCostData_type_onlyAmount
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"GOODS"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
refundAfterConfirmedAmount_onlyAmount
=
new
BigDecimal
(
refundAfterGetCostData_type_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
Assert
.
assertEquals
(
refundAfterConfirmedAmount_onlyAmount
,
discardRefundAfterConfirmedAmount
.
subtract
(
refundAmount_onlyAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"仅退款成功后,数据中心-财务中心-营收明细-物品的确认收入应减少对应的金额"
);
//校验3:数据中心-财务中心-营收明细-物品的确认收入应减少
JSONObject
refundAfterGetCostData_type_onlyAmount
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"GOODS"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
refundAfterConfirmedAmount_onlyAmount
=
new
BigDecimal
(
refundAfterGetCostData_type_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
Assert
.
assertEquals
(
refundAfterConfirmedAmount_onlyAmount
,
discardRefundAfterConfirmedAmount
.
subtract
(
refundAmount_onlyAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"仅退款成功后,数据中心-财务中心-营收明细-物品的确认收入应减少对应的金额"
);
//case5:作废仅退款订单
//case5:作废仅退款订单
JSONObject
discardRefundOrder_onlyAmount
=
orderTools
.
discard
(
refundOrderId2_onlyAmount
,
"重复录入"
,
"已作废物品仅退款订单"
+
RandomStringUtil
.
randomString
(
10
));
JSONObject
discardRefundOrder_onlyAmount
=
orderTools
.
discard
(
refundOrderId2_onlyAmount
,
"重复录入"
,
"已作废物品仅退款订单"
+
RandomStringUtil
.
randomString
(
10
));
//校验:
//校验1:获取B端订单详情:退单已作废状态
JSONObject
getDetailResult_discardRefund_onlyAmount
=
orderTools
.
getDetail
(
refundOrderId2_onlyAmount
);
String
state_discardRefund_onlyAmount
=
getDetailResult_discardRefund_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state_discardRefund_onlyAmount
,
"DISCARD"
,
"B端作废仅退款订单后,订单状态由已完成变为已作废"
);
//校验:
//校验1:获取B端订单详情:退单已作废状态
JSONObject
getDetailResult_discardRefund_onlyAmount
=
orderTools
.
getDetail
(
refundOrderId2_onlyAmount
);
String
state_discardRefund_onlyAmount
=
getDetailResult_discardRefund_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state_discardRefund_onlyAmount
,
"DISCARD"
,
"B端作废仅退款订单后,订单状态由已完成变为已作废"
);
//校验2:商品详情库存数不变
JSONObject
discardRefundAfterGetDetail_goods_onlyAmount
=
goodTools
.
getDetail_goods
(
goodsId1
);
int
discardRefundAfterInventory_onlyAmount
=
Integer
.
parseInt
(
discardRefundAfterGetDetail_goods_onlyAmount
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
Assert
.
assertEquals
(
discardRefundAfterInventory_onlyAmount
,
refundAfterInventory_onlyAmount
,
"作废仅退款订单成功后,库存数应不变"
);
//校验2:商品详情库存数不变
JSONObject
discardRefundAfterGetDetail_goods_onlyAmount
=
goodTools
.
getDetail_goods
(
goodsId1
);
int
discardRefundAfterInventory_onlyAmount
=
Integer
.
parseInt
(
discardRefundAfterGetDetail_goods_onlyAmount
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
Assert
.
assertEquals
(
discardRefundAfterInventory_onlyAmount
,
refundAfterInventory_onlyAmount
,
"作废仅退款订单成功后,库存数应不变"
);
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//校验3:数据中心-财务中心-营收明细-物品的确认收入应增加
JSONObject
discardRefundAfterGetCostData_type_onlyAmount
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"GOODS"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
discardRefundAfterConfirmedAmount_onlyAmount
=
new
BigDecimal
(
discardRefundAfterGetCostData_type_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
Assert
.
assertEquals
(
discardRefundAfterConfirmedAmount_onlyAmount
,
refundAfterConfirmedAmount_onlyAmount
.
add
(
refundAmount_onlyAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"作废仅退款订单成功后,数据中心-财务中心-营收明细-物品的确认收入应增加对应的金额"
);
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//校验3:数据中心-财务中心-营收明细-物品的确认收入应增加
JSONObject
discardRefundAfterGetCostData_type_onlyAmount
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"GOODS"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
discardRefundAfterConfirmedAmount_onlyAmount
=
new
BigDecimal
(
discardRefundAfterGetCostData_type_onlyAmount
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
Assert
.
assertEquals
(
discardRefundAfterConfirmedAmount_onlyAmount
,
refundAfterConfirmedAmount_onlyAmount
.
add
(
refundAmount_onlyAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"作废仅退款订单成功后,数据中心-财务中心-营收明细-物品的确认收入应增加对应的金额"
);
//case6:作废购买订单
//case6:作废购买订单
JSONObject
discardSignOrder
=
orderTools
.
discard
(
signOrderId1
,
"重复录入"
,
"已作废物品购买订单"
+
RandomStringUtil
.
randomString
(
10
));
JSONObject
discardSignOrder
=
orderTools
.
discard
(
signOrderId1
,
"重复录入"
,
"已作废物品购买订单"
+
RandomStringUtil
.
randomString
(
10
));
//校验:
//校验1:获取B端订单详情:购买订单已作废状态
JSONObject
getDetailResult_discardSign
=
orderTools
.
getDetail
(
signOrderId1
);
String
state_discardRefund_discardSign
=
getDetailResult_discardSign
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state_discardRefund_discardSign
,
"DISCARD"
,
"B端作废购买订单后,签单订单状态由已完成变为已作废"
);
//校验:
//校验1:获取B端订单详情:购买订单已作废状态
JSONObject
getDetailResult_discardSign
=
orderTools
.
getDetail
(
signOrderId1
);
String
state_discardRefund_discardSign
=
getDetailResult_discardSign
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state_discardRefund_discardSign
,
"DISCARD"
,
"B端作废购买订单后,签单订单状态由已完成变为已作废"
);
//校验2:商品详情库存数+1
JSONObject
discardSignAfterGetDetail_goods
=
goodTools
.
getDetail_goods
(
goodsId1
);
int
discardSignAfterInventory
=
Integer
.
parseInt
(
discardSignAfterGetDetail_goods
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
Assert
.
assertEquals
(
discardSignAfterInventory
,
discardRefundAfterInventory_onlyAmount
+
1
,
"作废购买订单成功后,库存数应+1"
);
//校验2:商品详情库存数+1
JSONObject
discardSignAfterGetDetail_goods
=
goodTools
.
getDetail_goods
(
goodsId1
);
int
discardSignAfterInventory
=
Integer
.
parseInt
(
discardSignAfterGetDetail_goods
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
Assert
.
assertEquals
(
discardSignAfterInventory
,
discardRefundAfterInventory_onlyAmount
+
1
,
"作废购买订单成功后,库存数应+1"
);
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
//校验3:数据中心-财务中心-营收明细-物品的确认收入应减少
JSONObject
discardSignAfterGetCostData_type
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"GOODS"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
()
);
BigDecimal
discardSignAfterConfirmedAmount
=
new
BigDecimal
(
discardSignAfterGetCostData_type
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
Assert
.
assertEquals
(
discardSignAfterConfirmedAmount
,
discardRefundAfterConfirmedAmount_onlyAmount
.
subtract
(
unpaidAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"作废购买订单成功后,数据中心-财务中心-营收明细-物品的确认收入应减少对应的金额"
);
}
//校验3:数据中心-财务中心-营收明细-物品的确认收入应减少
JSONObject
discardSignAfterGetCostData_type
=
financeDataTools
.
getCostData_type
(
"DAY"
,
"GOODS"
,
TimeUtils
.
getTodayTime
(),
TimeUtils
.
getTodayEndTime
());
BigDecimal
discardSignAfterConfirmedAmount
=
new
BigDecimal
(
discardSignAfterGetCostData_type
.
getJSONObject
(
"result"
).
getString
(
"confirmedAmount"
));
//确认收入
Assert
.
assertEquals
(
discardSignAfterConfirmedAmount
,
discardRefundAfterConfirmedAmount_onlyAmount
.
subtract
(
unpaidAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
)),
"作废购买订单成功后,数据中心-财务中心-营收明细-物品的确认收入应减少对应的金额"
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment