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
fd28b21f
Commit
fd28b21f
authored
Jun 17, 2024
by
yangjian
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
67b312e1
1771b127
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
985 additions
and
83 deletions
+985
-83
src/main/java/com/xiaomai/cases/polar/finance/order/OrderTools.java
+0
-0
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageMemberVoucher.java
+9
-2
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageMemberVoucherItem.java
+10
-2
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageVoucher.java
+3
-7
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageVoucherItem.java
+3
-7
src/main/java/com/xiaomai/cases/polar/finance/order/TestSignOrder.java
+86
-0
src/main/java/com/xiaomai/cases/polar/finance/order/TestSumMemberVoucherAmount.java
+8
-2
src/main/java/com/xiaomai/cases/polar/finance/order/TestSumVoucherAmount.java
+2
-6
src/main/java/com/xiaomai/cases/polar/finance/order/TestSumVoucherItemAmount.java
+2
-6
src/main/java/com/xiaomai/cases/polar/member/TestFindDetailById.java
+22
-4
src/main/java/com/xiaomai/cases/polar/member/TestForceUpdate.java
+16
-4
src/main/java/com/xiaomai/cases/polar/member/TestSearch.java
+32
-16
src/main/java/com/xiaomai/cases/polar/member/Tools.java
+125
-0
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
+238
-0
src/main/java/com/xiaomai/cases/polar/schedule/group/TestCreateGroupRuleSchedule.java
+98
-0
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
+112
-0
src/main/java/com/xiaomai/cases/polar/setting/tag/TagTools.java
+33
-5
src/main/java/com/xiaomai/cases/polar/setting/tag/TestCreate.java
+5
-2
src/main/java/com/xiaomai/cases/polar/setting/tag/TestDeleteById.java
+11
-6
src/main/java/com/xiaomai/cases/polar/setting/tag/TestEdit.java
+15
-9
src/main/java/com/xiaomai/cases/polar/setting/tag/TestFetchPage.java
+5
-1
src/main/java/com/xiaomai/enums/ApiModule.java
+3
-0
src/main/java/com/xiaomai/enums/LoginAccount.java
+1
-1
src/main/java/com/xiaomai/utils/CommUtil.java
+146
-3
No files found.
src/main/java/com/xiaomai/cases/polar/finance/order/OrderTools.java
View file @
fd28b21f
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageMemberVoucher.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
finance
.
order
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
...
...
@@ -12,11 +13,13 @@ import org.testng.annotations.Test;
public
class
TestPageMemberVoucher
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_pageMemberVoucher"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -25,11 +28,15 @@ public class TestPageMemberVoucher extends XMBaseTest {
@Test
(
description
=
"获取会员详情-订单管理列表"
)
public
void
testPageMemberVoucher
(){
//获取会员ID
String
receiverId
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
"1777254935106740226"
);
jsonObject
.
put
(
"receiverId"
,
receiverId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
...
...
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageMemberVoucherItem.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
finance
.
order
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
...
...
@@ -12,11 +13,13 @@ import org.testng.annotations.Test;
public
class
TestPageMemberVoucherItem
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_pageMemberVoucherItem"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -26,11 +29,16 @@ public class TestPageMemberVoucherItem extends XMBaseTest {
@Test
(
description
=
"获取会员详情-订单明细列表"
)
public
void
testPageMemberVoucherItem
(){
//获取会员ID
String
receiverId
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
"1777254935106740226"
);
jsonObject
.
put
(
"receiverId"
,
receiverId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
...
...
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageVoucher.java
View file @
fd28b21f
...
...
@@ -19,7 +19,7 @@ public class TestPageVoucher extends XMBaseTest {
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_pageVoucher"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -32,7 +32,6 @@ public class TestPageVoucher extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
...
...
@@ -43,13 +42,12 @@ public class TestPageVoucher extends XMBaseTest {
Assert
.
assertEquals
(
success
,
"true"
,
"获取订单管理列表失败"
);
}
@Test
(
description
=
"获取财务中心-订单管理列表-无筛选-无卖家ID(场馆ID)、
场馆ID、品牌
ID、操作人ID"
)
@Test
(
description
=
"获取财务中心-订单管理列表-无筛选-无卖家ID(场馆ID)、
品牌ID、场馆
ID、操作人ID"
)
public
void
testPageVoucher1
(){
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
""
);
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
""
);
jsonObject
.
put
(
"studioId"
,
""
);
jsonObject
.
put
(
"operatorId"
,
""
);
...
...
@@ -63,7 +61,6 @@ public class TestPageVoucher extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"source"
,
"OFFLINE_SOURCE"
);
JSONArray
states
=
new
JSONArray
();
...
...
@@ -84,8 +81,7 @@ public class TestPageVoucher extends XMBaseTest {
jsonObject
.
put
(
"operationTimeEnd"
,
TimeUtils
.
getCurrentTime
());
JSONArray
salesmanIds
=
new
JSONArray
();
salesmanIds
.
add
(
"1772880092185255937"
);
salesmanIds
.
add
(
"1774376463837065218"
);
salesmanIds
.
add
(
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"salesmanIds"
,
salesmanIds
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
...
...
src/main/java/com/xiaomai/cases/polar/finance/order/TestPageVoucherItem.java
View file @
fd28b21f
...
...
@@ -18,7 +18,7 @@ public class TestPageVoucherItem extends XMBaseTest {
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_pageVoucherItem"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -31,7 +31,6 @@ public class TestPageVoucherItem extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
...
...
@@ -42,13 +41,12 @@ public class TestPageVoucherItem extends XMBaseTest {
Assert
.
assertEquals
(
success
,
"true"
,
"获取订单明细列表失败"
);
}
@Test
(
description
=
"获取财务中心-订单明细列表-无筛选-无卖家ID(场馆ID)、
场馆ID、品牌
ID、操作人ID"
)
@Test
(
description
=
"获取财务中心-订单明细列表-无筛选-无卖家ID(场馆ID)、
品牌ID、场馆
ID、操作人ID"
)
public
void
testPageVoucherItem1
(){
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
""
);
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
""
);
jsonObject
.
put
(
"studioId"
,
""
);
jsonObject
.
put
(
"operatorId"
,
""
);
...
...
@@ -62,7 +60,6 @@ public class TestPageVoucherItem extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"createdStart"
,
TimeUtils
.
getMonthFristDay
());
jsonObject
.
put
(
"createdEnd"
,
TimeUtils
.
getCurrentTime
());
...
...
@@ -72,8 +69,7 @@ public class TestPageVoucherItem extends XMBaseTest {
jsonObject
.
put
(
"operationTimeEnd"
,
TimeUtils
.
getCurrentTime
());
JSONArray
salesmanIds
=
new
JSONArray
();
salesmanIds
.
add
(
"1772880092185255937"
);
salesmanIds
.
add
(
"1774376463837065218"
);
salesmanIds
.
add
(
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"salesmanIds"
,
salesmanIds
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
...
...
src/main/java/com/xiaomai/cases/polar/finance/order/TestSignOrder.java
0 → 100644
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
finance
.
order
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.client.XMAppApi
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
public
class
TestSignOrder
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
OrderTools
orderTools
=
new
OrderTools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_signOrder"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"创建订单"
)
public
void
testSignOrder
(){
//获取会员ID
String
memberId
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//获取会员卡信息
//获取会员卡列表
JSONObject
memberCard
=
orderTools
.
fetchPageOfMemberCard
(
xmAppApi
.
getLoginInfo
().
getBrandId
(),
xmAppApi
.
getLoginInfo
().
getStudioId
(),
xmAppApi
.
getLoginInfo
().
getAdminId
());
String
cardId
=
memberCard
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
int
quantity
=
Integer
.
parseInt
(
memberCard
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"balance"
));
float
price
=
Float
.
parseFloat
(
memberCard
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"price"
));
int
validPeriod
=
Integer
.
parseInt
(
memberCard
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"validPeriod"
));
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//获取签单要用的卡快照id
String
latestSnapshotId
=
orderTools
.
fetchDetailById
(
cardId
,
xmAppApi
.
getLoginInfo
().
getBrandId
(),
xmAppApi
.
getLoginInfo
().
getStudioId
(),
xmAppApi
.
getLoginInfo
().
getAdminId
()).
getJSONObject
(
"result"
).
getString
(
"latestSnapshotId"
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//检查会员对该卡是否超出购买上限
boolean
limitResult
=
orderTools
.
checkAllowPurchase
(
"MEMBER_CARD"
,
cardId
,
memberId
,
"1"
,
xmAppApi
.
getLoginInfo
().
getBrandId
(),
xmAppApi
.
getLoginInfo
().
getStudioId
(),
xmAppApi
.
getLoginInfo
().
getAdminId
()).
getBoolean
(
"success"
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
if
(
limitResult
==
true
){
//创建订单
JSONObject
orderResult
=
orderTools
.
signOrder
(
cardId
,
latestSnapshotId
,
quantity
,
price
,
validPeriod
,
latestSnapshotId
,
"PURCHASE"
,
memberId
,
price
,
price
,
"1"
);
}
else
{
}
}
}
src/main/java/com/xiaomai/cases/polar/finance/order/TestSumMemberVoucherAmount.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
finance
.
order
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
...
...
@@ -12,11 +13,13 @@ import org.testng.annotations.Test;
public
class
TestSumMemberVoucherAmount
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_sumMemberVoucherAmount"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -26,11 +29,14 @@ public class TestSumMemberVoucherAmount extends XMBaseTest {
@Test
(
description
=
"获取会员详情-订单管理金额统计"
)
public
void
testSumMemberVoucherAmount
(){
//获取会员ID
String
receiverId
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
"1777254935106740226"
);
jsonObject
.
put
(
"receiverId"
,
receiverId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
...
...
src/main/java/com/xiaomai/cases/polar/finance/order/TestSumVoucherAmount.java
View file @
fd28b21f
...
...
@@ -19,7 +19,7 @@ public class TestSumVoucherAmount extends XMBaseTest {
public
void
beforeTest
()
{
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_sumVoucherAmount"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -32,7 +32,6 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
...
...
@@ -59,7 +58,6 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"source"
,
"OFFLINE_SOURCE"
);
JSONArray
states
=
new
JSONArray
();
...
...
@@ -80,8 +78,7 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject
.
put
(
"operationTimeEnd"
,
TimeUtils
.
getCurrentTime
());
JSONArray
salesmanIds
=
new
JSONArray
();
salesmanIds
.
add
(
"1772880092185255937"
);
salesmanIds
.
add
(
"1774376463837065218"
);
salesmanIds
.
add
(
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"salesmanIds"
,
salesmanIds
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
...
...
@@ -102,7 +99,6 @@ public class TestSumVoucherAmount extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
""
);
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
""
);
jsonObject
.
put
(
"studioId"
,
""
);
jsonObject
.
put
(
"operatorId"
,
""
);
...
...
src/main/java/com/xiaomai/cases/polar/finance/order/TestSumVoucherItemAmount.java
View file @
fd28b21f
...
...
@@ -18,7 +18,7 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_sumVoucherItemAmount"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -31,7 +31,6 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
...
...
@@ -57,7 +56,6 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
""
);
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"brandId"
,
""
);
jsonObject
.
put
(
"studioId"
,
""
);
jsonObject
.
put
(
"operatorId"
,
""
);
...
...
@@ -71,7 +69,6 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"receiverId"
,
""
);
jsonObject
.
put
(
"createdStart"
,
TimeUtils
.
getMonthFristDay
());
jsonObject
.
put
(
"createdEnd"
,
TimeUtils
.
getCurrentTime
());
...
...
@@ -81,8 +78,7 @@ public class TestSumVoucherItemAmount extends XMBaseTest {
jsonObject
.
put
(
"operationTimeEnd"
,
TimeUtils
.
getCurrentTime
());
JSONArray
salesmanIds
=
new
JSONArray
();
salesmanIds
.
add
(
"1772880092185255937"
);
salesmanIds
.
add
(
"1774376463837065218"
);
salesmanIds
.
add
(
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"salesmanIds"
,
salesmanIds
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
...
...
src/main/java/com/xiaomai/cases/polar/member/TestFindDetailById.java
View file @
fd28b21f
...
...
@@ -13,24 +13,33 @@ import org.testng.annotations.Test;
public
class
TestFindDetailById
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_find
DetailById
"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setApiName
(
"API_find
StudioMemberDetail
"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"获取会员详情以及更多资料"
)
public
void
testFindDetailById
(){
//暂时还不能转会员,只能写死:memberId:1771002119284924417-自动化正式会员勿动
//获取正式会员列表
JSONObject
memberResult
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
);
String
id
=
memberResult
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"memberId"
,
"1771059838226341890"
);
jsonObject
.
put
(
"memberId"
,
id
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
();
...
...
@@ -41,11 +50,20 @@ public class TestFindDetailById extends XMBaseTest {
@Test
(
description
=
"获取会员详情以及更多资料-会员id不能为空"
)
public
void
testFindDetailById_1
(){
//获取正式会员列表
JSONObject
memberResult
=
tools
.
search
(
"NORMAL"
,
"NORMAL"
);
String
id
=
memberResult
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
jsonObject1
=
new
JSONObject
();
jsonObject1
.
put
(
"memberId"
,
""
);
jsonObject1
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject1
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject1
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject1
.
toJSONString
(),
headers
).
assetsSuccess
(
false
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$message"
),
"会员id不能为空"
);
}
}
src/main/java/com/xiaomai/cases/polar/member/TestForceUpdate.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
member
;
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
;
...
...
@@ -15,12 +16,14 @@ import org.testng.annotations.Test;
public
class
TestForceUpdate
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_forceUpdate"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
...
...
@@ -31,13 +34,21 @@ public class TestForceUpdate extends XMBaseTest {
@Test
(
description
=
"编辑正式会员信息"
)
public
void
testForceUpdate
()
{
//暂时还不能转会员,只能写死:memberId:1771059838226341890-自动化正式会员勿动
JSONObject
create
=
tools
.
create
(
"编辑正式会员"
+
RandomStringUtil
.
randomString
(
3
),
RandomStringUtil
.
randomMobile
(
"88"
));
String
memberId
=
create
.
getString
(
"result"
);
//创建订单转成正式会员
//编辑
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"status"
,
"
NORM
AL"
);
jsonObject
.
put
(
"status"
,
"
POTENTI
AL"
);
jsonObject
.
put
(
"name"
,
"自动化正式会员"
+
RandomStringUtil
.
randomString
(
2
));
jsonObject
.
put
(
"phone"
,
RandomStringUtil
.
randomMobile
(
"22"
));
jsonObject
.
put
(
"gender"
,
"WOMEN"
);
...
...
@@ -54,9 +65,10 @@ public class TestForceUpdate extends XMBaseTest {
jsonObject
.
put
(
"emergencyContactPerson"
,
RandomStringUtil
.
randomString
(
3
));
jsonObject
.
put
(
"emergencyContactPhone"
,
RandomStringUtil
.
randomMobile
(
"66"
));
jsonObject
.
put
(
"resourceId"
,
"1"
);
jsonObject
.
put
(
"intention"
,
"HIGH"
);
jsonObject
.
put
(
"creatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"remark"
,
"备注"
+
RandomStringUtil
.
randomString
(
12
));
jsonObject
.
put
(
"memberId"
,
"1771059838226341890"
);
jsonObject
.
put
(
"memberId"
,
memberId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
...
...
src/main/java/com/xiaomai/cases/polar/member/TestSearch.java
View file @
fd28b21f
...
...
@@ -18,7 +18,7 @@ public class TestSearch extends XMBaseTest {
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_searchMember"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -28,26 +28,35 @@ public class TestSearch extends XMBaseTest {
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
"NORMAL"
},
{
"HISTORY"
}
{
"NORMAL"
,
"NORMAL"
},
{
"HISTORY"
,
"HISTORY"
}
};
}
@Test
(
description
=
"获取会员管理(正式会员/流失会员)列表"
,
dataProvider
=
"dataProvider"
)
public
void
testSearch
(
String
status
){
public
void
testSearch
(
String
s
earchType
,
String
s
tatus
){
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
JSONObject
studioFilter
=
new
JSONObject
();
studioFilter
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"studioFilter"
,
studioFilter
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"searchType"
,
searchType
);
JSONArray
statusList
=
new
JSONArray
();
statusList
.
add
(
status
);
jsonObject
.
put
(
"statusList"
,
statusList
);
jsonObject
.
put
(
"resourceId"
,
null
);
jsonObject
.
put
(
"creatorId"
,
null
);
jsonObject
.
put
(
"wechatBindStatus"
,
null
);
jsonObject
.
put
(
"saleId"
,
null
);
jsonObject
.
put
(
"birthdayEnd"
,
null
);
jsonObject
.
put
(
"createdEnd"
,
null
);
jsonObject
.
put
(
"createdStart"
,
null
);
jsonObject
.
put
(
"tags"
,
null
);
jsonObject
.
put
(
"coachId"
,
null
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
();
String
success
=
response
.
getString
(
"success"
);
...
...
@@ -58,21 +67,20 @@ public class TestSearch extends XMBaseTest {
@DataProvider
public
Object
[][]
dataProvider1
(){
return
new
Object
[][]{
{
"NORMAL"
},
{
"HISTORY"
}
{
"NORMAL"
,
"NORMAL"
},
{
"HISTORY"
,
"HISTORY"
}
};
}
@Test
(
description
=
"筛选会员管理(正式会员/流失学员)列表来源、当前创建人、性别"
,
dataProvider
=
"dataProvider1"
)
public
void
testSearchResource
(
String
status
){
@Test
(
description
=
"筛选会员管理(正式会员/流失学员)列表来源、当前创建人、
跟进销售、跟进教练、绑定微信公众号、
性别"
,
dataProvider
=
"dataProvider1"
)
public
void
testSearchResource
(
String
s
earchType
,
String
s
tatus
){
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
JSONObject
studioFilter
=
new
JSONObject
();
studioFilter
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"studioFilter"
,
studioFilter
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"searchType"
,
searchType
);
JSONArray
statusList
=
new
JSONArray
();
statusList
.
add
(
status
);
...
...
@@ -81,6 +89,14 @@ public class TestSearch extends XMBaseTest {
jsonObject
.
put
(
"creatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"gender"
,
"WOMEN"
);
jsonObject
.
put
(
"wechatBindStatus"
,
"NO"
);
jsonObject
.
put
(
"saleId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"birthdayEnd"
,
null
);
jsonObject
.
put
(
"createdEnd"
,
null
);
jsonObject
.
put
(
"createdStart"
,
null
);
jsonObject
.
put
(
"tags"
,
null
);
jsonObject
.
put
(
"coachId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
();
...
...
src/main/java/com/xiaomai/cases/polar/member/Tools.java
0 → 100644
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
member
;
import
com.alibaba.fastjson.JSONArray
;
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
java.util.List
;
public
class
Tools
extends
XMBaseTest
{
/**
* @param
* @description:获取会员管理列表
* @param searchType:查询类型 POTENTIAL, NORMAL, HISTORY
* @param status:会员状态 POTENTIAL, NORMAL, HISTORY
* @author: yangfangfang
**/
public
JSONObject
search
(
String
searchType
,
String
status
,
DataUserInfo
...
dataUserInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_searchMember"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"searchType"
,
searchType
);
JSONArray
statusList
=
new
JSONArray
();
statusList
.
add
(
status
);
jsonObject
.
put
(
"statusList"
,
statusList
);
jsonObject
.
put
(
"resourceId"
,
null
);
jsonObject
.
put
(
"creatorId"
,
null
);
jsonObject
.
put
(
"wechatBindStatus"
,
null
);
jsonObject
.
put
(
"saleId"
,
null
);
jsonObject
.
put
(
"birthdayEnd"
,
null
);
jsonObject
.
put
(
"createdEnd"
,
null
);
jsonObject
.
put
(
"createdStart"
,
null
);
jsonObject
.
put
(
"tags"
,
null
);
jsonObject
.
put
(
"coachId"
,
null
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:添加线索
* @param name:姓名
* @param phone:手机号
* @param
* @author: yangfangfang
**/
public
JSONObject
create
(
String
name
,
String
phone
,
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_create"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfos
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"creatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"status"
,
"POTENTIAL"
);
object
.
put
(
"name"
,
name
);
object
.
put
(
"phone"
,
phone
);
object
.
put
(
"gender"
,
"UNKNOWN"
);
object
.
put
(
"position"
,
"INITIAL"
);
object
.
put
(
"saleId"
,
"-1"
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
/**
* @param
* @description:搜索会员
* @param content:姓名/手机号
* @param status:POTENTIAL, NORMAL, HISTORY
* @param
* @author: yangfangfang
**/
public
JSONObject
commonSearch
(
String
content
,
String
status
,
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_commonSearch"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfos
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"content"
,
content
);
JSONArray
statusList
=
new
JSONArray
();
statusList
.
add
(
status
);
object
.
put
(
"statusList"
,
statusList
);
object
.
put
(
"followerId"
,
null
);
object
.
put
(
"position"
,
null
);
object
.
put
(
"dataPermissionFilter"
,
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
}
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
0 → 100644
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.setting.venue.VenueAreaTools
;
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.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author adu
* data 2024/6/12 11:51
*/
@Component
(
"groupScheduleTools"
)
public
class
GroupScheduleTools
extends
XMBaseTest
{
@Resource
(
name
=
"venueAreaTools"
)
VenueAreaTools
venueAreaTools
;
public
void
setUP
(
String
apiName
,
DataUserInfo
...
userInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Schedule
)
.
setApiName
(
apiName
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfo
);
}
/**
* 创建团课排课
*
* @param courseId 团课课程ID
* @param chiefCoachId 教练ID
* @param startDate 排课开始日期
* @param endDate 排课结束日期
* @param venueAreaIds 场馆ID
* @param assistCoachIds 助教ID
* @param force 是否冲突
* @param endType 排课结束方式:1 按日期,2 按次数
*/
public
void
createGroupRuleSchedule
(
String
courseId
,
String
chiefCoachId
,
String
startDate
,
String
endDate
,
List
<
String
>
venueAreaIds
,
List
<
String
>
assistCoachIds
,
Boolean
force
,
int
endType
)
{
setUP
(
"API_createGroupRuleSchedule"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
// 场馆
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"courseId"
,
courseId
);
body
.
put
(
"chiefCoachId"
,
chiefCoachId
);
body
.
put
(
"minMemberNum"
,
2
);
// 开课人数
body
.
put
(
"maxMemberNum"
,
999
);
//人数上限
body
.
put
(
"minuteOffset"
,
480
);
//上课开始时间
body
.
put
(
"startDate"
,
startDate
);
//排课开始日期
body
.
put
(
"endDate"
,
endDate
);
//排课结束日期
String
[]
weekDaysArray
=
{
"MONDAY"
,
"TUESDAY"
,
"WEDNESDAY"
,
"THURSDAY"
,
"FRIDAY"
,
"SATURDAY"
,
"SUNDAY"
};
List
<
String
>
weekdaysList
=
Arrays
.
asList
(
weekDaysArray
);
body
.
put
(
"weekdays"
,
weekdaysList
);
//设置上课星期,目前是每天都会选择
body
.
put
(
"venueAreaIds"
,
venueAreaIds
);
//场地,可设置为空 new ArrayList<>();
body
.
put
(
"assistCoachIds"
,
assistCoachIds
);
//设置助教,可设置为空 new ArrayList<>();
body
.
put
(
"force"
,
force
);
//是否有冲突 true,false
if
(
endType
==
2
)
{
body
.
put
(
"maxLoop"
,
60
);
//如果排课方式选择按次数,设置次数为60
body
.
put
(
"endDate"
,
CommUtil
.
getNDayEndTimeTamp
(
60
));
//排课结束日期,这里就设置自动延顺60天,结束日期会覆盖你传的endDate
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
/**
* 查看排课日程
* @param courseId 可根据课程查询
* @param coachId 可根据教练查询
* @return
*/
public
JSONArray
getGroupRuleScheduleList
(
String
courseId
,
String
coachId
){
setUP
(
"API_getGroupRuleScheduleList"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
if
(
courseId
!=
null
&&
courseId
.
length
()!=
0
){
body
.
put
(
"courseId"
,
courseId
);
}
if
(
coachId
!=
null
&&
coachId
.
length
()!=
0
){
body
.
put
(
"coachId"
,
coachId
);
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
return
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
);
}
/**
* 查询存量团课课程
* @param courseName
* @return
*/
public
String
getStockGroupCourseId
(
String
courseName
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Course
)
.
setApiName
(
"API_getGroupClassPage"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"courseState"
,
"ON"
);
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
50
);
body
.
put
(
"courseNameLike"
,
courseName
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
if
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
length
()==
0
){
return
""
;
}
else
{
return
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].brandCourseId"
);
}
}
/**
* 删除团课排课日程
* @param ruleId
*/
public
void
delGroupRuleSchedule
(
String
ruleId
){
setUP
(
"API_delGroupRuleSchedule"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"force"
,
false
);
body
.
put
(
"ruleId"
,
ruleId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
/**
* 获取教练ID
* @param nickNameList 可根据传入的昵称,获取对应的ID
* @return
*/
public
List
<
String
>
getStudioAdminId
(
List
<
String
>
nickNameList
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_pageStudioAdmin"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
50
);
body
.
put
(
"state"
,
"DUTY"
);
body
.
put
(
"teachingType"
,
"LEAGUE_CLASS"
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
int
count
=
Integer
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.total"
));
List
<
String
>
adminIds
=
new
ArrayList
<>();
if
(
count
>
0
)
{
JSONArray
records
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
);
adminIds
=
records
.
stream
()
.
filter
(
obj
->
CollectionUtils
.
isEmpty
(
nickNameList
)
||
nickNameList
.
contains
(((
JSONObject
)
obj
).
getString
(
"nickName"
)))
//如果nickNameList为空或者包含搜索结果集中对应的昵称,就会过滤
.
map
(
obj
->
{
JSONObject
adminIdInfo
=
(
JSONObject
)
obj
;
return
adminIdInfo
.
getString
(
"id"
);
}
).
collect
(
Collectors
.
toList
());
return
adminIds
;
}
return
null
;
}
/**
* 获取存量场地
*
* @param areaName 根据指定场地名称,匹配出对应的场地ID,如果无匹配的则新建,如果场地列表无数据,则新建个
* @return
*/
public
List
<
String
>
getStockArea
(
String
areaName
)
{
JSONObject
result
=
venueAreaTools
.
getVenueAreaPage
();
int
count
=
XMJSONPath
.
getJSONArrayByReadPath
(
result
,
"$.records"
).
size
();
List
<
String
>
areaIds
=
new
ArrayList
<>();
if
(
count
>
0
)
{
areaIds
=
result
.
getJSONArray
(
"records"
).
toJavaList
(
JSONObject
.
class
).
stream
().
filter
(
obj
->
(
areaName
).
equals
(
obj
.
getString
(
"groupName"
)))
.
map
(
obj
->
{
JSONObject
areaIdInfo
=
(
JSONObject
)
obj
;
return
areaIdInfo
.
getJSONArray
(
"areaList"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
).
collect
(
Collectors
.
toList
());
if
(
areaIds
.
isEmpty
())
{
//如果无匹配的则新建一个匹配的场地
String
areaId
=
venueAreaTools
.
createVenueArea
(
areaName
);
areaIds
.
add
(
areaId
);
return
areaIds
;
}
return
areaIds
;
//如果匹配到了,取匹配到的场地ID
}
else
{
//如果场地列表为空,则新建一个
String
areaId
=
venueAreaTools
.
createVenueArea
(
areaName
);
areaIds
.
add
(
areaId
);
return
areaIds
;
}
}
/**
* 查看团课排课日程详情
* @param ruldId
*/
public
void
getGroupRuleScheduleDetail
(
String
ruldId
){
setUP
(
"API_getGroupRuleScheduleDetail"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"id"
,
ruldId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/schedule/group/TestCreateGroupRuleSchedule.java
0 → 100644
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.course.CourseTools
;
import
com.xiaomai.cases.polar.setting.courseCategory.CourseCategoryTools
;
import
com.xiaomai.cases.polar.setting.venue.VenueAreaTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.CommUtil
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author adu
* data 2024/6/12 15:54
*/
public
class
TestCreateGroupRuleSchedule
extends
BaseTestImpl
{
@Resource
(
name
=
"courseCategoryTools"
)
CourseCategoryTools
courseCategoryTools
;
@Resource
(
name
=
"courseTools"
)
CourseTools
courseTools
;
@Resource
(
name
=
"groupScheduleTools"
)
GroupScheduleTools
groupScheduleTools
;
@Resource
(
name
=
"venueAreaTools"
)
VenueAreaTools
venueAreaTools
;
//获取本周第一天的时间戳
String
beginTimeTamp
=
CommUtil
.
oneKeyGetWeekStartDay
();
//获取当前时间加160天后的时间戳 23:59:59 用于结束日期
String
endDateTimeTamp
=
CommUtil
.
getNDayEndTimeTamp
(
180
);
//获取当天时间时间戳:当天时间戳格式:2024-6-12 00:00:00点,用于开始日期
String
todayStartTimeTamp
=
CommUtil
.
oneKeyGetAddDay
(
0
);
//获取今天结束日期的时间戳
String
todayEndDateTimeTamp
=
CommUtil
.
getNDayEndTimeTamp
(
0
);
String
courseName
=
"阿杜自动化团课课程"
;
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Schedule
,
"API_createGroupRuleSchedule"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
}
@Test
(
description
=
"测试新建团课排课"
)
public
void
testCreateGroupRuleSchedule
()
{
//获取存量课程ID
String
courseId
=
groupScheduleTools
.
getStockGroupCourseId
(
courseName
);
if
(
courseId
==
""
)
{
//获取存量课程分类ID
String
categoryId
=
courseCategoryTools
.
getCourseCategoryPage
(
"普拉提"
);
courseId
=
courseTools
.
createGroupCourse
(
courseName
,
categoryId
,
"STUDIO"
);
}
//获取存量场地
List
<
String
>
venueAreaIds
=
groupScheduleTools
.
getStockArea
(
"流星花园秘密基地"
);
//获取存量教练
List
<
String
>
chiefCoachId
=
new
ArrayList
<>();
chiefCoachId
.
add
(
"杜君丽"
);
String
chiefCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
).
get
(
0
).
toString
();
//获取存量助教
List
<
String
>
assistCoachIds
=
new
ArrayList
<>();
assistCoachIds
.
add
(
"木头"
);
assistCoachIds
.
add
(
"吴彦祖"
);
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
);
//1-创建排课日程
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
todayStartTimeTamp
,
endDateTimeTamp
,
venueAreaIds
,
assistCoachIdS
,
false
,
1
);
//2-查询排课日程
JSONArray
result
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
Assert
.
assertTrue
(
result
.
size
()
>=
1
);
//统计查询到的目标日程数量
int
size
=
result
.
size
();
String
ruldId
=
XMJSONPath
.
readPath
(
result
.
getJSONObject
(
0
),
"$.ruleId"
);
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
);
JSONArray
result2
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
//删除成功后,统计查询到的目标日程数量是否-1
Assert
.
assertEquals
(
result2
.
size
(),
size
-
1
);
}
}
\ No newline at end of file
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
0 → 100644
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.course.CourseTools
;
import
com.xiaomai.cases.polar.setting.venue.VenueAreaTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.CommUtil
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author adu
* data 2024/6/13 14:31
*/
public
class
TestEditGroupRuleSchedule
extends
BaseTestImpl
{
@Resource
(
name
=
"courseTools"
)
CourseTools
courseTools
;
@Resource
(
name
=
"groupScheduleTools"
)
GroupScheduleTools
groupScheduleTools
;
@Resource
(
name
=
"venueAreaTools"
)
VenueAreaTools
venueAreaTools
;
//前天的时间戳,开始时间
String
theDayBeforeYesterdayTimeTamp
=
CommUtil
.
oneKeyGetAddDay
(-
2
);
//获取今天+12天后日期的时间戳(结束时间)
String
endDateTimeTamp
=
CommUtil
.
getNDayEndTimeTamp
(
12
);
String
todayEndDateTimeTamp
=
CommUtil
.
getNDayEndTimeTamp
(
0
);
String
courseName
=
"阿杜自动化团课课程"
;
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Schedule
,
"API_editGroupRuleSchedule"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
}
@Test
(
description
=
"测试编辑团课规则"
)
public
void
testEditGroupRuleSchedule
()
{
//先创建排课规则
//获取存量课程ID
String
courseId
=
groupScheduleTools
.
getStockGroupCourseId
(
courseName
);
//获取存量教练
List
<
String
>
chiefCoachId
=
new
ArrayList
<>();
chiefCoachId
.
add
(
"杜君丽"
);
String
chiefCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
).
get
(
0
).
toString
();
//获取存量助教
List
<
String
>
assistCoachIds
=
new
ArrayList
<>();
assistCoachIds
.
add
(
"木头"
);
assistCoachIds
.
add
(
"吴彦祖"
);
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
);
//1-创建排课日程
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
theDayBeforeYesterdayTimeTamp
,
endDateTimeTamp
,
new
ArrayList
<>(),
assistCoachIdS
,
false
,
1
);
//2-查询排课日程
JSONArray
result
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
Assert
.
assertTrue
(
result
.
size
()
>=
1
);
String
ruldId
=
XMJSONPath
.
readPath
(
result
.
getJSONObject
(
0
),
"$.ruleId"
);
//3-编辑排课日程
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"chiefCoachId"
,
chiefCoachIdS
);
body
.
put
(
"minMemberNum"
,
5
);
//改变了有2->5
body
.
put
(
"maxMemberNum"
,
20
);
//改变了999->20
body
.
put
(
"minuteOffset"
,
"1320"
);
List
<
String
>
venueAreaIds
=
groupScheduleTools
.
getStockArea
(
"流星花园秘密基地"
);
body
.
put
(
"venueAreaIds"
,
venueAreaIds
);
//有空改为有数据
body
.
put
(
"assistCoachIds"
,
new
ArrayList
<>());
//有数据AB改成空
body
.
put
(
"ruleId"
,
ruldId
);
body
.
put
(
"spanMinutes"
,
50
);
body
.
put
(
"endDate"
,
todayEndDateTimeTamp
);
//结束日期缩短了,改成当天结束
body
.
put
(
"force"
,
false
);
body
.
put
(
"retainBooking"
,
true
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
//4-查看日程详情,check修改内容是否同步变更
groupScheduleTools
.
getGroupRuleScheduleDetail
(
ruldId
);
String
detailResult
=
dataApi
.
getApi_response
();
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.chiefCoachId"
),
chiefCoachIdS
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.minMemberNum"
),
"5"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.maxMemberNum"
),
"20"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.minuteOffset"
),
"1320"
);
Assert
.
assertEquals
((
XMJSONPath
.
readPath
(
detailResult
,
"$.result.endDate"
).
substring
(
0
,
9
)),
todayEndDateTimeTamp
.
substring
(
0
,
9
));
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
detailResult
,
"$.result.assistCoachIds"
).
isEmpty
(),
"助教设置为空后没生效"
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
detailResult
,
"$.result.venueAreaIds"
).
containsAll
(
venueAreaIds
),
"设置有空改为有数据后没生效"
);
//5-删除日程
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
);
}
}
\ No newline at end of file
src/main/java/com/xiaomai/cases/polar/setting/TagTools.java
→
src/main/java/com/xiaomai/cases/polar/setting/
tag/
TagTools.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
setting
;
package
com
.
xiaomai
.
cases
.
polar
.
setting
.
tag
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -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.TimeUtils
;
import
com.xiaomai.utils.XMBaseTest
;
import
java.util.ArrayList
;
...
...
@@ -31,6 +32,8 @@ public class TagTools extends XMBaseTest {
jsonObject
.
put
(
"bizAccountId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"label"
,
label
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
...
...
@@ -112,6 +115,8 @@ public class TagTools extends XMBaseTest {
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"needUsageInfo"
,
"true"
);
jsonObject
.
put
(
"content"
,
content
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
...
...
@@ -127,7 +132,7 @@ public class TagTools extends XMBaseTest {
* @date: 2024/3/16 16:28
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
forceUpdate
(
String
memberId
,
String
name
,
String
phone
,
String
status
,
String
tagId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
forceUpdate
(
String
memberId
,
String
name
,
String
creator
,
String
phone
,
String
status
,
String
tagId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Clue
)
.
setApiName
(
"API_forceUpdate"
)
...
...
@@ -135,18 +140,41 @@ public class TagTools extends XMBaseTest {
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
dataJson
=
new
JSONObject
();
dataJson
.
put
(
"id"
,
memberId
);
dataJson
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
dataJson
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
dataJson
.
put
(
"memberId"
,
memberId
);
dataJson
.
put
(
"name"
,
name
);
dataJson
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
dataJson
.
put
(
"phone"
,
phone
);
dataJson
.
put
(
"gender"
,
"UNKNOWN"
);
dataJson
.
put
(
"status"
,
status
);
dataJson
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
dataJson
.
put
(
"resourceId"
,
"-1"
);
dataJson
.
put
(
"creatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
dataJson
.
put
(
"wechatBindStatus"
,
"NO"
);
dataJson
.
put
(
"created"
,
TimeUtils
.
getCurrentTime
());
dataJson
.
put
(
"updated"
,
TimeUtils
.
getCurrentTime
());
dataJson
.
put
(
"intention"
,
"UNKNOWN"
);
dataJson
.
put
(
"position"
,
"INITIAL"
);
dataJson
.
put
(
"saleId"
,
"-1"
);
dataJson
.
put
(
"lastFeedbackResult"
,
"NONE"
);
dataJson
.
put
(
"planReleaseTime"
,
"-1"
);
dataJson
.
put
(
"disableOperatorId"
,
"-1"
);
dataJson
.
put
(
"coachId"
,
"-1"
);
dataJson
.
put
(
"creator"
,
creator
);
dataJson
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
List
tags
=
new
ArrayList
();
tags
.
add
(
tagId
);
dataJson
.
put
(
"tags"
,
tags
);
JSONObject
refStudioList
=
new
JSONObject
();
refStudioList
.
put
(
"id"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
refStudioList
.
put
(
"name"
,
"小麦乐动自动化场馆"
);
dataJson
.
put
(
"refStudioList"
,
refStudioList
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
dataJson
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
...
...
src/main/java/com/xiaomai/cases/polar/setting/tag/TestCreate.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
setting
.
tag
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.setting.TagTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
...
...
@@ -24,7 +23,7 @@ public class TestCreate extends XMBaseTest {
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Setting
)
.
setApiName
(
"API_tag_create"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -44,6 +43,8 @@ public class TestCreate extends XMBaseTest {
jsonObject
.
put
(
"bizAccountId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"label"
,
"自动化"
+
RandomStringUtil
.
randomString
(
3
));
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
();
...
...
@@ -80,6 +81,8 @@ public class TestCreate extends XMBaseTest {
jsonObject
.
put
(
"bizAccountId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"label"
,
"自动化-禁止使用"
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
false
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
();
...
...
src/main/java/com/xiaomai/cases/polar/setting/tag/TestDeleteById.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
setting
.
tag
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.
setting.Tag
Tools
;
import
com.xiaomai.cases.polar.
admin.Admin
Tools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
...
...
@@ -16,6 +16,7 @@ import org.testng.annotations.Test;
public
class
TestDeleteById
extends
XMBaseTest
{
TagTools
tagTools
=
new
TagTools
();
AdminTools
adminTools
=
new
AdminTools
();
@BeforeMethod
...
...
@@ -23,7 +24,7 @@ public class TestDeleteById extends XMBaseTest {
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Setting
)
.
setApiName
(
"API_tag_deleteById"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -63,14 +64,18 @@ public class TestDeleteById extends XMBaseTest {
@Test
(
description
=
"删除标签--已被本场馆会员使用-同步删除同场馆会员的标签"
)
public
void
testDeleteById_1
(){
//memberId:1
76887535292452454
5-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//memberId:1
80113635380026982
5-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//增加标签
JSONObject
createTag
=
tagTools
.
tagCreate
(
"自动化标签勿动1"
);
String
tagId1
=
createTag
.
getString
(
"result"
);
//获取当前员工昵称
JSONObject
adminResult
=
adminTools
.
getStudioAdmin
(
xmAppApi
.
getLoginInfo
().
getAdminId
());
String
nickName
=
adminResult
.
getJSONObject
(
"result"
).
getString
(
"nickName"
);
//给会员添加标签
JSONObject
forceUpdate
=
tagTools
.
forceUpdate
(
"1
768875352924524545"
,
"自动化标签会员勿动1"
,
"10022233333"
,
"POTENTIAL"
,
tagId1
);
JSONObject
forceUpdate
=
tagTools
.
forceUpdate
(
"1
801136353800269825"
,
"自动化标签会员勿动1"
,
nickName
,
"10022233333"
,
"POTENTIAL"
,
tagId1
);
//删除标签
JSONObject
deleteTag1
=
new
JSONObject
();
...
...
@@ -94,13 +99,13 @@ public class TestDeleteById extends XMBaseTest {
@Test
(
description
=
"删除标签--已被非本场馆会员使用-不能删除"
)
public
void
testDeleteById_2
()
{
//被别的场馆使用:tagId:1
768900252624130050;memberId:1768900398913064961
-自动化标签会员勿动1
//被别的场馆使用:tagId:1
801151244447690753-自动化标签勿动;memberId:1801150921062658049
-自动化标签会员勿动1
//删除标签
JSONObject
deleteTag2
=
new
JSONObject
();
deleteTag2
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
deleteTag2
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
deleteTag2
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
deleteTag2
.
put
(
"id"
,
"1
768900252624130050
"
);
deleteTag2
.
put
(
"id"
,
"1
801151244447690753
"
);
deleteTag2
.
put
(
"confirm"
,
""
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
deleteTag2
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
...
...
src/main/java/com/xiaomai/cases/polar/setting/tag/TestEdit.java
View file @
fd28b21f
package
com
.
xiaomai
.
cases
.
polar
.
setting
.
tag
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.admin.AdminTools
;
import
com.xiaomai.cases.polar.clue.MemberTools
;
import
com.xiaomai.cases.polar.setting.TagTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
...
...
@@ -18,6 +18,8 @@ public class TestEdit extends XMBaseTest {
TagTools
tagTools
=
new
TagTools
();
MemberTools
memberTools
=
new
MemberTools
();
AdminTools
adminTools
=
new
AdminTools
();
String
tagId1
;
String
tagId2
;
String
tagId3
;
...
...
@@ -26,7 +28,7 @@ public class TestEdit extends XMBaseTest {
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Setting
)
.
setApiName
(
"API_tag_edit"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
...
...
@@ -62,14 +64,18 @@ public class TestEdit extends XMBaseTest {
@Test
(
description
=
"编辑标签--已被本场馆会员使用-同步编辑使用此标签会员的标签"
)
public
void
testEdit_1
(){
//memberId:1
76887535292452454
5-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//memberId:1
80113635380026982
5-自动化标签会员勿动1(还不能删除线索,不添加这么多,暂时先用一个)
//增加标签
JSONObject
createTag
=
tagTools
.
tagCreate
(
"自动化标签勿动2"
);
tagId2
=
createTag
.
getString
(
"result"
);
//获取当前员工昵称
JSONObject
nickNameResult
=
adminTools
.
getStudioAdmin
(
xmAppApi
.
getLoginInfo
().
getAdminId
());
String
nickName
=
nickNameResult
.
getJSONObject
(
"result"
).
getString
(
"nickName"
);
//给会员添加标签
JSONObject
forceUpdate
=
tagTools
.
forceUpdate
(
"1
768875352924524545"
,
"自动化标签会员勿动1"
,
"10022233333"
,
"POTENTIAL"
,
tagId2
);
JSONObject
forceUpdate
=
tagTools
.
forceUpdate
(
"1
801136353800269825"
,
"自动化标签会员勿动1"
,
nickName
,
"10022233333"
,
"POTENTIAL"
,
tagId2
);
//编辑标签
JSONObject
editTag1
=
new
JSONObject
();
...
...
@@ -93,7 +99,7 @@ public class TestEdit extends XMBaseTest {
Assert
.
assertEquals
(
1
,
total
,
"已被本场馆使用标签编辑失败"
);
//查看会员详情的标签名有没有更新
JSONObject
findDetailById
=
memberTools
.
getDetailById
(
"1
76887535292452454
5"
);
JSONObject
findDetailById
=
memberTools
.
getDetailById
(
"1
80113635380026982
5"
);
String
label
=
findDetailById
.
getJSONObject
(
"result"
).
getJSONArray
(
"tags"
).
getJSONObject
(
0
).
getString
(
"label"
);
Assert
.
assertEquals
(
label
,
"自动化编辑呀"
,
"此标签被使用的会员未同步更新标签"
);
...
...
@@ -101,14 +107,14 @@ public class TestEdit extends XMBaseTest {
@Test
(
description
=
"编辑标签--已被非本场馆会员使用-不能编辑"
)
public
void
testEdit_2
()
{
//被别的场馆使用:tagId:1
768900252624130050;memberId:1768900398913064961
-自动化标签会员勿动1
//被别的场馆使用:tagId:1
801151244447690753-自动化标签勿动;memberId:1801150921062658049
-自动化标签会员勿动1
//编辑标签
JSONObject
editTag2
=
new
JSONObject
();
editTag2
.
put
(
"bizAccountId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
editTag2
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
editTag2
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
editTag2
.
put
(
"label"
,
"自动化编辑"
+
RandomStringUtil
.
randomString
(
2
));
editTag2
.
put
(
"id"
,
"1
768900252624130050
"
);
editTag2
.
put
(
"id"
,
"1
801151244447690753
"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
editTag2
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
();
...
...
@@ -119,7 +125,7 @@ public class TestEdit extends XMBaseTest {
@Test
(
description
=
"编辑标签--编辑相同标签名失败"
)
public
void
testEdit_3
()
{
//被别的场馆使用:tagId:1
768900252624130050;memberId:1768900398913064961
-自动化标签会员勿动1
//被别的场馆使用:tagId:1
801151244447690753-自动化标签勿动;memberId:1801150921062658049
-自动化标签会员勿动1
//增加标签
JSONObject
createTag
=
tagTools
.
tagCreate
(
"自动化标签勿动3"
);
...
...
@@ -130,7 +136,7 @@ public class TestEdit extends XMBaseTest {
editTag3
.
put
(
"bizAccountId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
editTag3
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
editTag3
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
editTag3
.
put
(
"label"
,
"自动化标签勿
删
"
);
editTag3
.
put
(
"label"
,
"自动化标签勿
动
"
);
editTag3
.
put
(
"id"
,
tagId3
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
editTag3
.
toJSONString
(),
headers
).
assetsSuccess
(
false
);
...
...
src/main/java/com/xiaomai/cases/polar/setting/tag/TestFetchPage.java
View file @
fd28b21f
...
...
@@ -18,7 +18,7 @@ public class TestFetchPage extends XMBaseTest {
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Setting
)
.
setApiName
(
"API_tag_fetchPage"
)
.
setLoginUser
(
LoginAccount
.
YFF_DEV
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
...
...
@@ -35,6 +35,8 @@ public class TestFetchPage extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"needUsageInfo"
,
"true"
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
();
...
...
@@ -50,6 +52,8 @@ public class TestFetchPage extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"brandId"
,
""
);
jsonObject
.
put
(
"needUsageInfo"
,
"true"
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
false
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
xmAppApi
.
getBodyInJSON
(),
"$message"
),
"品牌id不能为空"
);
...
...
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
fd28b21f
...
...
@@ -14,6 +14,9 @@ public class ApiModule {
public
static
String
Polar_Finance
=
"polar_finance"
;
//财务中心
public
static
String
Polar_Schedule
=
"polar_schedule"
;
//课程排期
...
...
src/main/java/com/xiaomai/enums/LoginAccount.java
View file @
fd28b21f
...
...
@@ -10,7 +10,7 @@ public class LoginAccount {
public
static
String
YFF_DEV
=
"yff_dev"
;
public
static
String
ZYX_DEV
=
"zyx_dev"
;
public
static
String
ADU_PROD
=
"
adu_prod
"
;
public
static
String
ADU_PROD
=
"
gym_prod_du
"
;
public
static
String
GYM_PROD
=
"GYM_PROd"
+
""
;
...
...
src/main/java/com/xiaomai/utils/CommUtil.java
View file @
fd28b21f
package
com
.
xiaomai
.
utils
;
import
org.joda.time.DateTime
;
import
org.joda.time.LocalDate
;
import
org.testng.annotations.Test
;
import
java.beans.BeanInfo
;
import
java.beans.Introspector
;
import
java.beans.PropertyDescriptor
;
import
java.io.FileInputStream
;
import
java.lang.reflect.Method
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Properties
;
import
java.util.*
;
public
class
CommUtil
{
public
static
Date
now
=
new
Date
();
public
static
String
getCurrentTime
()
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
...
...
@@ -67,4 +71,143 @@ public class CommUtil {
}
}
/**
* 在当前时间上增加days天,days – 可以为负
*
* @param days
* @return
*/
public
static
Date
addDay
(
int
days
)
{
return
new
LocalDate
().
plusDays
(
days
).
toDate
();
}
public
static
String
getFormatTimeStr
(
Date
date
,
String
format
)
{
assert
date
!=
null
;
try
{
return
new
SimpleDateFormat
(
format
).
format
(
date
);
}
catch
(
Exception
ignored
)
{
return
""
;
}
}
/**
* 获取日期的时间戳格式
*
* @param time 制定日期时间,根据pattern格式传值
* @param pattern 时间格式 比如1>yyyy-MM-dd HH:mm:ss 2>yyyy-MM-dd 3>yyyy-MM-dd HH:mm
* @return
*/
public
static
String
getStringTimestamp
(
String
time
,
String
pattern
)
{
Date
date
=
null
;
try
{
date
=
getFormattedDate
(
time
,
pattern
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
date
.
getTime
()
+
""
;
}
/**
* 将指定格式的日期时间字符串,转换为Date
* 若 指定格式 与 日期时间字符串 不一致时,会抛出转换异常
*
* @param dateStr 日期时间字符串
* @param format 指定格式
* @return
* @throws ParseException
*/
public
static
Date
getFormattedDate
(
String
dateStr
,
String
format
)
throws
ParseException
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
format
);
return
sdf
.
parse
(
dateStr
);
}
/**
* 获取当前时间+n天的日期时间戳,一般是开始日期的时间戳 00:00:00
*
* @return
*/
public
static
String
oneKeyGetAddDay
(
int
day
)
{
Date
getAddDayData
=
addDay
(
day
);
//获取本周的第一天
String
getAddDayDataString
=
getFormatTimeStr
(
getAddDayData
,
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getAddDayDataString
,
"yyyy-MM-dd HH:mm:ss"
);
}
public
static
Date
getStartOfDateWeek
(
Date
date
)
{
return
new
DateTime
(
date
).
withDayOfWeek
(
1
).
withTimeAtStartOfDay
().
toDate
();
}
/**
* 获取本周第一天
*
* @return
*/
public
static
String
oneKeyGetWeekStartDay
()
{
Date
getWeekStartDayData
=
getStartOfDateWeek
(
now
);
//获取本周的第一天
String
getWeekStartDay
=
getFormatTimeStr
(
getWeekStartDayData
,
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getWeekStartDay
,
"yyyy-MM-dd HH:mm:ss"
);
}
public
static
Date
getEndOfDateWeek
(
Date
date
)
{
return
new
DateTime
(
date
).
withDayOfWeek
(
7
).
withTime
(
23
,
59
,
59
,
0
).
toDate
();
}
/**
* 获取本周最后一天
*
* @return
*/
public
static
String
oneKeyGetWeekEndDay
()
{
Date
getWeekEndDayData
=
getEndOfDateWeek
(
now
);
//获取本周的最后一天
String
getWeekEndDay
=
getFormatTimeStr
(
getWeekEndDayData
,
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getWeekEndDay
,
"yyyy-MM-dd HH:mm:ss"
);
}
public
static
Date
getEndOfDay
(
Date
date
)
{
assert
date
!=
null
;
return
new
DateTime
(
date
).
withTime
(
23
,
59
,
59
,
999
).
toDate
();
}
/**
* 设定时间+N天
*
* @param date 设置的时间 Date now=new Date();
* @param n 天
* @return
*/
public
static
Date
addNDays
(
Date
date
,
int
n
)
{
Calendar
now
=
Calendar
.
getInstance
();
now
.
setTime
(
date
);
now
.
add
(
Calendar
.
DAY_OF_MONTH
,
n
);
return
now
.
getTime
();
}
/**
* 当前时间+n天结束日期时间戳 23:59:59
* @param n
* @return
*/
public
static
String
getNDayEndTimeTamp
(
int
n
){
Date
now
=
new
Date
();
Date
totalDate
=
addNDays
(
now
,
n
);
String
getNDayEndTime
=
getFormatTimeStr
(
getEndOfDay
(
totalDate
),
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getNDayEndTime
,
"yyyy-MM-dd HH:mm:ss"
);
}
//@Test
public
void
test
()
{
//当天时间戳格式:2024-6-12 00:00:00点
System
.
out
.
println
(
"当前时间时间戳"
+
oneKeyGetAddDay
(
0
));
System
.
out
.
println
(
"****"
+
getNDayEndTimeTamp
(
0
));
}
}
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