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
ddbf6db4
Commit
ddbf6db4
authored
Jul 02, 2024
by
DuJunLi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加删除课次和编辑课次的case
parent
a481c5ad
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
593 additions
and
107 deletions
+593
-107
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
+140
-105
src/main/java/com/xiaomai/cases/polar/schedule/group/TestDelGroupScheduleItem.java
+112
-0
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
+0
-2
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupSchedule.java
+189
-0
src/main/java/com/xiaomai/cases/polar/schedule/group/UniversalDataScheduling.java
+65
-0
src/main/java/com/xiaomai/utils/CommUtil.java
+87
-0
No files found.
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
View file @
ddbf6db4
...
@@ -17,6 +17,7 @@ import javax.annotation.Resource;
...
@@ -17,6 +17,7 @@ import javax.annotation.Resource;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -37,7 +38,7 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -37,7 +38,7 @@ public class GroupScheduleTools extends XMBaseTest {
super
.
beforeDataRequest
(
userInfo
);
super
.
beforeDataRequest
(
userInfo
);
}
}
/**
/**
* 创建团课排课
* 创建团课排课
*
*
* @param courseId 团课课程ID
* @param courseId 团课课程ID
...
@@ -49,7 +50,7 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -49,7 +50,7 @@ public class GroupScheduleTools extends XMBaseTest {
* @param force 是否冲突 false有2种场景:1无冲突时直接传false排课创建成功,2是有冲突时传false代表不忽略冲突,不会创建排课;true是指有冲突时忽略冲突,选择仍要排课【没冲突时就传false,有冲突就传true,如果排课时有冲突但是传了false不会创建排课哈】
* @param force 是否冲突 false有2种场景:1无冲突时直接传false排课创建成功,2是有冲突时传false代表不忽略冲突,不会创建排课;true是指有冲突时忽略冲突,选择仍要排课【没冲突时就传false,有冲突就传true,如果排课时有冲突但是传了false不会创建排课哈】
* @param endType 排课结束方式:1 按日期,2 按次数
* @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
,
int
minuteOffset
,
DataUserInfo
...
userInfo
)
{
public
void
createGroupRuleSchedule
(
String
courseId
,
String
chiefCoachId
,
String
startDate
,
String
endDate
,
List
<
String
>
venueAreaIds
,
List
<
String
>
assistCoachIds
,
Boolean
force
,
int
endType
,
int
minuteOffset
,
DataUserInfo
...
userInfo
)
{
setUP
(
"API_createGroupRuleSchedule"
,
userInfo
);
setUP
(
"API_createGroupRuleSchedule"
,
userInfo
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
...
@@ -73,114 +74,117 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -73,114 +74,117 @@ public class GroupScheduleTools extends XMBaseTest {
body
.
put
(
"endDate"
,
CommUtil
.
getNDayEndTimeTamp
(
60
));
//排课结束日期,这里就设置自动延顺60天,结束日期会覆盖你传的endDate
body
.
put
(
"endDate"
,
CommUtil
.
getNDayEndTimeTamp
(
60
));
//排课结束日期,这里就设置自动延顺60天,结束日期会覆盖你传的endDate
}
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
/**
/**
* 查看排课日程
* 查看排课日程
*
* @param courseId 可根据课程查询
* @param courseId 可根据课程查询
* @param coachId 可根据教练查询
* @param coachId
可根据教练查询
* @return
* @return
*/
*/
public
JSONArray
getGroupRuleScheduleList
(
String
courseId
,
String
coachId
,
DataUserInfo
...
userInfo
)
{
public
JSONArray
getGroupRuleScheduleList
(
String
courseId
,
String
coachId
,
DataUserInfo
...
userInfo
)
{
setUP
(
"API_getGroupRuleScheduleList"
,
userInfo
);
setUP
(
"API_getGroupRuleScheduleList"
,
userInfo
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
if
(
courseId
!=
null
&&
courseId
.
length
()!=
0
)
{
if
(
courseId
!=
null
&&
courseId
.
length
()
!=
0
)
{
body
.
put
(
"courseId"
,
courseId
);
body
.
put
(
"courseId"
,
courseId
);
}
}
if
(
coachId
!=
null
&&
coachId
.
length
()!=
0
)
{
if
(
coachId
!=
null
&&
coachId
.
length
()
!=
0
)
{
body
.
put
(
"coachId"
,
coachId
);
body
.
put
(
"coachId"
,
coachId
);
}
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
);
return
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
);
}
}
/**
/**
* 查询存量团课课程
* 查询存量团课课程
*
* @param courseName
* @param courseName
* @return
* @return
*/
*/
public
String
getStockGroupCourseId
(
String
courseName
){
public
String
getStockGroupCourseId
(
String
courseName
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Course
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_Course
)
.
setApiName
(
"API_getGroupClassPage"
)
.
setApiName
(
"API_getGroupClassPage"
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
super
.
beforeDataRequest
();
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"courseState"
,
"ON"
);
body
.
put
(
"courseState"
,
"ON"
);
body
.
put
(
"current"
,
0
);
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
50
);
body
.
put
(
"size"
,
50
);
body
.
put
(
"courseNameLike"
,
courseName
);
body
.
put
(
"courseNameLike"
,
courseName
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
if
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
length
()==
0
){
if
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
length
()
==
0
)
{
return
""
;
return
""
;
}
}
else
{
else
{
return
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].brandCourseId"
);
return
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].brandCourseId"
);
}
}
}
}
/**
/**
* 删除团课排课日程
* 删除团课排课日程
*
* @param ruleId
* @param ruleId
*/
*/
public
void
delGroupRuleSchedule
(
String
ruleId
,
Boolean
force
,
DataUserInfo
...
userInfo
)
{
public
void
delGroupRuleSchedule
(
String
ruleId
,
Boolean
force
,
DataUserInfo
...
userInfo
)
{
setUP
(
"API_delGroupRuleSchedule"
,
userInfo
);
setUP
(
"API_delGroupRuleSchedule"
,
userInfo
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"force"
,
force
);
body
.
put
(
"force"
,
force
);
body
.
put
(
"ruleId"
,
ruleId
);
body
.
put
(
"ruleId"
,
ruleId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
/**
/**
* 获取教练ID
* 获取教练ID
*
* @param nickNameList 可根据传入的昵称,获取对应的ID
* @param nickNameList 可根据传入的昵称,获取对应的ID
* @return
* @return
*/
*/
public
List
<
String
>
getStudioAdminId
(
List
<
String
>
nickNameList
)
{
public
List
<
String
>
getStudioAdminId
(
List
<
String
>
nickNameList
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_Admin
)
.
setApiName
(
"API_pageStudioAdmin"
)
.
setApiName
(
"API_pageStudioAdmin"
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
super
.
beforeDataRequest
();
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"current"
,
0
);
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
50
);
body
.
put
(
"size"
,
50
);
body
.
put
(
"state"
,
"DUTY"
);
body
.
put
(
"state"
,
"DUTY"
);
body
.
put
(
"teachingType"
,
"LEAGUE_CLASS"
);
body
.
put
(
"teachingType"
,
"LEAGUE_CLASS"
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
int
count
=
Integer
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.total"
));
int
count
=
Integer
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.total"
));
List
<
String
>
adminIds
=
new
ArrayList
<>();
List
<
String
>
adminIds
=
new
ArrayList
<>();
if
(
count
>
0
)
{
if
(
count
>
0
)
{
JSONArray
records
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
);
JSONArray
records
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
);
adminIds
=
records
.
stream
()
adminIds
=
records
.
stream
()
.
filter
(
obj
->
CollectionUtils
.
isEmpty
(
nickNameList
)
||
nickNameList
.
contains
(((
JSONObject
)
obj
).
getString
(
"nickName"
)))
//如果nickNameList为空或者包含搜索结果集中对应的昵称,就会过滤
.
filter
(
obj
->
CollectionUtils
.
isEmpty
(
nickNameList
)
||
nickNameList
.
contains
(((
JSONObject
)
obj
).
getString
(
"nickName"
)))
//如果nickNameList为空或者包含搜索结果集中对应的昵称,就会过滤
.
map
(
obj
->
{
.
map
(
obj
->
{
JSONObject
adminIdInfo
=
(
JSONObject
)
obj
;
JSONObject
adminIdInfo
=
(
JSONObject
)
obj
;
return
adminIdInfo
.
getString
(
"id"
);
return
adminIdInfo
.
getString
(
"id"
);
}
}
).
collect
(
Collectors
.
toList
());
).
collect
(
Collectors
.
toList
());
return
adminIds
;
return
adminIds
;
}
}
return
null
;
return
null
;
}
}
/**
/**
* 获取存量场地
* 获取存量场地
...
@@ -214,28 +218,29 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -214,28 +218,29 @@ public class GroupScheduleTools extends XMBaseTest {
/**
/**
* 查看团课排课日程详情
* 查看团课排课日程详情
*
* @param ruldId
* @param ruldId
*/
*/
public
void
getGroupRuleScheduleDetail
(
String
ruldId
){
public
void
getGroupRuleScheduleDetail
(
String
ruldId
)
{
setUP
(
"API_getGroupRuleScheduleDetail"
);
setUP
(
"API_getGroupRuleScheduleDetail"
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"id"
,
ruldId
);
body
.
put
(
"id"
,
ruldId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
/**
/**
* @param scheduleId
* @description:获取课次详情
* @description:获取课次详情
* @author: xuyamei
* @author: xuyamei
* @date: 2024/6/23 17:45
* @date: 2024/6/23 17:45
* @param scheduleId
* @return: com.alibaba.fastjson.JSONObject
* @return: com.alibaba.fastjson.JSONObject
**/
**/
public
JSONObject
getScheduleItemDetail
(
String
scheduleId
,
DataUserInfo
...
dataUserInfo
)
{
public
JSONObject
getScheduleItemDetail
(
String
scheduleId
,
DataUserInfo
...
dataUserInfo
)
{
setUP
(
"API_getScheduleItemDetail"
,
dataUserInfo
);
setUP
(
"API_getScheduleItemDetail"
,
dataUserInfo
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
...
@@ -248,14 +253,14 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -248,14 +253,14 @@ public class GroupScheduleTools extends XMBaseTest {
}
}
/**
/**
* @description:查询课表
* @author: xuyamei
* @date: 2024/6/23 17:46
* @param startDate
* @param startDate
* @param endDate
* @param endDate
* @description:查询课表
* @author: xuyamei
* @date: 2024/6/23 17:46
* @return: com.alibaba.fastjson.JSONArray
* @return: com.alibaba.fastjson.JSONArray
**/
**/
public
JSONArray
getGroupScheduleTable
(
Long
startDate
,
Long
endDate
)
{
public
JSONArray
getGroupScheduleTable
(
Long
startDate
,
Long
endDate
)
{
setUP
(
"API_getGroupScheduleTable"
);
setUP
(
"API_getGroupScheduleTable"
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
...
@@ -264,23 +269,28 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -264,23 +269,28 @@ public class GroupScheduleTools extends XMBaseTest {
body
.
put
(
"startDate"
,
startDate
);
body
.
put
(
"startDate"
,
startDate
);
body
.
put
(
"endDate"
,
endDate
);
body
.
put
(
"endDate"
,
endDate
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"timetableGroups"
).
getJSONObject
(
0
).
getJSONArray
(
"timetableList"
);
if
(
Integer
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.totalCount"
))
>
0
)
{
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getJSONArray
(
"timetableGroups"
).
getJSONObject
(
0
).
getJSONArray
(
"timetableList"
);
}
else
{
return
null
;
}
}
}
/**
/**
* @description:编辑课次
* @author: xuyamei
* @date: 2024/6/23 20:45
* @param scheduleId:课次id
* @param scheduleId:课次id
* @param startTime:开始时间
* @param startTime:开始时间
* @param chiefCoachId:教练
* @param chiefCoachId:教练
* @param minMemberNum:开课人数
* @param minMemberNum:开课人数
* @param maxMemberNum:最大人数上限
* @param maxMemberNum:最大人数上限
* @param dataUserInfos
* @param dataUserInfos
* @description:编辑课次
* @author: xuyamei
* @date: 2024/6/23 20:45
* @return: void
* @return: void
**/
**/
public
void
editGroupSchedule
(
String
scheduleId
,
Long
startTime
,
String
chiefCoachId
,
int
minMemberNum
,
int
maxMemberNum
,
DataUserInfo
...
dataUserInfos
)
{
public
void
editGroupSchedule
(
String
scheduleId
,
Long
startTime
,
String
chiefCoachId
,
int
minMemberNum
,
int
maxMemberNum
,
DataUserInfo
...
dataUserInfos
)
{
setUP
(
"API_editGroupSchedule"
,
dataUserInfos
);
setUP
(
"API_editGroupSchedule"
,
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
...
@@ -301,15 +311,15 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -301,15 +311,15 @@ public class GroupScheduleTools extends XMBaseTest {
/**
/**
* @param scheduleId :排课id
* @param dataUserInfos
* @description:删除单个排课
* @description:删除单个排课
* @author: xuyamei
* @author: xuyamei
* @date: 2024/6/23 21:12
* @date: 2024/6/23 21:12
* @param scheduleId :排课id
* @param dataUserInfos
* @return: void
* @return: void
**/
**/
public
void
delGroupScheduleItem
(
String
scheduleId
,
DataUserInfo
...
dataUserInfos
)
{
public
void
delGroupScheduleItem
(
String
scheduleId
,
DataUserInfo
...
dataUserInfos
)
{
setUP
(
"API_delGroupScheduleItem"
,
dataUserInfos
);
setUP
(
"API_delGroupScheduleItem"
,
dataUserInfos
);
JSONObject
body
=
new
JSONObject
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
...
@@ -321,6 +331,31 @@ public class GroupScheduleTools extends XMBaseTest {
...
@@ -321,6 +331,31 @@ public class GroupScheduleTools extends XMBaseTest {
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
/**
* 获取指定下周某一天的课次ID
* @param n
* @return
*/
public
Set
<
String
>
getTableDate
(
int
n
)
{
//查看团课课表
getGroupScheduleTable
(
Long
.
valueOf
(
CommUtil
.
oneKeyGetNextWeekStartDay
()),
Long
.
valueOf
(
CommUtil
.
oneKeyGetNextWeekEndDay
()));
//删除下周周三及后续的课次
String
date
=
CommUtil
.
oneKeyGetNextWeekXDay
(
n
);
//下周N 日期时间戳
int
count
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.timetableGroups"
).
size
();
if
(
count
>
0
)
{
JSONArray
array
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.timetableGroups"
);
Set
<
String
>
scheduleIds
=
array
.
toJavaList
(
JSONObject
.
class
).
stream
()
.
filter
(
e
->
e
.
getString
(
"date"
).
equals
(
date
))
//过滤出日期等于下周N的数据
.
flatMap
(
e
->
e
.
getJSONArray
(
"timetableList"
).
toJavaList
(
JSONObject
.
class
).
stream
())
//对过滤出的数据再次取目标数据重新组合成一个新的数据流
.
map
(
e
->
e
.
getString
(
"scheduleId"
))
//获取scheduleId
.
collect
(
Collectors
.
toSet
());
return
scheduleIds
;
}
return
null
;
}
}
}
...
...
src/main/java/com/xiaomai/cases/polar/schedule/group/TestDelGroupScheduleItem.java
0 → 100644
View file @
ddbf6db4
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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.AfterClass
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* 删除课次(删除当前课次/删除当前及后续课次)
*
* @author adu
* data 2024/6/30 17:02
*/
public
class
TestDelGroupScheduleItem
extends
UniversalDataScheduling
{
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Schedule
,
"API_delGroupScheduleItem"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
}
@Test
(
description
=
"删除当前课次"
)
public
void
testDelCurrentSchedule
()
{
//获取下周四的课次ID
Set
<
String
>
scheduleIds
=
groupScheduleTools
.
getTableDate
(
10
);
//如果课次ID有值则继续走删除的case
if
(!
scheduleIds
.
isEmpty
())
{
scheduleIds
.
stream
().
forEach
(
scheduleId
->
{
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"applyRestRule"
,
false
);
body
.
put
(
"scheduleId"
,
scheduleId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
});
//删除成功后check 下周四课表是否有数据
groupScheduleTools
.
getGroupScheduleTable
(
Long
.
valueOf
(
CommUtil
.
oneKeyGetNextWeekXDay
(
10
)),
Long
.
valueOf
(
CommUtil
.
oneKeyGetNextWeekEndXDay
(
4
)));
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.totalCount"
),
"0"
);
}
}
@Test
(
description
=
"删除当前及后续课次"
,
priority
=
1
)
public
void
testDelCurrentAndSubsequentSchedule
()
{
//获取下周三的课次ID
Set
<
String
>
scheduleIds
=
groupScheduleTools
.
getTableDate
(
9
);
//如果课次ID有值则继续走删除的case
if
(!
scheduleIds
.
isEmpty
())
{
scheduleIds
.
stream
().
forEach
(
scheduleId
->
{
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"applyRestRule"
,
true
);
body
.
put
(
"scheduleId"
,
scheduleId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
});
//删除成功后check 从下周三到下周日课表是否有数据
groupScheduleTools
.
getGroupScheduleTable
(
Long
.
valueOf
(
CommUtil
.
oneKeyGetNextWeekXDay
(
9
)),
Long
.
valueOf
(
CommUtil
.
oneKeyGetNextWeekEndDay
()));
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.totalCount"
),
"0"
);
}
}
@AfterClass
(
description
=
"删除此case创建的日程"
)
public
void
delData
(){
List
<
String
>
ruleIdIds
=
new
ArrayList
<>();
//查询这个case创建的相关日程
JSONArray
result
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
int
count
=
result
.
size
();
if
(
count
>
0
)
{
//如果有数据,则获取对应日程ID
ruleIdIds
=
result
.
stream
().
map
(
obj
->
{
JSONObject
ruldIdInfo
=
(
JSONObject
)
obj
;
return
ruldIdInfo
.
getString
(
"ruleId"
);
}
).
collect
(
Collectors
.
toList
());
}
if
(
ruleIdIds
!=
null
)
{
//获取到的日程ID不为空时,则逐个删除相关日程
ruleIdIds
.
stream
().
forEach
(
ruleId
->
{
//删除对应日程
groupScheduleTools
.
delGroupRuleSchedule
(
ruleId
,
true
);
});
}
}
}
\ No newline at end of file
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupRuleSchedule.java
View file @
ddbf6db4
...
@@ -101,8 +101,6 @@ public class TestEditGroupRuleSchedule extends BaseTestImpl {
...
@@ -101,8 +101,6 @@ public class TestEditGroupRuleSchedule extends BaseTestImpl {
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
,
true
);
groupScheduleTools
.
delGroupRuleSchedule
(
ruldId
,
true
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/schedule/group/TestEditGroupSchedule.java
0 → 100644
View file @
ddbf6db4
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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.AfterClass
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* 编辑当前课次/编辑当前及后续课次
* @author adu
* data 2024/7/2 10:45
*/
public
class
TestEditGroupSchedule
extends
UniversalDataScheduling
{
public
static
Date
now
=
new
Date
();
Set
<
String
>
scheduleIdsN
;
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Schedule
,
"API_editGroupSchedule"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
}
@Test
(
description
=
"编辑当前课次"
)
public
void
testEditCurrentSchedule
()
{
//获取下周四的课次ID
scheduleIdsN
=
groupScheduleTools
.
getTableDate
(
10
);
//如果课次ID有值则继续走删除的case
if
(!
scheduleIdsN
.
isEmpty
())
{
scheduleIdsN
.
stream
().
forEach
(
scheduleId
->
{
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"applyRestRule"
,
false
);
body
.
put
(
"scheduleId"
,
scheduleId
);
//获取下周四某个时间点的开始时间戳
Date
getWeekStartDayData
=
CommUtil
.
getStartOfDateWeek
(
now
);
//获取本周的第一天
Date
getNextWeekXDayData
=
CommUtil
.
addNDays
(
getWeekStartDayData
,
10
);
String
getNextWeekXDayDataS
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
getNextWeekXDayData
.
getTime
());
String
startStamp
=
CommUtil
.
getStringTimestampByStrTime
(
getNextWeekXDayDataS
+
" "
+
"13:30"
);
body
.
put
(
"startTime"
,
startStamp
);
body
.
put
(
"chiefCoachId"
,
chiefCoachIdS
);
body
.
put
(
"minMemberNum"
,
1
);
body
.
put
(
"maxMemberNum"
,
10
);
body
.
put
(
"venueAreaIds"
,
new
ArrayList
<>());
body
.
put
(
"assistCoachIds"
,
new
ArrayList
<>());
body
.
put
(
"spanMinutes"
,
50
);
body
.
put
(
"force"
,
true
);
//有冲突时忽略冲突
body
.
put
(
"retainBooking"
,
false
);
//不保留学员预约
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//编辑成功后check对应课次详情修改内容是否同步成功
groupScheduleTools
.
getScheduleItemDetail
(
scheduleId
);
String
detailResult
=
dataApi
.
getApi_response
();
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.chiefCoachId"
),
chiefCoachIdS
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.minMemberNum"
),
"1"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.maxMemberNum"
),
"10"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.startTime"
),
startStamp
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
detailResult
,
"$.result.assistCoachIds"
).
size
()==
0
,
"助教修改后(置空)没生效"
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
detailResult
,
"$.result.venueAreaIds"
).
size
()==
0
,
"场地修改后(置空)没生效"
);
});
}
}
@Test
(
description
=
"编辑当前及后续课次"
,
priority
=
1
)
public
void
testEditCurrentAndSubsequentSchedule
()
{
//获取下周二的课次ID
Set
<
String
>
scheduleIds
=
groupScheduleTools
.
getTableDate
(
8
);
//如果课次ID有值则继续走编辑的case
if
(!
scheduleIds
.
isEmpty
())
{
scheduleIds
.
stream
().
forEach
(
scheduleId
->
{
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"applyRestRule"
,
true
);
//改的时日程当前及后续
body
.
put
(
"scheduleId"
,
scheduleId
);
//获取下周二某个时间点的开始时间戳
Date
getWeekStartDayData
=
CommUtil
.
getStartOfDateWeek
(
now
);
Date
getNextWeekXDayData
=
CommUtil
.
addNDays
(
getWeekStartDayData
,
8
);
String
getNextWeekXDayDataS
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
getNextWeekXDayData
.
getTime
());
String
startStamp
=
CommUtil
.
getStringTimestampByStrTime
(
getNextWeekXDayDataS
+
" "
+
"13:00"
);
//和创建时间一致,不修改时间
body
.
put
(
"startTime"
,
startStamp
);
body
.
put
(
"chiefCoachId"
,
chiefCoachIdS
);
body
.
put
(
"minMemberNum"
,
6
);
//修改开课人数
body
.
put
(
"maxMemberNum"
,
999
);
body
.
put
(
"venueAreaIds"
,
venueAreaIds
);
body
.
put
(
"assistCoachIds"
,
new
ArrayList
<>());
//修改教练
body
.
put
(
"spanMinutes"
,
50
);
body
.
put
(
"force"
,
true
);
//有冲突时忽略冲突
//body.put("retainBooking", true);//保留学员预约,无改动到时间,教练,场地则不需要传此字段
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//编辑成功后check对应课次详情修改内容是否同步成功
groupScheduleTools
.
getScheduleItemDetail
(
scheduleId
);
String
detailResult
=
dataApi
.
getApi_response
();
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.chiefCoachId"
),
chiefCoachIdS
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.minMemberNum"
),
"6"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.maxMemberNum"
),
"999"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
detailResult
,
"$.result.startTime"
),
startStamp
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
detailResult
,
"$.result.assistCoachIds"
).
size
()==
0
,
"助教修改后(置空)没生效"
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
detailResult
,
"$.result.venueAreaIds"
).
containsAll
(
venueAreaIds
),
"场地无修改,但是却变动了"
);
//查看下周三课次是否同步被修改
Set
<
String
>
scheduleIdX
=
groupScheduleTools
.
getTableDate
(
9
);
if
(!
scheduleIdX
.
isEmpty
())
{
scheduleIdX
.
stream
().
forEach
(
scheduleId1
->
{
//删除case1中编辑独立出去的课次
groupScheduleTools
.
delGroupScheduleItem
(
scheduleId1
);
});
}
});
}
}
@AfterClass
(
description
=
"删除此case创建的日程"
)
public
void
delData
(){
List
<
String
>
ruleIdIds
=
new
ArrayList
<>();
//查询这个case创建的相关日程
JSONArray
result
=
groupScheduleTools
.
getGroupRuleScheduleList
(
courseId
,
chiefCoachIdS
);
int
count
=
result
.
size
();
if
(
count
>
0
)
{
//如果有数据,则获取对应日程ID
ruleIdIds
=
result
.
stream
().
map
(
obj
->
{
JSONObject
ruldIdInfo
=
(
JSONObject
)
obj
;
return
ruldIdInfo
.
getString
(
"ruleId"
);
}
).
collect
(
Collectors
.
toList
());
}
if
(
ruleIdIds
!=
null
)
{
//获取到的日程ID不为空时,则逐个删除相关日程
ruleIdIds
.
stream
().
forEach
(
ruleId
->
{
//删除对应日程
groupScheduleTools
.
delGroupRuleSchedule
(
ruleId
,
true
);
});
}
if
(!
scheduleIdsN
.
isEmpty
())
{
scheduleIdsN
.
stream
().
forEach
(
scheduleId
->
{
//删除case1中编辑独立出去的课次
groupScheduleTools
.
delGroupScheduleItem
(
scheduleId
);
});
}
}
}
\ No newline at end of file
src/main/java/com/xiaomai/cases/polar/schedule/group/UniversalDataScheduling.java
0 → 100644
View file @
ddbf6db4
package
com
.
xiaomai
.
cases
.
polar
.
schedule
.
group
;
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
org.testng.annotations.BeforeClass
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author adu
* data 2024/7/2 10:54
*/
public
class
UniversalDataScheduling
extends
BaseTestImpl
{
@Resource
(
name
=
"courseCategoryTools"
)
CourseCategoryTools
courseCategoryTools
;
@Resource
(
name
=
"courseTools"
)
CourseTools
courseTools
;
@Resource
(
name
=
"groupScheduleTools"
)
GroupScheduleTools
groupScheduleTools
;
@Resource
(
name
=
"venueAreaTools"
)
VenueAreaTools
venueAreaTools
;
String
courseName
=
"阿杜自动化团课课程"
;
String
courseId
=
""
;
String
chiefCoachIdS
=
""
;
List
<
String
>
venueAreaIds
=
null
;
List
<
String
>
assistCoachIdS
=
null
;
@BeforeClass
public
void
beforeTest
()
{
super
.
beforeTest
();
//获取存量课程ID
courseId
=
groupScheduleTools
.
getStockGroupCourseId
(
courseName
);
if
(
courseId
==
""
)
{
//获取存量课程分类ID
String
categoryId
=
courseCategoryTools
.
getCourseCategoryPage
(
"普拉提"
);
courseId
=
courseTools
.
createGroupCourse
(
courseName
,
categoryId
,
"STUDIO"
);
}
//获取存量场地
venueAreaIds
=
groupScheduleTools
.
getStockArea
(
"流星花园秘密基地"
);
//获取存量教练
List
<
String
>
chiefCoachId
=
new
ArrayList
<>();
chiefCoachId
.
add
(
"杜君丽"
);
chiefCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
chiefCoachId
).
get
(
0
).
toString
();
//获取存量助教
List
<
String
>
assistCoachIds
=
new
ArrayList
<>();
assistCoachIds
.
add
(
"木头"
);
assistCoachIds
.
add
(
"吴彦祖"
);
assistCoachIdS
=
groupScheduleTools
.
getStudioAdminId
(
assistCoachIds
);
//创建排课(按次数)
groupScheduleTools
.
createGroupRuleSchedule
(
courseId
,
chiefCoachIdS
,
CommUtil
.
oneKeyGetNextWeekStartDay
(),
CommUtil
.
oneKeyGetNextWeekEndDay
(),
venueAreaIds
,
assistCoachIdS
,
true
,
2
,
780
);
}
}
\ No newline at end of file
src/main/java/com/xiaomai/utils/CommUtil.java
View file @
ddbf6db4
...
@@ -9,6 +9,7 @@ import java.beans.Introspector;
...
@@ -9,6 +9,7 @@ import java.beans.Introspector;
import
java.beans.PropertyDescriptor
;
import
java.beans.PropertyDescriptor
;
import
java.io.FileInputStream
;
import
java.io.FileInputStream
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Method
;
import
java.text.DateFormat
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
...
@@ -166,6 +167,52 @@ public class CommUtil {
...
@@ -166,6 +167,52 @@ public class CommUtil {
return
getStringTimestamp
(
getWeekEndDay
,
"yyyy-MM-dd HH:mm:ss"
);
return
getStringTimestamp
(
getWeekEndDay
,
"yyyy-MM-dd HH:mm:ss"
);
}
}
/**
* 获取下周第一天
* @return
*/
public
static
String
oneKeyGetNextWeekStartDay
()
{
Date
getWeekStartDayData
=
getStartOfDateWeek
(
now
);
//获取本周的第一天
Date
getNextWeekStartDayData
=
addNDays
(
getWeekStartDayData
,
7
);
String
getNextWeekStartDay
=
getFormatTimeStr
(
getNextWeekStartDayData
,
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getNextWeekStartDay
,
"yyyy-MM-dd HH:mm:ss"
);
}
/**
* 获取下周最后一天
* @return
*/
public
static
String
oneKeyGetNextWeekEndDay
()
{
Date
getWeekEndDayData
=
getEndOfDateWeek
(
now
);
//获取本周的最后一天
Date
getNextWeekEndDayData
=
addNDays
(
getWeekEndDayData
,
7
);
String
getNextWeekEndDay
=
getFormatTimeStr
(
getNextWeekEndDayData
,
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getNextWeekEndDay
,
"yyyy-MM-dd HH:mm:ss"
);
}
/**
* 获取下周某一天(结束日期)
* @param n ,n=7是下周最后一天周日,n=6下周周六,n=5下周周五,n=4下周周四
* @return
*/
public
static
String
oneKeyGetNextWeekEndXDay
(
int
n
)
{
Date
getWeekEndDayData
=
getEndOfDateWeek
(
now
);
//获取本周的最后一天
Date
getNextWeekEndDayData
=
addNDays
(
getWeekEndDayData
,
n
);
String
getNextWeekEndDay
=
getFormatTimeStr
(
getNextWeekEndDayData
,
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getNextWeekEndDay
,
"yyyy-MM-dd HH:mm:ss"
);
}
/**
* 获取下周某一天(开始时间)
* @param n 以7为基数(7是周一),+1(8)是周二,+2(9)是周三,10是周四
* @return
*/
public
static
String
oneKeyGetNextWeekXDay
(
int
n
)
{
Date
getWeekStartDayData
=
getStartOfDateWeek
(
now
);
//获取本周的第一天
Date
getNextWeekStartDayData
=
addNDays
(
getWeekStartDayData
,
n
);
String
getNextWeekStartDay
=
getFormatTimeStr
(
getNextWeekStartDayData
,
"yyyy-MM-dd HH:mm:ss"
);
//时间格式转化为string
return
getStringTimestamp
(
getNextWeekStartDay
,
"yyyy-MM-dd HH:mm:ss"
);
}
public
static
Date
getEndOfDay
(
Date
date
)
{
public
static
Date
getEndOfDay
(
Date
date
)
{
assert
date
!=
null
;
assert
date
!=
null
;
return
new
DateTime
(
date
).
withTime
(
23
,
59
,
59
,
999
).
toDate
();
return
new
DateTime
(
date
).
withTime
(
23
,
59
,
59
,
999
).
toDate
();
...
@@ -198,6 +245,36 @@ public class CommUtil {
...
@@ -198,6 +245,36 @@ public class CommUtil {
return
getStringTimestamp
(
getNDayEndTime
,
"yyyy-MM-dd HH:mm:ss"
);
return
getStringTimestamp
(
getNDayEndTime
,
"yyyy-MM-dd HH:mm:ss"
);
}
}
/**
* 获取当前时间整点时间戳
*/
public
static
Long
getWholeHourTimestamp
(){
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
set
(
Calendar
.
MINUTE
,
0
);
calendar
.
set
(
Calendar
.
SECOND
,
0
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
0
);
Long
wholeHourTimestamp
=
calendar
.
getTimeInMillis
();
System
.
out
.
println
(
"整点时间戳: "
+
wholeHourTimestamp
);
return
wholeHourTimestamp
;
}
public
static
String
getStringTimestampByStrTime
(
String
time
)
{
String
timestamp
=
null
;
DateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
java
.
util
.
Date
date
=
null
;
try
{
date
=
df
.
parse
(
time
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
long
timestamp1
=
cal
.
getTimeInMillis
();
timestamp
=
Long
.
toString
(
timestamp1
);
return
timestamp
;
}
//@Test
//@Test
public
void
test
()
{
public
void
test
()
{
...
@@ -205,6 +282,16 @@ public class CommUtil {
...
@@ -205,6 +282,16 @@ public class CommUtil {
System
.
out
.
println
(
"当前时间时间戳"
+
oneKeyGetAddDay
(
0
));
System
.
out
.
println
(
"当前时间时间戳"
+
oneKeyGetAddDay
(
0
));
System
.
out
.
println
(
"****"
+
getNDayEndTimeTamp
(
0
));
System
.
out
.
println
(
"****"
+
getNDayEndTimeTamp
(
0
));
}
public
static
void
main
(
String
[]
args
)
{
getWholeHourTimestamp
();
Date
getWeekStartDayData
=
getStartOfDateWeek
(
now
);
//获取本周的第一天
Date
getNextWeekXDayData
=
addNDays
(
getWeekStartDayData
,
9
);
String
getNextWeekXDayDataS
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
getNextWeekXDayData
.
getTime
());
String
startStamp
=
getStringTimestampByStrTime
(
getNextWeekXDayDataS
+
" "
+
"14:00"
);
System
.
out
.
println
(
"********"
+
startStamp
);
}
}
...
...
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