Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
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
haoban3.0
haoban-manage3.0
Commits
d0a49c24
Commit
d0a49c24
authored
Jul 27, 2022
by
guojx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
活码数据统计-趋势图补0
parent
9d346334
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
124 additions
and
49 deletions
+124
-49
HmLinkController.java
...gic/haoban/manage/web/controller/hm/HmLinkController.java
+5
-48
HmQrcodeController.java
...c/haoban/manage/web/controller/hm/HmQrcodeController.java
+23
-1
DateUtils.java
...com/gic/haoban/manage/web/utils/statistics/DateUtils.java
+96
-0
No files found.
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/hm/HmLinkController.java
View file @
d0a49c24
...
...
@@ -10,6 +10,7 @@ import java.util.List;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
com.gic.haoban.manage.web.utils.statistics.DateUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
...
...
@@ -657,42 +658,23 @@ public class HmLinkController {
String
endTimeStr
=
qo
.
getEndTime
();
JSONObject
jsonObject
=
new
JSONObject
();
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
startTime
=
null
;
Date
endTime
=
null
;
if
(
StringUtils
.
isNotBlank
(
startTimeStr
))
{
startTime
=
df
.
parse
(
startTimeStr
);
}
if
(
StringUtils
.
isNotBlank
(
endTimeStr
))
{
endTime
=
df
.
parse
(
endTimeStr
);
}
Date
startTime
=
DateUtils
.
getStartTime
(
startTimeStr
);
Date
endTime
=
DateUtils
.
getEndTime
(
endTimeStr
);
jsonObject
.
put
(
"enterpriseId"
,
loginUser
.
getEnterpriseId
());
jsonObject
.
put
(
"linkId"
,
linkId
);
if
(
startTime
==
null
)
{
// 过去7天
Calendar
cl
=
Calendar
.
getInstance
();
cl
.
add
(
Calendar
.
DATE
,
-
7
);
startTime
=
cl
.
getTime
();
}
startTime
=
DateUtil
.
getStartTimeOfDay
(
startTime
);
jsonObject
.
put
(
"startTime"
,
df
.
format
(
startTime
));
if
(
endTime
==
null
)
{
endTime
=
new
Date
();
}
endTime
=
DateUtil
.
getEndTimeOfDay
(
endTime
);
jsonObject
.
put
(
"endTime"
,
df
.
format
(
endTime
));
// 日期填充
List
<
String
>
dateList
;
List
<
String
>
dateList
=
DateUtils
.
getDateList
(
startTimeStr
,
endTimeStr
,
null
)
;
// 用于链接添加趋势图数据 企业+链接+日期
String
apolloKey
=
"data_haoban_link_add_trend_d"
;
// 用于链接点击趋势图数据 企业+链接+日期
String
clickApolloKey
=
"data_haoban_link_click_trend_d"
;
// 如果天数大于60,调用月接口
if
(
DateUtil
.
daysBetween
(
startTime
,
endTime
)
>
60
)
{
dateList
=
getMonthBetween
(
startTime
,
endTime
);
apolloKey
=
"data_haoban_link_add_trend_m"
;
clickApolloKey
=
"data_haoban_link_click_trend_m"
;
}
else
{
dateList
=
DateUtil
.
getBetweenDates
(
startTime
,
endTime
);
}
JSONObject
param
=
DataStatisticsParamUtils
.
getParamNoPage
(
jsonObject
);
StatisticsDTO
newDTO
=
DataHttpUtil
.
post
(
apolloKey
,
param
);
...
...
@@ -746,31 +728,6 @@ public class HmLinkController {
return
RestResponse
.
successResult
(
retPage
);
}
public
static
List
<
String
>
getMonthBetween
(
Date
minDate
,
Date
maxDate
)
{
ArrayList
<
String
>
result
=
new
ArrayList
<>();
try
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM"
);
// 格式化为年月
Calendar
min
=
Calendar
.
getInstance
();
Calendar
max
=
Calendar
.
getInstance
();
min
.
setTime
(
minDate
);
min
.
set
(
min
.
get
(
Calendar
.
YEAR
),
min
.
get
(
Calendar
.
MONTH
),
1
);
max
.
setTime
(
maxDate
);
max
.
set
(
max
.
get
(
Calendar
.
YEAR
),
max
.
get
(
Calendar
.
MONTH
),
2
);
Calendar
curr
=
min
;
while
(
curr
.
before
(
max
))
{
result
.
add
(
sdf
.
format
(
curr
.
getTime
()));
curr
.
add
(
Calendar
.
MONTH
,
1
);
}
}
catch
(
Exception
e
)
{
}
return
result
;
}
private
static
Map
<
String
,
JSONObject
>
getTrendMap
(
StatisticsDTO
newDTO
)
{
Map
<
String
,
JSONObject
>
newMap
=
new
HashMap
<>();
if
(
newDTO
!=
null
)
{
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/hm/HmQrcodeController.java
View file @
d0a49c24
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
hm
;
import
java.text.ParseException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.gic.haoban.manage.web.utils.statistics.DateUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -242,7 +245,7 @@ public class HmQrcodeController {
* @return
*/
@RequestMapping
(
value
=
"detail-data-statistics"
,
method
=
RequestMethod
.
POST
)
public
RestResponse
detailDataStatistics
(
@RequestBody
HmTrendQO
hmTrendQO
)
{
public
RestResponse
detailDataStatistics
(
@RequestBody
HmTrendQO
hmTrendQO
)
throws
ParseException
{
Integer
type
=
hmTrendQO
.
getInFields
().
getType
();
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
hmTrendQO
.
getInFields
().
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
...
...
@@ -260,6 +263,25 @@ public class HmQrcodeController {
list
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
dto
.
getData
()),
Map
.
class
);
}
if
(
hmTrendVO
!=
null
)
{
//日期补充
List
<
String
>
dateList
=
DateUtils
.
getDateList
(
hmTrendQO
.
getInFields
().
getStartTime
(),
hmTrendQO
.
getInFields
().
getEndTime
(),
type
);
Map
<
String
,
Object
>
trendMap
=
new
HashMap
<>();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
for
(
Map
temp
:
list
)
{
trendMap
.
put
((
String
)
temp
.
get
(
"bizDate"
),
temp
.
get
(
"addNum"
));
}
}
for
(
String
date
:
dateList
)
{
Map
vo
=
new
HashMap
();
vo
.
put
(
"bizDate"
,
date
);
Object
addNum
=
trendMap
.
get
(
date
);
if
(
addNum
==
null
)
{
vo
.
put
(
"addNum"
,
0
);
}
else
{
vo
.
put
(
"addNum"
,
addNum
);
}
list
.
add
(
vo
);
}
hmTrendVO
.
setDateList
(
list
);
}
return
RestResponse
.
successResult
(
hmTrendVO
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/utils/statistics/DateUtils.java
0 → 100644
View file @
d0a49c24
package
com
.
gic
.
haoban
.
manage
.
web
.
utils
.
statistics
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.haoban.manage.web.qo.hm.data.HmTrendQO
;
import
org.apache.commons.lang.StringUtils
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author guojx
* @Date 2022/7/27 13:58
*/
public
class
DateUtils
{
private
static
List
<
String
>
getMonthBetween
(
Date
minDate
,
Date
maxDate
)
{
ArrayList
<
String
>
result
=
new
ArrayList
<>();
try
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM"
);
// 格式化为年月
Calendar
min
=
Calendar
.
getInstance
();
Calendar
max
=
Calendar
.
getInstance
();
min
.
setTime
(
minDate
);
min
.
set
(
min
.
get
(
Calendar
.
YEAR
),
min
.
get
(
Calendar
.
MONTH
),
1
);
max
.
setTime
(
maxDate
);
max
.
set
(
max
.
get
(
Calendar
.
YEAR
),
max
.
get
(
Calendar
.
MONTH
),
2
);
Calendar
curr
=
min
;
while
(
curr
.
before
(
max
))
{
result
.
add
(
sdf
.
format
(
curr
.
getTime
()));
curr
.
add
(
Calendar
.
MONTH
,
1
);
}
}
catch
(
Exception
e
)
{
}
return
result
;
}
public
static
List
<
String
>
getDateList
(
String
startTimeStr
,
String
endTimeStr
,
Integer
type
)
throws
ParseException
{
// 日期填充
List
<
String
>
dateList
=
new
ArrayList
<>();
Date
startTime
=
getStartTime
(
startTimeStr
);
Date
endTime
=
getEndTime
(
endTimeStr
);
if
(
type
==
null
)
{
//计算
if
(
DateUtil
.
daysBetween
(
startTime
,
endTime
)
>
60
)
{
//月
type
=
2
;
}
else
{
type
=
1
;
}
}
if
(
type
==
1
)
{
dateList
=
DateUtil
.
getBetweenDates
(
startTime
,
endTime
);
}
else
if
(
type
==
2
){
dateList
=
DateUtils
.
getMonthBetween
(
startTime
,
endTime
);
}
return
dateList
;
}
public
static
Date
getStartTime
(
String
startTimeStr
)
throws
ParseException
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
startTime
=
null
;
if
(
StringUtils
.
isNotBlank
(
startTimeStr
))
{
startTime
=
df
.
parse
(
startTimeStr
);
}
if
(
startTime
==
null
)
{
// 过去7天
Calendar
cl
=
Calendar
.
getInstance
();
cl
.
add
(
Calendar
.
DATE
,
-
7
);
startTime
=
cl
.
getTime
();
}
startTime
=
DateUtil
.
getStartTimeOfDay
(
startTime
);
return
startTime
;
}
public
static
Date
getEndTime
(
String
endTimeStr
)
throws
ParseException
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
endTime
=
null
;
if
(
StringUtils
.
isNotBlank
(
endTimeStr
))
{
endTime
=
df
.
parse
(
endTimeStr
);
}
if
(
endTime
==
null
)
{
endTime
=
new
Date
();
}
endTime
=
DateUtil
.
getEndTimeOfDay
(
endTime
);
return
endTime
;
}
}
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