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
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
453 additions
and
2 deletions
+453
-2
src/main/java/com/xiaomai/cases/polar/schedule/group/GroupScheduleTools.java
+0
-0
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
This diff is collapsed.
Click to expand it.
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 {
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;
import
java.beans.PropertyDescriptor
;
import
java.io.FileInputStream
;
import
java.lang.reflect.Method
;
import
java.text.DateFormat
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
...
...
@@ -166,6 +167,52 @@ public class CommUtil {
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
)
{
assert
date
!=
null
;
return
new
DateTime
(
date
).
withTime
(
23
,
59
,
59
,
999
).
toDate
();
...
...
@@ -198,6 +245,36 @@ public class CommUtil {
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
public
void
test
()
{
...
...
@@ -205,6 +282,16 @@ public class CommUtil {
System
.
out
.
println
(
"当前时间时间戳"
+
oneKeyGetAddDay
(
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