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
203d26a1
Commit
203d26a1
authored
Jul 24, 2024
by
DuJunLi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加会员卡开卡case,优化会员卡相关case代码
parent
edc2b7a3
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
551 additions
and
232 deletions
+551
-232
src/main/java/com/xiaomai/cases/polar/finance/order/OrderTools.java
+8
-0
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
+287
-181
src/main/java/com/xiaomai/cases/polar/memberCard/GetMemberCardBaseInfoForSign.java
+81
-0
src/main/java/com/xiaomai/cases/polar/memberCard/TestActivateMemberCard.java
+107
-0
src/main/java/com/xiaomai/cases/polar/memberCard/TestMemberCardSearch.java
+14
-14
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyShelfState.java
+54
-32
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyXcxSaleState.java
+0
-5
No files found.
src/main/java/com/xiaomai/cases/polar/finance/order/OrderTools.java
View file @
203d26a1
...
...
@@ -6,6 +6,7 @@ import com.xiaomai.client.DataUserInfo;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.CommUtil
;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
...
...
@@ -371,6 +372,13 @@ public class OrderTools extends XMBaseTest {
card
.
put
(
"cardChange"
,
cardChange
);
card
.
put
(
"deductionAmount"
,
deductionAmount
);
//优惠金额(元)
card
.
put
(
"activatePattern"
,
activatePattern
);
if
(
activatePattern
.
equals
(
"FIRST_USED"
)){
//如果选择生效方式为 首次使用生效
card
.
put
(
"maxIdlePeriod"
,
30
);
//最晚生效天数
card
.
put
(
"giftQuantity"
,
2
);
//赠送2次
}
if
(
activatePattern
.
equals
(
"SPECIFIC_DATE"
)){
//选择指定日期生效
card
.
put
(
"activateDate"
,
CommUtil
.
oneKeyGetAddDay
(
7
));
//当前时间+7天
}
card
.
put
(
"commodityCardType"
,
commodityCardType
);
jsonObject
.
put
(
"card"
,
card
);
...
...
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
View file @
203d26a1
...
...
@@ -9,10 +9,13 @@ import com.xiaomai.enums.Terminal;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
(
"cardTools"
)
public
class
CardTools
extends
XMBaseTest
{
/**
...
...
@@ -20,14 +23,14 @@ public class CardTools extends XMBaseTest {
* @description:创建会员卡
* @author: yangjian
**/
public
JSONObject
memberCardCreate
(
String
title
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
memberCardCreate
(
String
title
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_tenantMemberCard_create"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONArray
activatePatternList
=
new
JSONArray
();
JSONArray
activatePatternList
=
new
JSONArray
();
activatePatternList
.
add
(
"PURCHASE"
);
activatePatternList
.
add
(
"SPECIFIC_DATE"
);
activatePatternList
.
add
(
"FIRST_USED"
);
...
...
@@ -48,13 +51,10 @@ public class CardTools extends XMBaseTest {
benefitList
.
add
(
Object
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"surfaceUrl"
,
"https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png"
);
//会员卡封面图片
jsonObject
.
put
(
"surfaceCornerMark"
,
"自动化标签"
);
jsonObject
.
put
(
"title"
,
title
);
//会员卡名称 不能重复要加东西 "次卡-自动化会员卡"+RandomStringUtil.randomString(3)
jsonObject
.
put
(
"surfaceUrl"
,
"https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png"
);
//会员卡封面图片
jsonObject
.
put
(
"surfaceCornerMark"
,
"自动化标签"
);
jsonObject
.
put
(
"title"
,
title
);
//会员卡名称 不能重复要加东西 "次卡-自动化会员卡"+RandomStringUtil.randomString(3)
jsonObject
.
put
(
"validPeriod"
,
"3"
);
//有效期-3天
jsonObject
.
put
(
"activatePatternList"
,
activatePatternList
);
//三种生效方式
jsonObject
.
put
(
"sharePeopleLimit"
,
"2"
);
//共享人数
...
...
@@ -71,39 +71,87 @@ public class CardTools extends XMBaseTest {
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* 快速创建会员卡次卡-存量数据: 嘟嘟创建的会员卡-次卡
*
* @param title
* @param dataUserInfos
* @return
*/
public
String
oneKeyCreateMembershipCardNumberCard
(
String
title
,
DataUserInfo
...
dataUserInfos
)
{
String
requestString
=
"{\n"
+
"\"surfaceUrl\": \"https://image.xiaomaiketang.com/xm/internal/HpRiJpFnTC.png\",\n"
+
"\"maxIdlePeriod\": 30,\n"
+
"\"surfaceCornerMark\": \"\",\n"
+
"\"title\": \""
+
title
+
"\",\n"
+
"\"validPeriod\": \"9999\",\n"
+
"\"activatePatternList\": [\n"
+
"\"PURCHASE\",\n"
+
"\"FIRST_USED\",\n"
+
"\"SPECIFIC_DATE\"\n"
+
"],\n"
+
"\"benefitList\": [\n"
+
"{\n"
+
"\"identifier\": \""
+
RandomStringUtil
.
randomString
(
20
)
+
"\",\n"
+
"\"benefitType\": \"BALANCE\",\n"
+
"\"targetScope\": \"GROUP_CLASS_AND_PERSONAL_COURSE\",\n"
+
"\"balance\": \"60\",\n"
+
"\"reserveLimitType\": \"UN_LIMIT\",\n"
+
"\"reserveLimitNumber\": 0,\n"
+
"\"defaultConsumeBalance\": 1,\n"
+
"\"itemList\": [],\n"
+
"\"targetType\": \"COURSE\"\n"
+
"}\n"
+
"],\n"
+
"\"price\": \"398\",\n"
+
"\"underlinePrice\": \"1000\",\n"
+
"\"purchaseNumberLimit\": \"-1\",\n"
+
"\"xcxSaleStatus\": \"YES\",\n"
+
"\"creatorId\": \"1798957492546801666\",\n"
+
"\"shelfState\": \"YES\",\n"
+
"\"brandId\": \"1796482011391729666\",\n"
+
"\"studioId\": \"1800375402938871809\",\n"
+
"\"description\": \"{\\\"items\\\":[]}\",\n"
+
"\"operatorId\": \"1798957492546801666\",\n"
+
"\"commodityCardType\": \"MEMBER_CARD\"\n"
+
"}"
;
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
requestString
,
dataheadrs
).
assetsSuccess
(
true
);
return
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result"
);
}
/**
* @param
* @description:会员卡列表
* @author: yangjian
**/
public
JSONObject
fetchPageOfMemberCard
(
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchPageOfMemberCard"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
//jsonObject.put("shelfState",shelfState);//启用状态
//jsonObject.put("xcxSaleStatus",xcxSaleStatus);//售卖状态
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:会员卡列表
* @author: yangjian
**/
public
JSONObject
fetchPageOfMemberCard
(
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchPageOfMemberCard"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
//jsonObject.put("shelfState",shelfState);//启用状态
//jsonObject.put("xcxSaleStatus",xcxSaleStatus);//售卖状态
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
public
JSONObject
fetchPageOfMemberCard
(
String
courseId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
fetchPageOfMemberCard
(
String
courseId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchPageOfMemberCard"
)
.
setTerminal
(
Terminal
.
B
);
...
...
@@ -112,64 +160,64 @@ public JSONObject fetchPageOfMemberCard(DataUserInfo...dataUserInfos) {
JSONObject
jsonObject
=
new
JSONObject
();
//jsonObject.put("shelfState",shelfState);//启用状态
//jsonObject.put("xcxSaleStatus",xcxSaleStatus);//售卖状态
jsonObject
.
put
(
"courseId"
,
courseId
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"courseId"
,
courseId
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
.
getJSONObject
(
"result"
);
}
/**
* @param
* @description:会员卡搜索
* @author: yangjian
**/
public
JSONObject
testMemberCardcommonSearch
(
String
title
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_commonSearch"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"title"
,
title
);
//搜索的卡名
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:会员卡搜索
* @author: yangjian
**/
public
JSONObject
doMemberCardcommonSearch
(
String
title
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_commonSearch"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
/**
* @param
* @description:会员卡售卖记录
* @author: yangjian
**/
public
JSONObject
membercardsearch
(
DataUserInfo
...
dataUserInfos
)
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"title"
,
title
);
//搜索的卡名
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_membercard_search"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
/**
* @param
* @description:会员卡售卖记录
* @author: yangjian
**/
public
JSONObject
membercardsearch
(
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_membercard_search"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
JSONObject
jsonObject
=
new
JSONObject
();
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
...
...
@@ -177,22 +225,22 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @author: yangjian
**/
public
JSONObject
commonSearch
(
String
content
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
commonSearch
(
String
content
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_C
lue
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_C
ard
)
.
setApiName
(
"API_commonSearch"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"content"
,
content
);
jsonObject
.
put
(
"content"
,
content
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
...
...
@@ -201,7 +249,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡详情
* @author: yangjian
**/
public
JSONObject
fetchDetailById
(
String
id
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
fetchDetailById
(
String
id
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchDetailById"
)
...
...
@@ -210,80 +258,80 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"id"
,
id
);
jsonObject
.
put
(
"id"
,
id
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:会员卡售卖记录详情
* @author: yangjian
**/
public
JSONObject
membercardfindDetailById
(
String
id
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_membercard_findDetailById"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"id"
,
id
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:会员卡售卖记录详情
* @author: yangjian
**/
public
JSONObject
membercardfindDetailById
(
String
id
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_membercard_findDetailById"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"id"
,
id
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @description:查询会员可用于约课的会员卡
* @author: xuyamei
* @date: 2024/6/23 12:38
* @param courseId:课程id
* @param courseType:课程类型 GROUP_CLASS
* @param accountType:账户类型 MEMBER
* @param memberId 会员id
* @param reserveDate:约课时间
* @param dataUserInfos
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
listUserReservableBenefit
(
String
courseId
,
String
courseType
,
String
accountType
,
String
memberId
,
long
reserveDate
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_listUserReservableBenefit"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"courseId"
,
courseId
);
jsonObject
.
put
(
"courseType"
,
courseType
);
jsonObject
.
put
(
"accountType"
,
accountType
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"reserveDate"
,
reserveDate
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONArray
(
"result"
);
}
/**
* @param courseId:课程id
* @param courseType:课程类型 GROUP_CLASS
* @param accountType:账户类型 MEMBER
* @param memberId 会员id
* @param reserveDate:约课时间
* @param dataUserInfos
* @description:查询会员可用于约课的会员卡
* @author: xuyamei
* @date: 2024/6/23 12:38
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
listUserReservableBenefit
(
String
courseId
,
String
courseType
,
String
accountType
,
String
memberId
,
long
reserveDate
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_listUserReservableBenefit"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"courseId"
,
courseId
);
jsonObject
.
put
(
"courseType"
,
courseType
);
jsonObject
.
put
(
"accountType"
,
accountType
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"reserveDate"
,
reserveDate
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONArray
(
"result"
);
}
/**
* @param
* @description:手动扣次
* @author: yangjian
**/
public
JSONObject
manualDeduct
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
manualDeduct
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_manualDeduct"
)
...
...
@@ -292,7 +340,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"balance"
,
1
);
jsonObject
.
put
(
"balance"
,
1
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"memo"
,
"自动化手动扣次"
);
...
...
@@ -301,7 +349,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
...
...
@@ -310,7 +358,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡消耗记录
* @author: yangjian
**/
public
JSONObject
fetchPageOfConsumeRecord
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
fetchPageOfConsumeRecord
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchPageOfConsumeRecord"
)
...
...
@@ -319,16 +367,16 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
...
...
@@ -337,7 +385,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:修改会员卡有效期
* @author: yangjian
**/
public
JSONObject
modifyExpireDate
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
modifyExpireDate
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_modifyExpireDate"
)
...
...
@@ -346,17 +394,17 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"confirm"
,
false
);
jsonObject
.
put
(
"confirm"
,
false
);
jsonObject
.
put
(
"expireDate"
,
TimeUtils
.
getTodayTime
());
jsonObject
.
put
(
"memo"
,
"自动化修改会员卡有效期"
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"memo"
,
"自动化修改会员卡有效期"
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
...
...
@@ -365,7 +413,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡停卡
* @author: yangjian
**/
public
JSONObject
membercard_suspend
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
membercard_suspend
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_membercard_suspend"
)
...
...
@@ -376,15 +424,15 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
jsonObject
.
put
(
"planRestoreDate"
,
TimeUtils
.
getAfterDayDate
(
1
));
//停卡到第二天
jsonObject
.
put
(
"memo"
,
"自动化停卡"
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"memo"
,
"自动化停卡"
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
...
...
@@ -393,7 +441,7 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
* @description:会员卡查看编辑记录
* @author: yangjian
**/
public
JSONObject
fetchPageOfHistory
(
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
fetchPageOfHistory
(
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchPageOfHistory"
)
...
...
@@ -402,21 +450,79 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* 修改会员卡的停启用状态
*
* @param memberCardId 会员卡ID
* @param shelfState 启用:YES,停用:NO
* @param dataUserInfos
*/
public
void
modifyMemberCardShelfState
(
String
memberCardId
,
String
shelfState
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_modifyShelfState"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"shelfState"
,
shelfState
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
/**
* 售卖记录全局搜索:根据会员名称/手机号搜索,获取会员名下购卡相关记录
*
* @param memberId
*/
public
void
getUserMemberCardList
(
String
memberId
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchUserCardList"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"accountType"
,
"MEMBER"
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
/**
* 查看会员卡售卖记录-变动记录
* @param memberCardAccountId
*/
public
void
getMemberCardAccountOperateRecord
(
String
memberCardAccountId
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchPageOfOperateRecord"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"memberCardId"
,
memberCardAccountId
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
100
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/GetMemberCardBaseInfoForSign.java
0 → 100644
View file @
203d26a1
package
com
.
xiaomai
.
cases
.
polar
.
memberCard
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.cases.polar.training.TrainingTools
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.annotations.BeforeClass
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
/**
* @author adu
* data 2024/7/24 10:15
*/
public
class
GetMemberCardBaseInfoForSign
extends
BaseTestImpl
{
String
memberId
=
""
;
String
memberCardId
=
""
;
@Resource
(
name
=
"tools"
)
Tools
tools
;
@Resource
(
name
=
"orderTools"
)
OrderTools
orderTools
;
@Resource
(
name
=
"trainingTools"
)
TrainingTools
trainingTools
;
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
String
shelfState
=
""
;
BigDecimal
quantity
;
//可用次数
float
price
;
//价格
int
validPeriod
;
//有效期
String
latestSnapshotId
;
//最近的快照ID
@BeforeClass
public
void
beforeTest
()
{
super
.
beforeTest
();
//搜索目标会员
String
phone
=
"17682302508"
;
memberId
=
trainingTools
.
searchTargerMember
(
phone
);
if
(
memberId
.
isEmpty
())
{
memberId
=
tools
.
create
(
"测试机吴彦祖"
,
phone
).
getString
(
"result"
);
}
//搜索目标会员卡-次卡
String
title
=
"嘟嘟创建的会员卡-次卡"
;
cardTools
.
doMemberCardcommonSearch
(
title
);
int
total
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
size
();
if
(
total
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result[0].id"
);
shelfState
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result[0].shelfState"
);
//YES,上架状态:YES
if
(
shelfState
.
equals
(
"NO"
))
{
cardTools
.
modifyMemberCardShelfState
(
memberCardId
,
"YES"
);
}
}
else
{
//创建一个新的会员卡
memberCardId
=
cardTools
.
oneKeyCreateMembershipCardNumberCard
(
title
);
}
//获取会员卡详情
cardTools
.
fetchDetailById
(
memberCardId
);
quantity
=
BigDecimal
.
valueOf
(
Long
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.benefitList[0].balance"
)));
price
=
Float
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.price"
));
validPeriod
=
Integer
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.validPeriod"
));
latestSnapshotId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.latestSnapshotId"
);
//给会员签单-购买会员卡
orderTools
.
signOrder
(
memberCardId
,
latestSnapshotId
,
quantity
,
price
,
validPeriod
,
latestSnapshotId
,
0
,
"FIRST_USED"
,
"MEMBER_CARD"
,
memberId
,
price
,
price
,
"1"
);
}
}
\ No newline at end of file
src/main/java/com/xiaomai/cases/polar/memberCard/TestActivateMemberCard.java
0 → 100644
View file @
203d26a1
package
com
.
xiaomai
.
cases
.
polar
.
memberCard
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* 售卖记录详情-会员卡开卡
*
* @author adu
* data 2024/7/24 14:43
*/
public
class
TestActivateMemberCard
extends
GetMemberCardBaseInfoForSign
{
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
@Resource
(
name
=
"orderTools"
)
OrderTools
orderTools
;
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Card
,
"API_activateMemberCard"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
}
@Test
(
description
=
"操作会员卡开卡"
)
public
void
testActivateMemberCard
()
{
cardTools
.
getUserMemberCardList
(
memberId
);
String
memberAccountCardId
=
""
;
String
state
;
int
count
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
size
();
if
(
count
>
0
){
memberAccountCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result[0].id"
);
state
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result[0].state"
);
if
(
state
.
equals
(
"UN_ACTIVE"
)){
//操作开卡
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"memberCardId"
,
memberAccountCardId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
//查看售卖记录详情
cardTools
.
membercardfindDetailById
(
memberAccountCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.state"
),
"NORMAL"
,
"开卡后卡状态没变更为生效状态"
);
String
benefitId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.benefitList[0].id"
);
//check生成一条变动记录
cardTools
.
getMemberCardAccountOperateRecord
(
memberAccountCardId
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].operateType"
).
equals
(
"ACTIVATE"
),
"手动开卡后生成的变动记录第一条备注不是手动开卡ACTIVATE"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].remark"
).
equals
(
"手动开卡"
),
"手动开卡后生成的变动记录第一条备注不是手动开卡"
);
//查看消耗记录
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberAccountCardId
);
int
totalBefore
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
Assert
.
assertTrue
(
totalBefore
==
1
,
"会员购卡后没生成购买的消耗记录"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].consumeType"
).
equals
(
"PURCHASE"
),
"会员购卡后生成消耗记录不是购买"
);
//操作退卡
orderTools
.
refundOrder
(
2
,
memberAccountCardId
,
quantity
,
price
,
"MEMBER_CARD"
,
memberId
,
price
,
price
,
"1"
);
String
refundOrderId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result"
);
//退卡成功后check 售卖记录详情状态:已退卡
cardTools
.
membercardfindDetailById
(
memberAccountCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.state"
),
"REFUNDED"
,
"退卡后卡卡账户状态没变更为已退卡状态"
);
//退卡后check是否生成一条退卡的消耗记录
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberAccountCardId
);
int
totalAfter
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
Assert
.
assertTrue
(
totalAfter
==
2
,
"会员退卡后没生成购买的消耗记录"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].consumeType"
).
equals
(
"REFUND"
),
"会员退卡后生成消耗记录不是退卡"
);
//check 消耗次数
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].changeOfPurchaseBalance"
),
"-60.00"
,
"购买次数变动不是-60"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].changeOfUsablePurchaseBalance"
),
"-60.00"
,
"可用次数变动不是-2"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].changeOfGiveBalance"
),
"-2.00"
,
"赠送次数变动不是-60"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].changeOfUsableGiveBalance"
),
"-2.00"
,
"可用赠送次数变动不是-2"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].changeOfBenefitAmount"
),
"-398.00"
,
"变动金额不是-398.00"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].leftBenefitAmount"
),
"0.00"
,
"剩余金额不是0.00"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].leftPurchaseBalance"
),
"0.00"
,
"剩余购买次数不是0"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].leftUsablePurchaseBalance"
),
"0.00"
,
"剩余可用次数不是0"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].leftGiveBalance"
),
"0.00"
,
"剩余赠送次数不是0"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].leftUsableGiveBalance"
),
"0.00"
,
"剩余可用赠送次数不是0"
);
}
}
}
}
\ No newline at end of file
src/main/java/com/xiaomai/cases/polar/memberCard/TestMemberCardSearch.java
View file @
203d26a1
package
com
.
xiaomai
.
cases
.
polar
.
memberCard
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.clue.MemberTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.TimeUtils
;
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
TestMemberCardSearch
extends
XMBaseTest
{
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
...
...
@@ -26,25 +28,23 @@ public class TestMemberCardSearch extends XMBaseTest {
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"会员卡列表搜索"
)
@Test
(
description
=
"会员卡列表
根据卡名称-全局
搜索"
)
public
void
testMemberCardcommonSearch
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
memberCardCreate
(
"次卡-自动化会员卡"
+
RandomStringUtil
.
randomString
(
3
));
//创建随机的名的次卡
Cardtools
.
fetchPageOfMemberCard
();
String
title
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].title"
);
String
memberCardName
=
"次卡-自动化会员卡"
+
RandomStringUtil
.
randomString
(
8
);
cardTools
.
memberCardCreate
(
memberCardName
);
//创建随机的名的次卡
cardTools
.
fetchPageOfMemberCard
();
//创建成功后查询会员卡列表(此处也可以不查询)
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
()>=
1
,
"创建会员卡成功后,会员卡列表数据为空"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].title"
),
memberCardName
,
"创建成功后,列表中第一条数据不是显示的该卡"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"title"
,
titl
e
);
//这里需要搜索新创建的会员卡
jsonObject
.
put
(
"title"
,
memberCardNam
e
);
//这里需要搜索新创建的会员卡
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
xmAppApi
.
getApi_response
(),
"$.result"
).
size
()==
1
,
"精确搜索后发现会搜索到的数据不等于1"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
xmAppApi
.
getApi_response
(),
"$.result[0].title"
).
equals
(
memberCardName
),
"精确搜索后发现会员卡名称不匹配"
);
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyShelfState.java
View file @
203d26a1
...
...
@@ -7,10 +7,15 @@ import com.xiaomai.enums.RequestType;
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
TestModifyShelfState
extends
XMBaseTest
{
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
...
...
@@ -26,43 +31,60 @@ public class TestModifyShelfState extends XMBaseTest {
public
void
testmodifyShelfState
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"shelfState"
,
"NO"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
String
memberCardId
=
""
;
String
shelfState
;
//先检查次下列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
//取出第一个数据后,要check下会员卡的启用状态,想停用,要保证卡的状态目前就是启用状态
shelfState
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].shelfState"
);
//如果不是启用状态,则开启
if
(
shelfState
.
equals
(
"NO"
)){
cardTools
.
modifyMemberCardShelfState
(
memberCardId
,
"YES"
);
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"shelfState"
,
"NO"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//check 会员卡详情,查看状态是否是下架状态
cardTools
.
fetchDetailById
(
memberCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.shelfState"
),
"NO"
,
"操作停用会员卡后,查看卡详情,卡启用状态没变更为NO"
);
}
}
@Test
(
description
=
"启用会员卡"
)
public
void
testmodifyShelfState1
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"shelfState"
,
"YES"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
String
memberCardId
=
""
;
String
shelfState
;
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
shelfState
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].shelfState"
);
if
(
shelfState
.
equals
(
"YES"
))
{
cardTools
.
modifyMemberCardShelfState
(
memberCardId
,
"NO"
);
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"shelfState"
,
"YES"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//check 会员卡详情,查看状态是否是上架状态
cardTools
.
fetchDetailById
(
memberCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.shelfState"
),
"YES"
,
"操作启用会员卡后,查看卡详情,卡启用状态没变更为YES"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyXcxSaleState.java
View file @
203d26a1
...
...
@@ -28,8 +28,6 @@ public class TestModifyXcxSaleState extends XMBaseTest {
Cardtools
.
fetchPageOfMemberCard
();
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"xcxSaleState"
,
"NO"
);
...
...
@@ -37,9 +35,6 @@ public class TestModifyXcxSaleState extends XMBaseTest {
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
}
...
...
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