Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
lwby_ad_data
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
maliang
lwby_ad_data
Commits
44b5adb5
Commit
44b5adb5
authored
Apr 27, 2020
by
maliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
权限控制
parent
eccf4d85
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
105 additions
and
1 deletion
+105
-1
AdvertDao.java
src/main/java/com/boot/security/server/dao/AdvertDao.java
+5
-0
AdvertiserServiceImpl.java
...t/security/server/service/impl/AdvertiserServiceImpl.java
+57
-1
AdvertMapper.xml
src/main/resources/mybatis-mappers/AdvertMapper.xml
+43
-0
No files found.
src/main/java/com/boot/security/server/dao/AdvertDao.java
View file @
44b5adb5
...
@@ -57,6 +57,8 @@ public interface AdvertDao {
...
@@ -57,6 +57,8 @@ public interface AdvertDao {
int
insertAdvertDataCount
(
List
<
AdvertiserData
>
list
);
int
insertAdvertDataCount
(
List
<
AdvertiserData
>
list
);
int
insertAdvertiserDataCount
(
List
<
AdvertiserData
>
list
);
int
insertAdvertList
(
List
<
AdvertiserData
>
list
);
int
insertAdvertList
(
List
<
AdvertiserData
>
list
);
int
insertAdvertiserData
(
List
<
AdvertiserData
>
list
);
int
insertAdvertiserData
(
List
<
AdvertiserData
>
list
);
...
@@ -86,4 +88,7 @@ public interface AdvertDao {
...
@@ -86,4 +88,7 @@ public interface AdvertDao {
List
<
AdvertiserData
>
getAdvertiserDataThirtyIncome
();
List
<
AdvertiserData
>
getAdvertiserDataThirtyIncome
();
int
insertAdvertiserDataThirtyIncome
(
List
<
AdvertiserData
>
list
);
int
insertAdvertiserDataThirtyIncome
(
List
<
AdvertiserData
>
list
);
//把分时曝光和点击插入
int
insertAdvertDataMinute
(
List
<
AdvertiserData
>
list
);
}
}
src/main/java/com/boot/security/server/service/impl/AdvertiserServiceImpl.java
View file @
44b5adb5
...
@@ -145,8 +145,64 @@ public class AdvertiserServiceImpl implements AdvertiserService {
...
@@ -145,8 +145,64 @@ public class AdvertiserServiceImpl implements AdvertiserService {
//从redis取数据存到mysql
//从redis取数据存到mysql
public
void
syncRedisMysql
(){
public
void
syncRedisMysql
(){
//从redis把所有广告商的总曝光和总点击取出来,存到advertiser_data_count
//从redis把所有广告商的总曝光和总点击取出来,存到advertiser_data_count
//查所有的广告商id
List
<
AdvertiserData
>
advertiserData
=
advertDao
.
getAdvertiserData
();
List
<
AdvertiserData
>
advertiserData
=
advertDao
.
getAdvertiserData
();
//从redis查点击和曝光
for
(
AdvertiserData
data
:
advertiserData
)
{
getRedisExCli
(
data
);
}
advertDao
.
insertAdvertiserDataCount
(
advertiserData
);
//从redis把所有广告商的分时广告查出来,存到advertiser_data_minutes
advertiserData
=
advertDao
.
getAdvertiserData
();
for
(
AdvertiserData
data
:
advertiserData
)
{
}
}
public
void
getRedisExCli
(
AdvertiserData
advertiserData
){
String
key
=
"redisAdvertData:"
+
advertiserData
.
getAdvertiserId
();
Integer
exposure
=
JedisHelper
.
hget
(
Integer
.
class
,
key
,
"exposure"
);
Integer
click
=
JedisHelper
.
hget
(
Integer
.
class
,
key
,
"click"
);
advertiserData
.
setExposure
(
exposure
);
advertiserData
.
setClick
(
click
);
}
//根据广告商id,从redis把该广告商下面的所有广告的曝光拿到
public
List
<
AdvertiserData
>
getExFromRedis
(
AdvertiserData
advertiserData
){
String
date
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
new
Date
());
String
exposureKey
=
"redisAdvertDataDayExposure:"
+
date
+
":"
+
advertiserData
.
getAdvertiserId
();
Map
<
String
,
Integer
>
exposureMap
=
JedisHelper
.
hgetAll
(
Integer
.
class
,
exposureKey
);
List
<
String
>
minutesCodeIdExposure
=
mapToList
(
exposureMap
);
List
<
AdvertiserData
>
list
=
new
ArrayList
<>();
for
(
String
s
:
minutesCodeIdExposure
)
{
AdvertiserData
data
=
new
AdvertiserData
();
data
.
setReportDate
(
date
);
data
.
setAdvertiserId
(
advertiserData
.
getAdvertiserId
());
data
.
setAdvertiserName
(
advertiserData
.
getAdvertiserName
());
data
.
setMinutes
(
s
.
split
(
","
)[
0
]);
data
.
setCodeId
(
s
.
split
(
","
)[
1
]);
data
.
setExposure
(
Integer
.
valueOf
(
s
.
split
(
","
)[
2
]));
}
return
list
;
}
//根据广告商id,从redis把该广告商下面的所有点击拿到
public
List
<
AdvertiserData
>
getCliFromRedis
(
AdvertiserData
advertiserData
){
String
date
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
new
Date
());
String
clickKey
=
"redisAdvertDataDayClick:"
+
date
+
":"
+
advertiserData
.
getAdvertiserId
();
Map
<
String
,
Integer
>
clickMap
=
JedisHelper
.
hgetAll
(
Integer
.
class
,
clickKey
);
List
<
String
>
minutesCodeIdClick
=
mapToList
(
clickMap
);
List
<
AdvertiserData
>
list
=
new
ArrayList
<>();
for
(
String
s
:
minutesCodeIdClick
)
{
AdvertiserData
data
=
new
AdvertiserData
();
data
.
setReportDate
(
date
);
data
.
setAdvertiserId
(
advertiserData
.
getAdvertiserId
());
data
.
setAdvertiserName
(
advertiserData
.
getAdvertiserName
());
data
.
setMinutes
(
s
.
split
(
","
)[
0
]);
data
.
setCodeId
(
s
.
split
(
","
)[
1
]);
data
.
setClick
(
Integer
.
valueOf
(
s
.
split
(
","
)[
2
]));
}
return
list
;
}
}
private
JSONObject
getRedisChartInfo
(
Integer
advertiserId
,
String
advertId
){
private
JSONObject
getRedisChartInfo
(
Integer
advertiserId
,
String
advertId
){
...
...
src/main/resources/mybatis-mappers/AdvertMapper.xml
View file @
44b5adb5
...
@@ -109,4 +109,47 @@
...
@@ -109,4 +109,47 @@
advertiser_name = VALUES(advertiser_name),
advertiser_name = VALUES(advertiser_name),
income_thirty = VALUES(income_thirty)
income_thirty = VALUES(income_thirty)
</insert>
</insert>
<insert
id=
"insertAdvertiserDataCount"
parameterType=
"java.util.List"
>
INSERT INTO advertiser_data_count(advertiser_id, advertiser_name,exposure,click)
VALUES
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(#{item.advertiserId},#{item.advertiserName},#{item.exposure},#{item.click})
</foreach>
ON DUPLICATE KEY UPDATE
advertiser_id = VALUES(advertiser_id),
advertiser_name = VALUES(advertiser_name),
exposure = VALUES(exposure),
click = VALUES(click)
</insert>
<insert
id=
"insertAdvertDataMinuteEx"
parameterType=
"java.util.List"
>
INSERT INTO advertiser_data_minutes(report_date,advertiser_id, advertiser_name,code_id,minutes,exposure)
VALUES
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(#{item.reportDate},#{item.advertiserId},#{item.advertiserName},#{item.codeId},#{item.minutes},#{item.exposure})
</foreach>
ON DUPLICATE KEY UPDATE
report_date = VALUES(report_date),
advertiser_id = VALUES(advertiser_id),
advertiser_name = VALUES(advertiser_name),
code_id = VALUES(code_id),
minutes = VALUES(minutes),
exposure = VALUES(exposure)
</insert>
<insert
id=
"insertAdvertDataMinuteCl"
parameterType=
"java.util.List"
>
INSERT INTO advertiser_data_minutes(report_date,advertiser_id, advertiser_name,code_id,minutes,click)
VALUES
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(#{item.reportDate},#{item.advertiserId},#{item.advertiserName},#{item.codeId},#{item.minutes},#{item.click})
</foreach>
ON DUPLICATE KEY UPDATE
report_date = VALUES(report_date),
advertiser_id = VALUES(advertiser_id),
advertiser_name = VALUES(advertiser_name),
code_id = VALUES(code_id),
minutes = VALUES(minutes),
click = VALUES(click)
</insert>
</mapper>
</mapper>
\ No newline at end of file
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