Toggle navigation
Toggle navigation
This project
Loading...
Sign in
YOHOBUY
/
yohobuy-union
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
linlong
8 years ago
Commit
bbc47019d5a05c3fe5ee597fd28510f67de52031
1 parent
481e79c2
update
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
20 deletions
dal/src/main/java/com/yoho/unions/dal/IUnionLogsDAO.java
dal/src/main/resources/META-INF/mybatis/UnionLogsMapper.xml
server/src/main/java/com/yoho/unions/server/service/impl/UnionServiceImpl.java
web/src/main/webapp/admin/activateHour.html
web/src/main/webapp/admin/activateList.html
dal/src/main/java/com/yoho/unions/dal/IUnionLogsDAO.java
View file @
bbc4701
...
...
@@ -39,5 +39,5 @@ public interface IUnionLogsDAO {
List
<
UnionLogs
>
queryByDeviceId
(
ActivateDeviceIdReqBO
activateDeviceIdReqBO
);
List
<
ActivateDeviceIdRspBO
>
selectListByHour
(
ActivateDeviceIdReqBO
activateDeviceIdReqBO
);
List
<
UnionLogs
>
selectListByHour
(
ActivateDeviceIdReqBO
activateDeviceIdReqBO
);
}
...
...
dal/src/main/resources/META-INF/mybatis/UnionLogsMapper.xml
View file @
bbc4701
...
...
@@ -188,9 +188,9 @@
</if>
limit 1
</select>
<select
id=
"selectListByHour"
resultMap=
"
Activate
Map"
<select
id=
"selectListByHour"
resultMap=
"
BaseResult
Map"
parameterType=
"com.yoho.service.model.union.request.ActivateDeviceIdReqBO"
>
select
union_type,union_name,count(idfa) as idfa_count,count(imei) as imei_count
select
<include
refid=
"Base_Column_List"
/>
from union_logs
where union_type = #{unionType}
<if
test=
"activateHourBegin != null and activateHourBegin>0"
>
...
...
server/src/main/java/com/yoho/unions/server/service/impl/UnionServiceImpl.java
View file @
bbc4701
...
...
@@ -7,6 +7,7 @@ package com.yoho.unions.server.service.impl;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.netflix.config.DynamicIntProperty
;
import
com.netflix.config.DynamicPropertyFactory
;
import
com.yoho.core.common.utils.MD5
;
...
...
@@ -48,6 +49,7 @@ import javax.annotation.Resource;
import
java.net.URLDecoder
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.LinkedBlockingQueue
;
import
java.util.concurrent.ThreadPoolExecutor
;
...
...
@@ -799,29 +801,66 @@ public class UnionServiceImpl implements IUnionService,ApplicationEventPublisher
public
PageActivateDeviceIdRspBO
queryActivateHour
(
ActivateDeviceIdReqBO
activateDeviceIdReqBO
)
{
log
.
info
(
"enter queryActivateHour. param activateDeviceIdReqBO={}"
,
activateDeviceIdReqBO
);
//(1).查询出各渠道激活的设备id数
List
<
ActivateDeviceIdRspBO
>
activateDeviceIdRspList
=
Lists
.
newArrayList
();
int
beginTime
=
DateUtils
.
getTodayZero
();
//1.初始化map,用于存放24个小时的激活idfa和imei
Map
<
Integer
,
List
<
Integer
>>
countMap
=
Maps
.
newHashMap
();
for
(
int
i
=
0
;
i
<
24
;
i
++){
activateDeviceIdReqBO
.
setActivateHourBegin
(
beginTime
);
activateDeviceIdReqBO
.
setActivateHourEnd
(
beginTime
+
3600
);
activateDeviceIdRspList
.
addAll
(
unionLogsDAO
.
selectListByHour
(
activateDeviceIdReqBO
));
beginTime
+=
3600
;
List
<
Integer
>
countList
=
Lists
.
newArrayList
();
countList
.
add
(
0
);
countList
.
add
(
0
);
countMap
.
put
(
i
,
countList
);
}
String
searchDay
=
DateUtils
.
int2DateStr
(
activateDeviceIdReqBO
.
getActivateTimeEnd
(),
"yyyy/MM/dd"
);
int
beginTime
=
DateUtils
.
getTimesmorning
(
searchDay
);
int
endTime
=
beginTime
+
3600
*
24
-
1
;
activateDeviceIdReqBO
.
setActivateHourBegin
(
beginTime
);
activateDeviceIdReqBO
.
setActivateHourEnd
(
endTime
);
List
<
UnionLogs
>
unionLogs
=
unionLogsDAO
.
selectListByHour
(
activateDeviceIdReqBO
);
for
(
int
i
=
0
;
i
<
unionLogs
.
size
();
i
++){
UnionLogs
unionLog
=
unionLogs
.
get
(
i
);
String
createTime
=
DateUtils
.
int2DateStr
(
unionLog
.
getCreateTime
(),
"yyyy-MM-dd HH:mm:ss"
);
//遍历一天的记录,统计每小时的激活数
int
key
=
Integer
.
parseInt
(
createTime
.
substring
(
11
,
13
));
List
<
Integer
>
countList
=
countMap
.
get
(
key
);
if
(
StringUtils
.
isNotEmpty
(
unionLog
.
getIdfa
())){
countList
.
set
(
0
,
countList
.
get
(
0
)+
1
);
}
if
(
StringUtils
.
isNotEmpty
(
unionLog
.
getImei
())){
countList
.
set
(
1
,
countList
.
get
(
1
)+
1
);
}
}
List
<
ActivateDeviceIdRspBO
>
activateDeviceIdRspList
=
Lists
.
newArrayList
();
for
(
int
i
=
0
;
i
<
24
;
i
++){
ActivateDeviceIdRspBO
bo
=
activateDeviceIdRspList
.
get
(
i
);
ActivateDeviceIdRspBO
bo
=
new
ActivateDeviceIdRspBO
(
);
String
hour
=
i
<
10
?
"0"
+
i
+
":00--"
+
"0"
+
i
+
":59"
:
i
+
":00--"
+
i
+
":59"
;
bo
.
setHour
(
hour
);
List
<
Integer
>
countList
=
countMap
.
get
(
i
);
bo
.
setIdfaCount
(
countList
.
get
(
0
));
bo
.
setImeiCount
(
countList
.
get
(
1
));
activateDeviceIdRspList
.
add
(
bo
);
}
//(1).查询出各渠道激活的设备id数
// List<ActivateDeviceIdRspBO> activateDeviceIdRspList = Lists.newArrayList();
//
// int beginTime = DateUtils.getTodayZero();
// for(int i=0;i<24;i++){
// activateDeviceIdReqBO.setActivateHourBegin(beginTime);
// activateDeviceIdReqBO.setActivateHourEnd(beginTime+3600);
// activateDeviceIdRspList.addAll(unionLogsDAO.selectListByHour(activateDeviceIdReqBO));
// beginTime +=3600;
// }
// for(int i=0;i<24;i++){
// ActivateDeviceIdRspBO bo = activateDeviceIdRspList.get(i);
// String hour = i<10?"0"+i+":00--"+"0"+i+":59":i+":00--"+i+":59";
// bo.setHour(hour);
// }
PageActivateDeviceIdRspBO
pageActivateDeviceIdRspBO
=
new
PageActivateDeviceIdRspBO
();
pageActivateDeviceIdRspBO
.
setList
(
activateDeviceIdRspList
);
//不需要分页了
// pageActivateDeviceIdRspBO.setTotal(total);
// pageActivateDeviceIdRspBO.setPage(activateDeviceIdReqBO.getPage());
return
pageActivateDeviceIdRspBO
;
}
...
...
web/src/main/webapp/admin/activateHour.html
View file @
bbc4701
...
...
@@ -39,12 +39,19 @@
});
function
getId
()
{
var
params
=
{}
;
var
params
=
getParam
(
"searchForm"
)
;
params
[
"unionType"
]
=
unionType
;
return
params
;
}
});
function
getParam
(
table
)
{
var
paramsArray
=
$
(
"#"
+
table
+
""
).
serializeArray
();
var
params
=
{};
for
(
var
i
=
0
;
i
<
paramsArray
.
length
;
i
++
)
{
params
[
paramsArray
[
i
].
name
]
=
paramsArray
[
i
].
value
;
}
return
params
;
}
</script>
\ No newline at end of file
...
...
web/src/main/webapp/admin/activateList.html
View file @
bbc4701
...
...
@@ -343,14 +343,21 @@
function
showActivateHour
(
id
)
{
unionType
=
id
;
var
div
=
$
(
"<div>"
).
appendTo
(
$
(
window
.
self
.
document
.
body
));
var
params
=
getParam
(
"searchForm"
);
params
[
'unionType'
]
=
$
(
this
).
attr
(
"dataId"
);
window
.
self
.
$
(
div
).
myDialog
({
modal
:
true
,
collapsible
:
true
,
cache
:
false
,
title
:
"每小时
点击
量"
,
title
:
"每小时
激活
量"
,
width
:
600
,
height
:
600
,
href
:
contextPath
+
"/admin/activateHour.html?unionType="
+
id
,
href
:
contextPath
+
"/admin/activateHour.html"
,
queryParams
:
{
unionType
:
id
,
activateTimeEnd
:
params
[
'activateTimeEnd'
]
},
buttons
:
[{
id
:
"closeBtn"
,
text
:
"关闭"
,
...
...
Please
register
or
login
to post a comment