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
d950a270
Commit
d950a270
authored
Jun 23, 2024
by
xuyamei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加预约、取消预约
parent
d06c7d95
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
721 additions
and
14 deletions
+721
-14
src/main/java/com/xiaomai/cases/polar/course/CourseTools.java
+1
-1
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
+50
-2
src/main/java/com/xiaomai/cases/polar/reserve/ReserveTools.java
+222
-0
src/main/java/com/xiaomai/cases/polar/reserve/TestAddMemberReserve.java
+345
-0
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
+93
-4
src/main/java/com/xiaomai/cases/polar/schedule/group/TestCreateGroupRuleSchedule.java
+2
-2
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
+2
-2
src/main/java/com/xiaomai/enums/ApiModule.java
+3
-0
src/main/java/com/xiaomai/enums/LoginAccount.java
+2
-2
src/main/java/com/xiaomai/utils/CommonLogin.java
+1
-1
No files found.
src/main/java/com/xiaomai/cases/polar/course/CourseTools.java
View file @
d950a270
...
...
@@ -20,7 +20,7 @@ import org.springframework.stereotype.Component;
public
class
CourseTools
extends
XMBaseTest
{
/**
* @description:创建课程
* @description:创建
私教
课程
* @author: xuyamei
* @date: 2024/5/6 10:53
* @param courseName:课程名称
...
...
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
View file @
d950a270
...
...
@@ -37,7 +37,7 @@ public class CardTools extends XMBaseTest {
JSONObject
Object
=
new
JSONObject
();
Object
.
put
(
"identifier"
,
xmAppApi
.
getLoginInfo
().
getUser
());
Object
.
put
(
"benefitType"
,
"BALANCE"
);
Object
.
put
(
"targetScope"
,
"GROUP_CLASS_COURSE"
);
Object
.
put
(
"targetScope"
,
"GROUP_CLASS_
AND_PERSONAL_
COURSE"
);
Object
.
put
(
"balance"
,
"30"
);
Object
.
put
(
"reserveLimitType"
,
"UN_LIMIT"
);
Object
.
put
(
"reserveLimitNumber"
,
0
);
...
...
@@ -102,6 +102,26 @@ public JSONObject fetchPageOfMemberCard(DataUserInfo...dataUserInfos) {
return
response
;
}
public
JSONObject
fetchPageOfMemberCard
(
String
courseId
,
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
(
"courseId"
,
courseId
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
.
getJSONObject
(
"result"
);
}
/**
* @param
* @description:会员卡搜索
...
...
@@ -224,10 +244,38 @@ public JSONObject membercardsearch( DataUserInfo...dataUserInfos) {
}
/**
* @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"
);
}
...
...
src/main/java/com/xiaomai/cases/polar/reserve/ReserveTools.java
0 → 100644
View file @
d950a270
package
com
.
xiaomai
.
cases
.
polar
.
reserve
;
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
org.springframework.stereotype.Component
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.reserve
* @Author: xuyamei
* @CreateTime: 2024-06-12 08:36
* @Description: 预约工具类
* @Version: 1.0
*/
@Component
(
"reserveTools"
)
public
class
ReserveTools
extends
XMBaseTest
{
/**
* @description: 添加预约
* @author: xuyamei
* @date: 2024/6/12 09:36
* @param areaId 场地
* @param assistantCoachId 助教id
* @param benefitId 会员卡权益id
* @param chiefCoachId 主教id
* @param memberId 会员id
* @param reserveMemberNum 预约人数
* @param scheduleId 课次id
* @param scheduleStartTime 上课时间
* @param dataUserInfos 登录用户信息
* @return: java.lang.String 预约id
**/
public
String
addReserve
(
String
areaId
,
String
assistantCoachId
,
String
benefitId
,
String
chiefCoachId
,
String
memberId
,
int
reserveMemberNum
,
String
scheduleId
,
long
scheduleStartTime
,
boolean
success
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Reserve
)
.
setApiName
(
"API_addReserve"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
JSONArray
areaIds
=
new
JSONArray
();
// 场地,私教约课会用到
if
(!
areaId
.
equals
(
""
)){
areaIds
.
add
(
areaId
);
}
body
.
put
(
"areaIds"
,
areaIds
);
JSONArray
coachIds
=
new
JSONArray
();
// 助教Ids
if
(!
assistantCoachId
.
equals
(
""
)){
coachIds
.
add
(
assistantCoachId
);
}
body
.
put
(
"assistantCoachIds"
,
coachIds
);
body
.
put
(
"benefitId"
,
benefitId
);
//会员卡权益Id
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"chiefCoachId"
,
chiefCoachId
);
// 主教id
body
.
put
(
"memberId"
,
memberId
);
// 会员id
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
// 操作人id
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"planCheckBalance"
,
1
);
// 计划扣除额度
body
.
put
(
"reserveMemberNum"
,
reserveMemberNum
);
// 预约人数
body
.
put
(
"scheduleId"
,
scheduleId
);
// 课次id
body
.
put
(
"scheduleStartTime"
,
scheduleStartTime
);
// 课次id
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
success
);
if
(
success
){
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"reserveId"
);
}
return
dataApi
.
getBodyInJSON
().
toString
();
}
/**
* @description:获取会员预约记录列表
* @author: xuyamei
* @date: 2024/6/12 15:26
* @param courseId 课程id
* @param reserveStateSet 预约状态
* @param signState 签到状态
* @param coachId 教练id
* @param scheduleStartTime 上课开始时间
* @param scheduleEndDate 上课结束时间
* @param memberId 会员id
* @param courseType 课程类型 GROUP_CLASS:团课
* @param dataUserInfos
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONArray
getPageByMember
(
String
courseId
,
String
reserveStateSet
,
String
signState
,
String
coachId
,
Long
scheduleStartTime
,
long
scheduleEndDate
,
String
memberId
,
String
courseType
,
DataUserInfo
...
dataUserInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Reserve
)
.
setApiName
(
"API_memberReserve_getPageByMember"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
20
);
if
(!
courseId
.
equals
(
""
)){
body
.
put
(
"courseId"
,
courseId
);
}
if
(!
reserveStateSet
.
equals
(
""
)){
JSONArray
reserveState
=
new
JSONArray
();
reserveState
.
add
(
reserveStateSet
);
body
.
put
(
"reserveStateSet"
,
reserveState
);
}
if
(!
signState
.
equals
(
""
)){
body
.
put
(
"signInState"
,
signState
);
}
if
(!
coachId
.
equals
(
""
)){
body
.
put
(
"coachId"
,
coachId
);
}
if
(
scheduleStartTime
!=
null
){
body
.
put
(
"scheduleStartTime"
,
scheduleStartTime
);
body
.
put
(
"scheduleEndDate"
,
scheduleEndDate
);
}
if
(!
memberId
.
equals
(
""
)){
body
.
put
(
"memberId"
,
memberId
);
}
body
.
put
(
"courseType"
,
courseType
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
// 操作人id
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
}
/**
* @description:预约记录列表
* @author: xuyamei
* @date: 2024/6/13 11:42
* @param courseId 课程id
* @param reserveState 预约状态
* @param signState 签到状态
* @param coachId 教练id
* @param scheduleStartTime 上课开始时间
* @param scheduleEndDate 上课结束时间
* @param memberId 会员id
* @param courseType 课程类型 GROUP_CLASS:团课
* @param dataUserInfos
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
getPageByStudio
(
String
courseId
,
String
reserveState
,
String
signState
,
String
coachId
,
Long
scheduleStartTime
,
Long
scheduleEndDate
,
String
memberId
,
String
courseType
,
DataUserInfo
...
dataUserInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Reserve
)
.
setApiName
(
"API_memberReserve_getPageByStudio"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
20
);
if
(!
courseId
.
equals
(
""
)){
body
.
put
(
"courseId"
,
courseId
);
}
if
(!
reserveState
.
equals
(
""
)){
body
.
put
(
"reserveState"
,
reserveState
);
}
if
(!
signState
.
equals
(
""
)){
body
.
put
(
"signInState"
,
signState
);
}
if
(!
coachId
.
equals
(
""
)){
body
.
put
(
"coachId"
,
coachId
);
}
if
(
scheduleStartTime
!=
null
){
body
.
put
(
"scheduleStartTime"
,
scheduleStartTime
);
body
.
put
(
"scheduleEndDate"
,
scheduleEndDate
);
}
if
(!
memberId
.
equals
(
""
)){
body
.
put
(
"memberId"
,
memberId
);
}
body
.
put
(
"courseType"
,
courseType
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
// 操作人id
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
}
/**
* @description:根据id获取预约记录信息
* @author: xuyamei
* @date: 2024/6/13 11:51
* @param reserveId: 预约id
* @return:
**/
public
JSONObject
getDetailById
(
String
reserveId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Reserve
)
.
setApiName
(
"API_memberReserve_getDetailById"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"reserveId"
,
reserveId
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
// 操作人id
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
public
void
cancelMemberReserve
(
String
reserveId
,
boolean
success
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Reserve
)
.
setApiName
(
"API_memberReserve_cancel"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
JSONArray
reserveIds
=
new
JSONArray
();
reserveIds
.
add
(
reserveId
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"reserveIds"
,
reserveIds
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
// 操作人id
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
success
);
}
}
src/main/java/com/xiaomai/cases/polar/reserve/TestAddMemberReserve.java
0 → 100644
View file @
d950a270
package
com
.
xiaomai
.
cases
.
polar
.
reserve
;
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.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.member.Tools
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
import
com.xiaomai.cases.polar.schedule.group.GroupScheduleTools
;
import
com.xiaomai.cases.polar.setting.courseCategory.CourseCategoryTools
;
import
com.xiaomai.cases.polar.setting.rules.RuleTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.CommUtil
;
import
com.xiaomai.utils.TimeUtils
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.springframework.core.annotation.Order
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.DataProvider
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Random
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.reserve
* @Author: xuyamei
* @CreateTime: 2024-06-11 18:25
* @Description: 添加预约\取消预约
* @Version: 1.0
*/
public
class
TestAddMemberReserve
extends
BaseTestImpl
{
@Resource
(
name
=
"courseCategoryTools"
)
CourseCategoryTools
courseCategoryTools
;
@Resource
(
name
=
"courseTools"
)
CourseTools
courseTools
;
@Resource
(
name
=
"reserveTools"
)
ReserveTools
reserveTools
;
@Resource
(
name
=
"groupScheduleTools"
)
GroupScheduleTools
groupScheduleTools
;
@Resource
(
name
=
"ruleTools"
)
RuleTools
ruleTools
;
OrderTools
orderTools
=
new
OrderTools
();
CardTools
cardTools
=
new
CardTools
();
Tools
tools
=
new
Tools
();
String
todayStartTimeTamp
=
CommUtil
.
oneKeyGetAddDay
(
0
);
//获取今天结束日期的时间戳
String
todayEndDateTimeTamp
=
CommUtil
.
getNDayEndTimeTamp
(
0
);
private
String
ruldId
;
private
String
benefitId
;
private
String
memberId
;
private
String
scheduleId
;
private
Long
startTime
;
private
String
courseId
;
private
String
reserveId
;
@BeforeClass
public
void
beforeTest
(){
// todo 提交代码时要将测试账号改为正式账号
setTestInfo
(
ApiModule
.
Polar_Reserve
,
"API_addReserve"
,
LoginAccount
.
XYM_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testAddMemberReserve
(){
// 查询存量的约课课程
// 查询存量的课程分类
String
categoryId
=
courseCategoryTools
.
getCourseCategoryPage
(
"瑜伽"
);
courseId
=
courseTools
.
getPersonalOrGroupCourseId
(
"GROUP"
,
"空中瑜伽团课课程"
,
categoryId
,
"STUDIO"
,
""
,
2
,
1
).
getString
(
0
);
// 创建排课
int
[]
minuteOffset
=
{
60
,
120
,
180
,
240
,
300
,
360
,
420
,
480
,
540
,
600
,
660
,
720
,
780
,
840
,
900
,
960
,
1020
,
1080
,
1140
,
1200
,
1260
};
Random
random
=
new
Random
();
//1.1-创建排课日程
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
todayStartTimeTamp
,
todayEndDateTimeTamp
,
new
ArrayList
(),
new
ArrayList
(),
false
,
1
,
minuteOffset
[
random
.
nextInt
(
20
)]);
//1.2-查询排课日程
JSONArray
getGroupRuleScheduleList
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
//统计查询到的目标日程数量
ruldId
=
XMJSONPath
.
readPath
(
getGroupRuleScheduleList
.
getJSONObject
(
0
),
"$.ruleId"
);
Long
scheduleStartTime
=
TimeUtils
.
getTodayTime
();
Long
scheduleEndTime
=
TimeUtils
.
getTodayEndTime
();
try
{
Thread
.
sleep
(
2500
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 查询课次id
JSONArray
getGroupScheduleTable
=
groupScheduleTools
.
getGroupScheduleTable
(
scheduleStartTime
,
scheduleEndTime
);
for
(
int
i
=
0
;
i
<
getGroupScheduleTable
.
size
();
i
++){
if
(
getGroupScheduleTable
.
getJSONObject
(
i
).
getString
(
"ruleId"
).
equals
(
ruldId
)){
scheduleId
=
getGroupScheduleTable
.
getJSONObject
(
i
).
getString
(
"scheduleId"
);
break
;
}
}
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 查询存量的学员没有则创建学员,// todo 先手动新建
if
(
tools
.
commonSearch
(
"约课学员sandy"
,
"NORMAL"
).
getJSONArray
(
"result"
).
size
()>
0
){
memberId
=
tools
.
commonSearch
(
"约课学员sandy"
,
"NORMAL"
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
else
if
(
tools
.
commonSearch
(
"约课学员sandy"
,
"HISTORY"
).
getJSONArray
(
"result"
).
size
()>
0
){
memberId
=
tools
.
commonSearch
(
"约课学员sandy"
,
"HISTORY"
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
// 查询是否有可用的会员卡,没有则购买
JSONArray
listUserReservableBenefit
=
cardTools
.
listUserReservableBenefit
(
courseId
,
"GROUP_CLASS"
,
"MEMBER"
,
memberId
,
TimeUtils
.
getTodayTime
());
if
(
listUserReservableBenefit
.
size
()
==
0
)
{
// 购买适用的会员卡
signOrder
(
courseId
,
memberId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
listUserReservableBenefit
=
cardTools
.
listUserReservableBenefit
(
courseId
,
"GROUP_CLASS"
,
"MEMBER"
,
memberId
,
TimeUtils
.
getTodayTime
());
}
// 查询权益
benefitId
=
listUserReservableBenefit
.
getJSONObject
(
0
).
getString
(
"benefitId"
);
// 查询课次详情 查课次的开始时间
JSONObject
getScheduleItemDetail
=
groupScheduleTools
.
getScheduleItemDetail
(
scheduleId
);
startTime
=
getScheduleItemDetail
.
getLongValue
(
"startTime"
);
// 预约
reserveId
=
reserveTools
.
addReserve
(
""
,
""
,
benefitId
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
memberId
,
1
,
scheduleId
,
startTime
,
true
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// check 1:课次学员是否包含该会员
getScheduleItemDetail
=
groupScheduleTools
.
getScheduleItemDetail
(
scheduleId
);
JSONArray
reserveIds
=
getScheduleItemDetail
.
getJSONArray
(
"reserveIds"
);
boolean
success
=
false
;
for
(
int
i
=
0
;
i
<
reserveIds
.
size
();
i
++){
if
(
reserveIds
.
getString
(
i
).
equals
(
reserveId
)){
success
=
true
;
}
}
Assert
.
assertTrue
(
success
,
"约课后课次详情学员不在课次中"
);
// check 2: 预约记录是否包含该预约
// check 2.1 学员详情预约记录
JSONArray
getPageByMember
=
reserveTools
.
getPageByMember
(
courseId
,
"SUCCESS"
,
""
,
""
,
startTime
,
scheduleEndTime
,
memberId
,
"GROUP_CLASS"
);
String
[]
result
=
new
String
[]
{
"id"
,
"benefitId"
,
"reserveMemberNum"
,
"courseId"
,
"courseType"
,
"scheduleStartTime"
,
"reserveState"
,
"scheduleId"
};
String
[]
resultData
=
new
String
[]
{
reserveId
,
benefitId
,
"1"
,
courseId
,
"GROUP_CLASS"
,
startTime
+
""
,
"SUCCESS"
,
scheduleId
};
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByMember
.
size
();
i
++){
if
(
getPageByMember
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getPageByMember
.
getJSONObject
(
i
).
getString
(
result
[
j
]),
resultData
[
j
],
"约课产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
}
}
Assert
.
assertTrue
(
success
,
"约课后在会员详情页面未查询到相关信息"
);
// check 2.2 预约记录列表
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
courseId
,
"SUCCESS"
,
""
,
""
,
startTime
,
scheduleEndTime
,
memberId
,
"GROUP_CLASS"
);
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
result
[
j
]),
resultData
[
j
],
"约课产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
}
}
Assert
.
assertTrue
(
success
,
"约课后在约课记录没有查询到相关信息"
);
// check 2.3 预约记录详情
JSONObject
getDetailById
=
reserveTools
.
getDetailById
(
reserveId
);
for
(
int
j
=
0
;
j
<
result
.
length
;
j
++){
Assert
.
assertEquals
(
getDetailById
.
getString
(
result
[
j
]),
resultData
[
j
],
"约课产生的数据与实际数据不符合"
+
result
[
j
]+
":"
+
resultData
[
j
]);
}
Assert
.
assertEquals
(
getDetailById
.
getString
(
"memberId"
),
memberId
,
"查询的约课数据不是同一个会员"
);
// check 4: 会员卡消耗记录中包含该记录锁定
}
// todo 补充修改会员卡有效期然后继续预约
@Test
(
priority
=
1
,
description
=
"学员已经在课次中,无需重复添加"
)
public
void
testAddMemberReserve2
(){
reserveTools
.
addReserve
(
""
,
""
,
benefitId
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
memberId
,
1
,
scheduleId
,
startTime
,
false
);
String
message
=
dataApi
.
getBodyInJSON
().
getString
(
"message"
);
Assert
.
assertEquals
(
message
,
"预约失败,无需重复添加"
);
}
@Test
(
priority
=
2
)
public
void
testAddMemberReserve3
(){
// 修改课次人数上限为1
groupScheduleTools
.
editGroupSchedule
(
scheduleId
,
startTime
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
1
,
1
);
// 修改预约规则不允许排队
JSONObject
getRules
=
ruleTools
.
getGroupBookingRules
();
// 获取场馆团课预约规则
String
id
=
getRules
.
getString
(
"id"
);
// 获取规则id
Random
random
=
new
Random
();
int
bookingSeatCount
=
random
.
nextInt
(
10
)+
1
;
// 席位
ruleTools
.
saveGroupBookingRules
(
id
,
false
,
bookingSeatCount
,
true
,
true
,
random
.
nextInt
(
30
)+
10
,
true
,
random
.
nextInt
(
1000
)+
10
,
random
.
nextInt
(
5
)+
1
,
true
,
random
.
nextInt
(
1000
)+
10
,
"hour"
,
true
,
random
.
nextInt
(
1000
)+
10
,
"hour"
);
// 新学员 购买卡
String
memberId2
=
""
;
// 查询存量的学员没有则创建学员,// todo 先手动新建
if
(
tools
.
commonSearch
(
"约课学员susan"
,
"NORMAL"
).
getJSONArray
(
"result"
).
size
()>
0
){
memberId2
=
tools
.
commonSearch
(
"约课学员susan"
,
"NORMAL"
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
else
if
(
tools
.
commonSearch
(
"约课学员susan"
,
"HISTORY"
).
getJSONArray
(
"result"
).
size
()>
0
){
memberId2
=
tools
.
commonSearch
(
"约课学员susan"
,
"HISTORY"
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
else
{
memberId2
=
tools
.
commonSearch
(
"约课学员susan"
,
"POTENTIAL"
).
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
}
// 查询是否有可用的会员卡,没有则购买
JSONArray
listUserReservableBenefit
=
cardTools
.
listUserReservableBenefit
(
courseId
,
"GROUP_CLASS"
,
"MEMBER"
,
memberId2
,
TimeUtils
.
getTodayTime
());
if
(
listUserReservableBenefit
.
size
()
==
0
)
{
// 购买适用的会员卡
signOrder
(
courseId
,
memberId2
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
listUserReservableBenefit
=
cardTools
.
listUserReservableBenefit
(
courseId
,
"GROUP_CLASS"
,
"MEMBER"
,
memberId2
,
TimeUtils
.
getTodayTime
());
}
benefitId
=
listUserReservableBenefit
.
getJSONObject
(
0
).
getString
(
"benefitId"
);
reserveTools
.
addReserve
(
""
,
""
,
benefitId
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
memberId2
,
1
,
scheduleId
,
startTime
,
true
);
String
resultCode
=
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"resultCode"
);
Assert
.
assertEquals
(
resultCode
,
"FULL_CAPACITY"
,
"课次已满员,但是返回的错误code不是FULL_CAPACITY:"
+
resultCode
);
}
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
true
,
"操作成功"
},
{
false
,
"已取消预约,无需重复取消"
}
};
}
@Test
(
dataProvider
=
"dataProvider"
,
priority
=
3
)
public
void
testCancelMemberReserve
(
boolean
success
,
String
message
){
reserveTools
.
cancelMemberReserve
(
reserveId
,
success
);
Assert
.
assertEquals
(
dataApi
.
getBodyInJSON
().
getString
(
"message"
).
contains
(
message
),
true
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
if
(
success
){
// check 1:课次学员是否包含该会员
JSONObject
getScheduleItemDetail
=
groupScheduleTools
.
getScheduleItemDetail
(
scheduleId
);
JSONArray
reserveIds
=
getScheduleItemDetail
.
getJSONArray
(
"reserveIds"
);
success
=
false
;
for
(
int
i
=
0
;
i
<
reserveIds
.
size
();
i
++){
if
(
reserveIds
.
getString
(
i
).
equals
(
reserveId
)){
success
=
true
;
}
}
Assert
.
assertFalse
(
success
,
"取消约课后课次详情学员还在课次中"
);
// check 2:会员详情 - 预约记录已取消
JSONArray
getPageByMember
=
reserveTools
.
getPageByMember
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
startTime
,
TimeUtils
.
getTodayEndTime
(),
memberId
,
"GROUP_CLASS"
);
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByMember
.
size
();
i
++){
if
(
getPageByMember
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
}
}
Assert
.
assertTrue
(
success
,
"取消约课后查询取消状态在会员详情页面未查询到相关信息"
);
// check 3:预约记录列表中已取消
JSONArray
getPageByStudio
=
reserveTools
.
getPageByStudio
(
courseId
,
"RESERVE_CANCEL"
,
""
,
""
,
startTime
,
TimeUtils
.
getTodayEndTime
(),
memberId
,
"GROUP_CLASS"
);
success
=
false
;
for
(
int
i
=
0
;
i
<
getPageByStudio
.
size
();
i
++){
if
(
getPageByStudio
.
getJSONObject
(
i
).
getString
(
"id"
).
equals
(
reserveId
)){
success
=
true
;
}
}
Assert
.
assertTrue
(
success
,
"取消约课后在约课记录查询取消状态没有查询到相关信息"
);
// todo 查询会员卡取消后释放锁定次数
}
}
@Test
(
priority
=
4
)
public
void
del
(){
// 删除排课数据
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
,
true
);
groupScheduleTools
.
delGroupScheduleItem
(
scheduleId
);
}
// 买卡
public
void
signOrder
(
String
courseId
,
String
memberId
){
// 查询存量的卡
JSONObject
fetchPageOfMemberCard
=
cardTools
.
fetchPageOfMemberCard
(
courseId
);
int
total
=
Integer
.
parseInt
(
fetchPageOfMemberCard
.
getString
(
"total"
));
String
cardId
=
""
;
int
quantity
=
0
;
float
price
=
0
;
int
validPeriod
=
0
;
if
(
total
==
0
)
{
cardId
=
cardTools
.
memberCardCreate
(
"约课使用会员卡"
+
TimeUtils
.
getCurrentTime
()).
getString
(
"result"
);
}
cardId
=
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
quantity
=
Integer
.
parseInt
(
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"balance"
));
price
=
Float
.
parseFloat
(
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"price"
));
validPeriod
=
Integer
.
parseInt
(
fetchPageOfMemberCard
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"validPeriod"
));
//获取签单要用的卡快照id
String
latestSnapshotId
=
orderTools
.
fetchDetailById
(
cardId
,
xmAppApi
.
getLoginInfo
().
getBrandId
(),
xmAppApi
.
getLoginInfo
().
getStudioId
(),
xmAppApi
.
getLoginInfo
().
getAdminId
()).
getJSONObject
(
"result"
).
getString
(
"latestSnapshotId"
);
//检查会员对该卡是否超出购买上限
boolean
limitResult
=
orderTools
.
checkAllowPurchase
(
"MEMBER_CARD"
,
cardId
,
cardId
,
"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"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
View file @
d950a270
...
...
@@ -49,7 +49,7 @@ public class GroupScheduleTools extends XMBaseTest {
* @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
)
{
public
void
createGroupRuleSchedule
(
String
courseId
,
String
chiefCoachId
,
String
startDate
,
String
endDate
,
List
<
String
>
venueAreaIds
,
List
<
String
>
assistCoachIds
,
Boolean
force
,
int
endType
,
int
minuteOffset
)
{
setUP
(
"API_createGroupRuleSchedule"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
...
...
@@ -59,7 +59,7 @@ public class GroupScheduleTools extends XMBaseTest {
body
.
put
(
"chiefCoachId"
,
chiefCoachId
);
body
.
put
(
"minMemberNum"
,
2
);
// 开课人数
body
.
put
(
"maxMemberNum"
,
999
);
//人数上限
body
.
put
(
"minuteOffset"
,
480
);
//上课开始时间
body
.
put
(
"minuteOffset"
,
minuteOffset
);
//上课开始时间
body
.
put
(
"startDate"
,
startDate
);
//排课开始日期
body
.
put
(
"endDate"
,
endDate
);
//排课结束日期
String
[]
weekDaysArray
=
{
"MONDAY"
,
"TUESDAY"
,
"WEDNESDAY"
,
"THURSDAY"
,
"FRIDAY"
,
"SATURDAY"
,
"SUNDAY"
};
...
...
@@ -133,13 +133,13 @@ public class GroupScheduleTools extends XMBaseTest {
* 删除团课排课日程
* @param ruleId
*/
public
void
delGroupRuleSchedule
(
String
ruleId
){
public
void
delGroupRuleSchedule
(
String
ruleId
,
Boolean
force
){
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"
,
f
als
e
);
body
.
put
(
"force"
,
f
orc
e
);
body
.
put
(
"ruleId"
,
ruleId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
...
...
@@ -227,10 +227,99 @@ public class GroupScheduleTools extends XMBaseTest {
}
/**
* @description:获取课次详情
* @author: xuyamei
* @date: 2024/6/23 17:45
* @param scheduleId
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
getScheduleItemDetail
(
String
scheduleId
){
setUP
(
"API_getScheduleItemDetail"
);
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"
,
scheduleId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description:查询课表
* @author: xuyamei
* @date: 2024/6/23 17:46
* @param startDate
* @param endDate
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
getGroupScheduleTable
(
Long
startDate
,
Long
endDate
){
setUP
(
"API_getGroupScheduleTable"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"startDate"
,
startDate
);
body
.
put
(
"endDate"
,
endDate
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"timetableGroups"
).
getJSONObject
(
0
).
getJSONArray
(
"timetableList"
);
}
/**
* @description:TODO
* @author: xuyamei
* @date: 2024/6/23 20:45
* @param scheduleId:课次id
* @param startTime:开始时间
* @param chiefCoachId:教练
* @param minMemberNum:开课人数
* @param maxMemberNum:最大人数上限
* @param dataUserInfos
* @return: void
**/
public
void
editGroupSchedule
(
String
scheduleId
,
Long
startTime
,
String
chiefCoachId
,
int
minMemberNum
,
int
maxMemberNum
,
DataUserInfo
...
dataUserInfos
){
setUP
(
"API_editGroupSchedule"
,
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"scheduleId"
,
scheduleId
);
body
.
put
(
"startTime"
,
startTime
);
body
.
put
(
"chiefCoachId"
,
chiefCoachId
);
body
.
put
(
"applyRestRule"
,
false
);
body
.
put
(
"minMemberNum"
,
minMemberNum
);
body
.
put
(
"maxMemberNum"
,
maxMemberNum
);
body
.
put
(
"venueAreaIds"
,
new
ArrayList
());
body
.
put
(
"assistCoachIds"
,
new
ArrayList
());
body
.
put
(
"spanMinutes"
,
60
);
body
.
put
(
"force"
,
false
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
/**
* @description:删除单个排课
* @author: xuyamei
* @date: 2024/6/23 21:12
* @param scheduleId :排课id
* @param dataUserInfos
* @return: void
**/
public
void
delGroupScheduleItem
(
String
scheduleId
,
DataUserInfo
...
dataUserInfos
){
setUP
(
"API_delGroupScheduleItem"
,
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"scheduleId"
,
scheduleId
);
body
.
put
(
"applyRestRule"
,
false
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/schedule/group/TestCreateGroupRuleSchedule.java
View file @
d950a270
...
...
@@ -75,14 +75,14 @@ public class TestCreateGroupRuleSchedule extends BaseTestImpl {
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
);
//1-创建排课日程
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
todayStartTimeTamp
,
endDateTimeTamp
,
venueAreaIds
,
assistCoachIdS
,
false
,
1
);
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
todayStartTimeTamp
,
endDateTimeTamp
,
venueAreaIds
,
assistCoachIdS
,
false
,
1
,
480
);
//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
);
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
,
true
);
JSONArray
result2
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
//删除成功后,统计查询到的目标日程数量是否-1
Assert
.
assertEquals
(
result2
.
size
(),
size
-
1
);
...
...
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
View file @
d950a270
...
...
@@ -62,7 +62,7 @@ public class TestEditGroupRuleSchedule extends BaseTestImpl {
assistCoachIds
.
add
(
"吴彦祖"
);
List
<
String
>
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
);
//1-创建排课日程
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
theDayBeforeYesterdayTimeTamp
,
endDateTimeTamp
,
new
ArrayList
<>(),
assistCoachIdS
,
false
,
1
);
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
theDayBeforeYesterdayTimeTamp
,
endDateTimeTamp
,
new
ArrayList
<>(),
assistCoachIdS
,
false
,
1
,
720
);
//2-查询排课日程
JSONArray
result
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
Assert
.
assertTrue
(
result
.
size
()
>=
1
);
...
...
@@ -98,7 +98,7 @@ public class TestEditGroupRuleSchedule extends BaseTestImpl {
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
detailResult
,
"$.result.venueAreaIds"
).
containsAll
(
venueAreaIds
),
"设置有空改为有数据后没生效"
);
//5-删除日程
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
);
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
,
true
);
...
...
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
d950a270
...
...
@@ -17,6 +17,9 @@ public class ApiModule {
public
static
String
Polar_Schedule
=
"polar_schedule"
;
//课程排期
public
static
String
Polar_Reserve
=
"polar_reserve"
;
//预约
...
...
src/main/java/com/xiaomai/enums/LoginAccount.java
View file @
d950a270
...
...
@@ -11,8 +11,8 @@ public class LoginAccount {
public
static
String
ZYX_DEV
=
"zyx_dev"
;
public
static
String
ADU_PROD
=
"gym_prod_du"
;
public
static
String
GYM_PROD
=
"
GYM_PROd"
+
"
"
;
public
static
String
GYM_PROD
=
"
gym_prod"
;
public
static
String
XYM_PROD
=
"xym_prod
"
;
}
src/main/java/com/xiaomai/utils/CommonLogin.java
View file @
d950a270
...
...
@@ -62,7 +62,7 @@ public class CommonLogin {
String
brandId
=
userInfo
.
getBrandId
();
String
studioId
=
userInfo
.
getStudioId
();
String
user
=
userInfo
.
getUser
();
url
=
host
+
"/polar/anon/login/loginAdmin?
sfl=0.0&sft=20.0&version=1.0&sfr=0.0&build=1&platform=iOS&sfb
=0.0"
;
url
=
host
+
"/polar/anon/login/loginAdmin?
version=1.0&sfb=0.0&build=1&deviceType=ios&sft=20.0&sfl=0.0&sfr
=0.0"
;
// B端登录URL
logger
.
info
(
"B端登录URL==>>"
+
url
);
String
data
=
"{\"accountNo\":\""
+
accountNo
+
"\",\"certificate\":\"0000\",\"loginTerm\":\"FITNESS_ADMIN_APP\",\"loginMode\":\"PHONE_AUTH_CODE\",\"serverType\": \"B_LOGIN\"}"
;
...
...
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