Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐少华
midjourney-proxy
Commits
290d2977
Commit
290d2977
authored
Jan 20, 2021
by
田超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fixbug/mondayError' into 'master'
bug: [none] 解决周日统计错误的问题 See merge request rays/pcloud-book!1162
parents
46c8b3fe
f9ec5215
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
12 deletions
+52
-12
AppletRecordStatisBizImpl.java
...cloud/book/applet/biz/impl/AppletRecordStatisBizImpl.java
+6
-5
AppletRecordStatisReportBizImpl.java
...book/applet/biz/impl/AppletRecordStatisReportBizImpl.java
+8
-7
CommonUtils.java
...rc/main/java/com/pcloud/book/util/common/CommonUtils.java
+38
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletRecordStatisBizImpl.java
View file @
290d2977
...
@@ -13,6 +13,7 @@ import com.pcloud.book.applet.dao.AppletRecordStatisDao;
...
@@ -13,6 +13,7 @@ import com.pcloud.book.applet.dao.AppletRecordStatisDao;
import
com.pcloud.book.applet.biz.AppletRecordStatisBiz
;
import
com.pcloud.book.applet.biz.AppletRecordStatisBiz
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.util.common.CommonUtils
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
...
@@ -109,7 +110,7 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
...
@@ -109,7 +110,7 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
}
}
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
// 校准周一
// 校准周一
monday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
monday
),
1
);
monday
=
CommonUtils
.
getWeekStart
(
monday
);
Date
sunday
=
DateUtils
.
addDay
(
monday
,
6
);
Date
sunday
=
DateUtils
.
addDay
(
monday
,
6
);
// 计算本周读书本数,已读新书本数
// 计算本周读书本数,已读新书本数
ReadBookWeekStatisDTO
weekStatisDTO
=
getReadBookWeekStatisDTO
(
wechatUserId
,
monday
,
sunday
);
ReadBookWeekStatisDTO
weekStatisDTO
=
getReadBookWeekStatisDTO
(
wechatUserId
,
monday
,
sunday
);
...
@@ -198,7 +199,7 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
...
@@ -198,7 +199,7 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
}
}
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
// 校准周一
// 校准周一
monday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
monday
),
1
);
monday
=
CommonUtils
.
getWeekStart
(
monday
);
List
<
AppletRecordStatisDTO
>
resultList
=
appletRecordStatisDao
.
getBookSourceWeekStatis
(
wechatUserId
,
monday
);
List
<
AppletRecordStatisDTO
>
resultList
=
appletRecordStatisDao
.
getBookSourceWeekStatis
(
wechatUserId
,
monday
);
if
(
CollectionUtils
.
isEmpty
(
resultList
)){
if
(
CollectionUtils
.
isEmpty
(
resultList
)){
return
Lists
.
newArrayList
();
return
Lists
.
newArrayList
();
...
@@ -273,7 +274,7 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
...
@@ -273,7 +274,7 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
}
}
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
// 校准周一
// 校准周一
monday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
monday
),
1
);
monday
=
CommonUtils
.
getWeekStart
(
monday
);
List
<
AppletRecordStatisDTO
>
resultList
=
appletRecordStatisDao
.
getBookNewsWeekStatics
(
wechatUserId
,
monday
);
List
<
AppletRecordStatisDTO
>
resultList
=
appletRecordStatisDao
.
getBookNewsWeekStatics
(
wechatUserId
,
monday
);
if
(
CollectionUtils
.
isEmpty
(
resultList
)){
if
(
CollectionUtils
.
isEmpty
(
resultList
)){
return
Lists
.
newArrayList
();
return
Lists
.
newArrayList
();
...
@@ -300,8 +301,8 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
...
@@ -300,8 +301,8 @@ public class AppletRecordStatisBizImpl implements AppletRecordStatisBiz {
if
(
StringUtil
.
isNotEmpty
(
mondayDate
)){
if
(
StringUtil
.
isNotEmpty
(
mondayDate
)){
prevWeekDay
=
DateUtils
.
getDateByStr
(
mondayDate
);
prevWeekDay
=
DateUtils
.
getDateByStr
(
mondayDate
);
}
}
// 校准日期为上周一
(加一天是因为这里它把周日当成是一周的起点)
// 校准日期为上周一
Date
prevMonday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
prevWeekDay
),
1
);
Date
prevMonday
=
CommonUtils
.
getWeekStart
(
prevWeekDay
);
Date
prevSunday
=
DateUtils
.
addDay
(
prevMonday
,
6
);
Date
prevSunday
=
DateUtils
.
addDay
(
prevMonday
,
6
);
if
(
AppletConstants
.
APPLET_RECORD_STATIS_REPORT_START_DATE
.
compareTo
(
prevMonday
)
==
1
){
if
(
AppletConstants
.
APPLET_RECORD_STATIS_REPORT_START_DATE
.
compareTo
(
prevMonday
)
==
1
){
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletRecordStatisReportBizImpl.java
View file @
290d2977
...
@@ -8,6 +8,7 @@ import com.pcloud.book.applet.entity.AppletRecordStatisReport;
...
@@ -8,6 +8,7 @@ import com.pcloud.book.applet.entity.AppletRecordStatisReport;
import
com.pcloud.book.applet.dao.AppletRecordStatisReportDao
;
import
com.pcloud.book.applet.dao.AppletRecordStatisReportDao
;
import
com.pcloud.book.applet.biz.AppletRecordStatisReportBiz
;
import
com.pcloud.book.applet.biz.AppletRecordStatisReportBiz
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.util.common.CommonUtils
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.page.PageParam
;
...
@@ -105,9 +106,9 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
...
@@ -105,9 +106,9 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
}
}
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
// 校准周一
// 校准周一
monday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
monday
),
1
);
monday
=
CommonUtils
.
getWeekStart
(
monday
);
Date
sunday
=
DateUtils
.
addDay
(
monday
,
6
);
Date
sunday
=
DateUtils
.
addDay
(
monday
,
6
);
Date
thisMonday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
new
Date
()),
1
);
Date
thisMonday
=
CommonUtils
.
getWeekStart
(
);
if
(
monday
.
compareTo
(
thisMonday
)
>
-
1
||
monday
.
compareTo
(
AppletConstants
.
APPLET_RECORD_STATIS_REPORT_START_DATE
)
==
-
1
){
if
(
monday
.
compareTo
(
thisMonday
)
>
-
1
||
monday
.
compareTo
(
AppletConstants
.
APPLET_RECORD_STATIS_REPORT_START_DATE
)
==
-
1
){
AppletRecordStatisReport
report
=
new
AppletRecordStatisReport
();
AppletRecordStatisReport
report
=
new
AppletRecordStatisReport
();
report
.
setBeginDate
(
monday
);
report
.
setBeginDate
(
monday
);
...
@@ -219,7 +220,7 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
...
@@ -219,7 +220,7 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
// 检测上次生成历史记录的时间
// 检测上次生成历史记录的时间
String
redisKey
=
AppletConstants
.
APPLET_RECORD_HISTORY_STATIS_REPORT_LAST_DATE
+
wechatUserId
;
String
redisKey
=
AppletConstants
.
APPLET_RECORD_HISTORY_STATIS_REPORT_LAST_DATE
+
wechatUserId
;
String
lastDate
=
JedisClusterUtils
.
get
(
redisKey
);
String
lastDate
=
JedisClusterUtils
.
get
(
redisKey
);
String
monday
=
DateUtils
.
getReqDate
(
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
new
Date
()),
1
));
String
monday
=
DateUtils
.
getReqDate
(
CommonUtils
.
getWeekStart
(
));
// 如果本周已经生成过,则return
// 如果本周已经生成过,则return
if
(
monday
.
equals
(
lastDate
)){
if
(
monday
.
equals
(
lastDate
)){
return
;
return
;
...
@@ -227,7 +228,7 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
...
@@ -227,7 +228,7 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
// 本周已经生成记录标识
// 本周已经生成记录标识
JedisClusterUtils
.
set
(
redisKey
,
monday
,
3600
*
24
*
7
);
JedisClusterUtils
.
set
(
redisKey
,
monday
,
3600
*
24
*
7
);
// 获取开始时间到上周所有的周一
// 获取开始时间到上周所有的周一
List
<
Date
>
allMonday
=
getAllMonday
(
AppletConstants
.
APPLET_RECORD_STATIS_REPORT_START_DATE
,
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
new
Date
()),
-
6
));
List
<
Date
>
allMonday
=
getAllMonday
(
AppletConstants
.
APPLET_RECORD_STATIS_REPORT_START_DATE
,
DateUtils
.
addDay
(
CommonUtils
.
getWeekStart
(),
-
7
));
if
(
CollectionUtils
.
isEmpty
(
allMonday
)){
if
(
CollectionUtils
.
isEmpty
(
allMonday
)){
return
;
return
;
}
}
...
@@ -283,8 +284,8 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
...
@@ -283,8 +284,8 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
if
(
endDate
==
null
){
if
(
endDate
==
null
){
endDate
=
new
Date
();
endDate
=
new
Date
();
}
}
Date
beginMonday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
beginDate
),
1
);
Date
beginMonday
=
CommonUtils
.
getWeekStart
(
beginDate
);
Date
endMonday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
endDate
),
1
);
Date
endMonday
=
CommonUtils
.
getWeekStart
(
endDate
);
// 如果开始时间比结束时间大,直接返回
// 如果开始时间比结束时间大,直接返回
if
(
beginMonday
.
compareTo
(
endMonday
)
==
1
){
if
(
beginMonday
.
compareTo
(
endMonday
)
==
1
){
return
mondayList
;
return
mondayList
;
...
@@ -314,7 +315,7 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
...
@@ -314,7 +315,7 @@ public class AppletRecordStatisReportBizImpl implements AppletRecordStatisReport
private
String
builderShareHtml
(
Long
wechatUserId
,
String
mondayDate
)
{
private
String
builderShareHtml
(
Long
wechatUserId
,
String
mondayDate
)
{
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
Date
monday
=
DateUtils
.
getDateFromString
(
mondayDate
,
"yyyy-MM-dd"
);
// 校准周一
// 校准周一
monday
=
DateUtils
.
addDay
(
DateUtils
.
getWeekStart
(
monday
),
1
);
monday
=
CommonUtils
.
getWeekStart
(
monday
);
// 直接获取本周分数结果
// 直接获取本周分数结果
AppletRecordStatisReport
thisWeekReport
=
appletRecordStatisReportDao
.
getByWechatUserId
(
wechatUserId
,
monday
);
AppletRecordStatisReport
thisWeekReport
=
appletRecordStatisReportDao
.
getByWechatUserId
(
wechatUserId
,
monday
);
if
(
thisWeekReport
==
null
){
if
(
thisWeekReport
==
null
){
...
...
pcloud-service-book/src/main/java/com/pcloud/book/util/common/CommonUtils.java
View file @
290d2977
...
@@ -128,4 +128,42 @@ public class CommonUtils {
...
@@ -128,4 +128,42 @@ public class CommonUtils {
}
}
return
result
;
return
result
;
}
}
/**
* 获取指定日期所在周的第一天【周一是每周的起点】
* @param date
* @return
*/
public
static
Date
getWeekStart
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
// 设置每周的第一天是星期一
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
date
);
calendar
.
get
(
3
);
calendar
.
set
(
7
,
calendar
.
getFirstDayOfWeek
());
calendar
.
set
(
11
,
0
);
calendar
.
set
(
12
,
0
);
calendar
.
set
(
13
,
0
);
calendar
.
set
(
14
,
0
);
return
calendar
.
getTime
();
}
/**
* 获取指定日期所在周的第一天【周一是每周的起点】
* @param
* @return
*/
public
static
Date
getWeekStart
()
{
Calendar
calendar
=
Calendar
.
getInstance
();
// 设置每周的第一天是星期一
calendar
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
calendar
.
setTime
(
new
Date
());
calendar
.
get
(
3
);
calendar
.
set
(
7
,
calendar
.
getFirstDayOfWeek
());
calendar
.
set
(
11
,
0
);
calendar
.
set
(
12
,
0
);
calendar
.
set
(
13
,
0
);
calendar
.
set
(
14
,
0
);
return
calendar
.
getTime
();
}
}
}
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