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
30aac9aa
Commit
30aac9aa
authored
Jun 16, 2025
by
yangjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员积分-部分
parent
77770012
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
281 additions
and
0 deletions
+281
-0
src/main/java/com/xiaomai/cases/polar/points/PointsMInTools.java
+72
-0
src/main/java/com/xiaomai/cases/polar/points/PointsTools.java
+0
-0
src/main/java/com/xiaomai/cases/polar/points/TestBatchPoints.java
+112
-0
src/main/java/com/xiaomai/cases/polar/points/TestFindAccountPagePermission.java
+95
-0
src/main/java/com/xiaomai/enums/ApiModule.java
+2
-0
No files found.
src/main/java/com/xiaomai/cases/polar/points/PointsMInTools.java
0 → 100644
View file @
30aac9aa
package
com
.
xiaomai
.
cases
.
polar
.
points
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.springframework.stereotype.Component
;
@Component
(
"pointsMinTools"
)
//小程序会员积分工具类
public
class
PointsMInTools
extends
XMBaseTest
{
public
void
setUp
(
String
name
,
DataUserInfo
...
dataUserInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Points
)
.
setApiName
(
name
)
.
setTerminal
(
Terminal
.
B
);
//这个到时候要改
}
/**
* @param
* @description:小程序-我的-获取积分
* @author: yangjian
* @param memberId 会员id
**/
public
JSONObject
memberPoint_getAccount
(
String
memberId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Points
)
.
setApiName
(
"API_memberPoint_getAccount"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:小程序-我的-获取积分
* @author: yangjian
* @param memberId 会员id
**/
public
JSONObject
findStatementPage
(
String
memberId
,
String
incTag
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Points
)
.
setApiName
(
"API_findStatementPage"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
if
(!
incTag
.
equals
(
""
)){
jsonObject
.
put
(
"incTag"
,
incTag
);
//true为获取tab;false为消耗tab
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
}
src/main/java/com/xiaomai/cases/polar/points/PointsTools.java
0 → 100644
View file @
30aac9aa
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/cases/polar/points/TestBatchPoints.java
0 → 100644
View file @
30aac9aa
package
com
.
xiaomai
.
cases
.
polar
.
points
;
import
com.xiaomai.cases.polar.training.TrainingTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
public
class
TestBatchPoints
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Points
)
.
setApiName
(
"API_batchClearPoint"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yangjian"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Resource
(
name
=
"pointsTools"
)
PointsTools
pointsTools
;
@Resource
(
name
=
"trainingTools"
)
TrainingTools
trainingTools
;
@Test
(
description
=
"品牌手动-积分"
)
public
void
testBatchClearPoint
()
throws
InterruptedException
{
String
phone
=
"13357537209"
;
String
memberId
=
trainingTools
.
searchTargerMember
(
phone
);
//获取品牌初始会员的发放积分数、已使用积分数、剩余积分数
int
BetotalAwardBalance
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].totalAwardBalance"
));
//发放积分数
int
BealreadyUsedBalance
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].alreadyUsedBalance"
));
//已用积分数
int
BeleftBalance
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].leftBalance"
));
//剩余积分数
System
.
out
.
println
(
"betotal--------"
+
BetotalAwardBalance
);
System
.
out
.
println
(
"beuse--------"
+
BealreadyUsedBalance
);
System
.
out
.
println
(
"beleft--------"
+
BeleftBalance
);
int
before
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findStatementPagePermission
(
""
),
"$.result.total"
));
//积分记录列表总条数
//品牌操作批量增加
Thread
.
sleep
(
1000
);
pointsTools
.
batchAwardPoint
(
"1"
,
memberId
,
""
);
int
AftotalAwardBalance1
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].totalAwardBalance"
));
//发放积分数
int
AfleftBalance1
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].leftBalance"
));
//剩余积分数
System
.
out
.
println
(
"aftotal1--------"
+
AftotalAwardBalance1
);
System
.
out
.
println
(
"afleft1--------"
+
AfleftBalance1
);
Assert
.
assertEquals
(
AftotalAwardBalance1
,
BetotalAwardBalance
+
1
);
//断言发放积分数+1
Assert
.
assertEquals
(
AfleftBalance1
,
BeleftBalance
+
1
);
//断言剩余积分数+1
//核对积分记录
Thread
.
sleep
(
1000
);
int
after1
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findStatementPagePermission
(
""
),
"$.result.total"
));
System
.
out
.
println
(
"after1--------"
+
after1
);
Assert
.
assertEquals
(
after1
,
before
+
1
);
//断言积分记录+1条记录
String
str
=
Integer
.
toString
(
AfleftBalance1
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].transactionType"
),
"IN_MANUAL_GIVE"
,
"第一条记录非手动增加记录"
);
//断言列表第一条手动增加积分的记录
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].accountLeftBalance"
),
str
,
"积分记录明细中,剩余积分和积分帐户对不上"
);
//断言积分记录中的剩余积分
//品牌操作批量扣减
Thread
.
sleep
(
1000
);
pointsTools
.
batchDeductPoint
(
"1"
,
memberId
,
""
);
//会员详情扣减1积分
//核对积分帐户的积分的变化
int
AfalreadyUsedBalance2
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].alreadyUsedBalance"
));
//已使用积分积分数
int
AfleftBalance2
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].leftBalance"
));
//剩余积分数
System
.
out
.
println
(
"aftuse2--------"
+
AfalreadyUsedBalance2
);
System
.
out
.
println
(
"afleft2--------"
+
AfleftBalance2
);
Assert
.
assertEquals
(
AfalreadyUsedBalance2
,
BealreadyUsedBalance
+
1
);
//断言已使用积分数+1
Assert
.
assertEquals
(
AfleftBalance2
,
AfleftBalance1
-
1
);
//断言剩余积分数-1
//核对积分记录
Thread
.
sleep
(
1000
);
int
after2
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findStatementPagePermission
(
""
),
"$.result.total"
));
System
.
out
.
println
(
"after2--------"
+
after2
);
Assert
.
assertEquals
(
after2
,
after1
+
1
);
//断言积分记录+1条记录
String
str1
=
Integer
.
toString
(
AfleftBalance2
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].transactionType"
),
"OUT_MANUAL_DEDUCT"
,
"第一条记录非手动扣减记录"
);
//断言列表第一条手动扣减积分的记录
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].accountLeftBalance"
),
str1
,
"积分记录明细中,剩余积分和积分帐户对不上"
);
//断言积分记录中的剩余积分
//品牌操作批量清零
Thread
.
sleep
(
1000
);
pointsTools
.
batchClearPoint
(
memberId
,
""
);
int
AfleftBalance3
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
""
,
memberId
),
"$.result.records[0].leftBalance"
));
//剩余积分数
Assert
.
assertEquals
(
AfleftBalance3
,
0
);
//断言剩余积分数等于0
//品牌积分导出
pointsTools
.
exportAccount
(
""
);
//积分帐户导出
pointsTools
.
pageStudioExportRecord
(
""
);
//查看导出记录
Thread
.
sleep
(
2000
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].workflowName"
),
"导出会员积分账户"
,
"未生成导出会员积分账户记录"
);
//断言有导出记录
pointsTools
.
exportStatement
(
""
);
//积分记录导出
pointsTools
.
pageStudioExportRecord
(
""
);
//查看导出记录
Thread
.
sleep
(
2000
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].workflowName"
),
"导出会员积分记录"
,
"未生成导出会员积分记录"
);
//断言有导出记录
}
}
src/main/java/com/xiaomai/cases/polar/points/TestFindAccountPagePermission.java
0 → 100644
View file @
30aac9aa
package
com
.
xiaomai
.
cases
.
polar
.
points
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.coupon.CouponTools
;
import
com.xiaomai.cases.polar.export.ExportTool
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.cases.polar.training.TrainingTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
public
class
TestFindAccountPagePermission
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Points
)
.
setApiName
(
"API_findAccountPagePermission"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yangjian"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Resource
(
name
=
"pointsTools"
)
PointsTools
pointsTools
;
@Resource
(
name
=
"tools"
)
Tools
tools
;
@Resource
(
name
=
"trainingTools"
)
TrainingTools
trainingTools
;
@Test
(
description
=
"场馆手动-积分"
)
public
void
testFindAccountPagePermission
(){
String
phone
=
"13357537209"
;
String
memberId
=
trainingTools
.
searchTargerMember
(
phone
);
if
(
memberId
.
isEmpty
())
{
memberId
=
tools
.
create
(
"杨剑积分"
,
phone
).
getString
(
"result"
);
}
//获取场馆初始会员的发放积分数、已使用积分数、剩余积分数
int
BetotalAwardBalance
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
(),
memberId
),
"$.result.records[0].totalAwardBalance"
));
//发放积分数
int
BealreadyUsedBalance
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
(),
memberId
),
"$.result.records[0].alreadyUsedBalance"
));
//已用积分数
int
BeleftBalance
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
(),
memberId
),
"$.result.records[0].leftBalance"
));
//剩余积分数
System
.
out
.
println
(
"betotal--------"
+
BetotalAwardBalance
);
System
.
out
.
println
(
"beuse--------"
+
BealreadyUsedBalance
);
System
.
out
.
println
(
"beleft--------"
+
BeleftBalance
);
int
before
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findStatementPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
()),
"$.result.total"
));
//积分记录列表总条数
System
.
out
.
println
(
"before--------"
+
before
);
pointsTools
.
manualAwardPoint
(
"1"
,
memberId
);
//会员详情增加1积分
//核对积分帐户的积分的变化
int
AftotalAwardBalance1
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
(),
memberId
),
"$.result.records[0].totalAwardBalance"
));
//发放积分数
int
AfleftBalance1
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
(),
memberId
),
"$.result.records[0].leftBalance"
));
//剩余积分数
System
.
out
.
println
(
"aftotal1--------"
+
AftotalAwardBalance1
);
System
.
out
.
println
(
"afleft1--------"
+
AfleftBalance1
);
Assert
.
assertEquals
(
AftotalAwardBalance1
,
BetotalAwardBalance
+
1
);
//断言发放积分数+1
Assert
.
assertEquals
(
AfleftBalance1
,
BeleftBalance
+
1
);
//断言剩余积分数+1
//核对积分记录
int
after1
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findStatementPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
()),
"$.result.total"
));
System
.
out
.
println
(
"after1--------"
+
after1
);
Assert
.
assertEquals
(
after1
,
before
+
1
);
//断言积分记录+1条记录
String
str
=
Integer
.
toString
(
AfleftBalance1
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].transactionType"
),
"IN_MANUAL_GIVE"
,
"第一条记录非手动增加记录"
);
//断言列表第一条手动增加积分的记录
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].accountLeftBalance"
),
str
,
"积分记录明细中,剩余积分和积分帐户对不上"
);
//断言积分记录中的剩余积分
pointsTools
.
manualDeductPoint
(
"1"
,
memberId
);
//会员详情扣减1积分
//核对积分帐户的积分的变化
int
AfalreadyUsedBalance2
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
(),
memberId
),
"$.result.records[0].alreadyUsedBalance"
));
//已使用积分积分数
int
AfleftBalance2
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findAccountPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
(),
memberId
),
"$.result.records[0].leftBalance"
));
//剩余积分数
System
.
out
.
println
(
"aftuse2--------"
+
AfalreadyUsedBalance2
);
System
.
out
.
println
(
"afleft2--------"
+
AfleftBalance2
);
Assert
.
assertEquals
(
AfalreadyUsedBalance2
,
BealreadyUsedBalance
+
1
);
//断言已使用积分数+1
Assert
.
assertEquals
(
AfleftBalance2
,
AfleftBalance1
-
1
);
//断言剩余积分数-1
//核对积分记录
int
after2
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
pointsTools
.
findStatementPagePermission
(
xmAppApi
.
getLoginInfo
().
getStudioId
()),
"$.result.total"
));
System
.
out
.
println
(
"after2--------"
+
after2
);
Assert
.
assertEquals
(
after2
,
after1
+
1
);
//断言积分记录+1条记录
String
str1
=
Integer
.
toString
(
AfleftBalance2
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].transactionType"
),
"OUT_MANUAL_DEDUCT"
,
"第一条记录非手动扣减记录"
);
//断言列表第一条手动扣减积分的记录
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].accountLeftBalance"
),
str1
,
"积分记录明细中,剩余积分和积分帐户对不上"
);
//断言积分记录中的剩余积分
}
}
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
30aac9aa
...
...
@@ -34,6 +34,7 @@ public class ApiModule {
public
static
String
Polar_Invitation
=
"polar_invitation"
;
public
static
String
Polar_Registration
=
"polar_registration"
;
//活动报名
public
static
String
Polar_Charts
=
"polar_charts"
;
//会员排行榜-B
public
static
String
Polar_Points
=
"polar_points"
;
//会员积分
public
static
String
Polar_MemberEntry
=
"polar_memberEntry"
;
//入场
public
static
String
Polar_Export
=
"polar_export"
;
//导出
...
...
@@ -55,6 +56,7 @@ public class ApiModule {
public
static
String
Lunar_Goods
=
"lunar_goods"
;
//物品
public
static
String
Lunar_Registration
=
"lunar_registration"
;
//活动报名
public
static
String
Lunar_Charts
=
"lunar_charts"
;
//会员排行榜-小程序
public
static
String
Lunar_Points
=
"lunar_points"
;
//会员积分
public
static
String
Lunar_Invitation
=
"lunar_invitation"
;
...
...
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