@ -160,10 +160,18 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
if ( ! CollectionUtils . isEmpty ( customerIdList ) ) {
for ( String customerId : customerIdList ) {
Date finalStatsDate = statsDate ;
//executorService.submit(() -> {
//统计
statsTagUsedDaily ( finalStatsDate , dimIdBean , customerId ) ;
//});
try {
statsTagUsedDaily ( finalStatsDate , dimIdBean , customerId ) ;
} catch ( Exception e ) {
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "tagUsedDailyStatsjob" , customerId , dimIdBean . getDateId ( ) , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按日统计标签被使用次数" , customerId , dimIdBean . getMonthId ( ) , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
}
}
}
} while ( ! CollectionUtils . isEmpty ( customerIdList ) & & customerIdList . size ( ) = = pageSize ) ;
@ -187,13 +195,17 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
customerIdList = dimCustomerService . selectCustomerIdPage ( pageNo + + , pageSize ) ;
if ( ! CollectionUtils . isEmpty ( customerIdList ) ) {
for ( String customerId : customerIdList ) {
executorService . submit ( ( ) - > {
try {
statsTagUsedMonthly ( dimIdBean . getMonthId ( ) , customerId ) ;
} catch ( Exception e ) {
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "按月统计标签被使用次数" , customerId , dimIdBean . getMonthId ( ) , e . getMessage ( ) ) ) ;
try {
statsTagUsedMonthly ( dimIdBean . getMonthId ( ) , customerId ) ;
} catch ( Exception e ) {
log . error ( "statsTagUsedMonthly exception" , e ) ;
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按月统计标签被使用次数" , customerId , dimIdBean . getMonthId ( ) , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
} ) ;
}
}
}
} while ( ! CollectionUtils . isEmpty ( customerIdList ) & & customerIdList . size ( ) = = pageSize ) ;
@ -218,9 +230,17 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
customerIdList = dimCustomerService . selectCustomerIdPage ( pageNo + + , pageSize ) ;
if ( ! CollectionUtils . isEmpty ( customerIdList ) ) {
for ( String customerId : customerIdList ) {
Date finalStatsDate = statsDate ;
//统计
statsTagViewedDaily ( finalStatsDate , dimIdBean , customerId ) ;
try {
statsTagViewedDaily ( statsDate , dimIdBean , customerId ) ;
} catch ( Exception e ) {
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "tagViewedDailyStatsjob" , customerId , dimIdBean . getDateId ( ) , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按日统计标签被查看次数" , customerId , statsDate , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , ex ) ;
}
}
}
}
} while ( ! CollectionUtils . isEmpty ( customerIdList ) & & customerIdList . size ( ) = = pageSize ) ;
@ -247,7 +267,13 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
try {
statsTagViewedMonthly ( dimIdBean . getMonthId ( ) , customerId ) ;
} catch ( Exception e ) {
log . error ( "statsTagViewedMonthly exception" , e ) ;
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "tagViewedMonthlyStatsjob" , customerId , dimIdBean . getDateId ( ) , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按月统计标签被查看次数" , customerId , dimIdBean . getMonthId ( ) , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
}
}
}
@ -277,7 +303,13 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
log . debug ( "start === statsTagUsedQuarterly " ) ;
statsTagUsedQuarterly ( dimIdBean . getQuarterId ( ) , customerId ) ;
} catch ( Exception e ) {
log . error ( "statsTagUsedQuarterly exception" , e ) ;
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "statsTagUsedQuarterly" , customerId , dimIdBean . getQuarterId ( ) , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按季统计标签被使用次数" , customerId , dimIdBean . getQuarterId ( ) , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
}
} ) ;
executorService . submit ( ( ) - > {
@ -285,7 +317,13 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
log . debug ( "start === statsTagUsedQuarterly " ) ;
statsTagUsedYearly ( dimIdBean . getYearId ( ) , customerId ) ;
} catch ( Exception e ) {
log . error ( "statsTagUsedYearly exception" , e ) ;
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "statsTagUsedYearly" , customerId , dimIdBean . getYearId ( ) , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按年统计标签被使用次数" , customerId , dimIdBean . getYearId ( ) , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
}
} ) ;
}
@ -316,15 +354,29 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
log . debug ( "start === statsTagViewedQuarterly " ) ;
statsTagViewedQuarterly ( dimIdBean . getQuarterId ( ) , customerId ) ;
} catch ( Exception e ) {
log . error ( "statsTagUsedQuarterly exception" , e ) ;
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "statsTagViewedQuarterly" , customerId , dimIdBean . getQuarterId ( ) , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按季统计标签被查看次数" , customerId , dimIdBean . getQuarterId ( ) , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
}
} ) ;
executorService . submit ( ( ) - > {
try {
log . debug ( "start === statsTagViewedYearly " ) ;
statsTagViewedYearly ( dimIdBean . getYearId ( ) , customerId ) ;
} catch ( Exception e ) {
log . error ( "statsTagUsedYearly exception" , e ) ;
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "statsTagViewedQuarterly" , customerId , dimIdBean . getYearId ( ) , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按年统计标签被查看次数" , customerId , dimIdBean . getYearId ( ) , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
}
} ) ;
}
@ -363,6 +415,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
}
boolean b = factArticlePublishedDepartmentDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , departmentDailyEntityMap . values ( ) ) ;
} catch ( Exception e ) {
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "statsPublishedDepartmentDaily" , customerId , statsDate , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按日统计部门纬度文章总数" , customerId , statsDate , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
@ -436,7 +489,8 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
}
boolean b = factArticlePublishedGridDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , gridDailyEntityMap . values ( ) ) ;
} catch ( Exception e ) {
log . error ( "statsPublishedGridDaily exception customerId:{},statsDate:{}" , customerId , statsDate ) ;
e . printStackTrace ( ) ;
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "statsPublishedGridDaily" , customerId , statsDate , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按日统计网格纬度文章总数" , customerId , statsDate , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
@ -507,7 +561,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
boolean b = factArticlePublishedAgencyDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , agencyDailyEntityMap . values ( ) ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
log . error ( "statsPublishedAgencyDaily exception,customer:{}" , customerId ) ;
log . error ( String . format ( ProjectConstant . STATS_FAILED_PREFIX , "statsPublishedAgencyDaily" , customerId , statsDate , e . getMessage ( ) ) ) ;
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按日统计部门纬度文章总数" , customerId , statsDate , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
@ -525,89 +579,82 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* @param customerId
* /
private void statsTagUsedDaily ( Date statsDate , DimIdGenerator . DimIdBean dimIdBean , String customerId ) {
try {
//1.业务数据来源 发布时间为统计时间的
// 因为一个客户的发布文章数在同一天不会特别的多,所以以客户为单位查询今天发布的所有带有标签的文章 根据发布单位类型进行拆分
// 1.1查出今天所有的文章标签 根据网格Id
// 1.2
//获取所有网格
List < DimAgencyEntity > agencyDTOList = dimAgencyService . getAgencyListByCustomerId ( customerId ) ;
if ( CollectionUtils . isEmpty ( agencyDTOList ) ) {
log . warn ( "publicitySummary getAgencyListByCustomerId return empty,customerId:{}" , customerId ) ;
return ;
}
//转换为 需要插入的Entity
Map < String , DimAgencyEntity > dimAgencyEntityMap = agencyDTOList . stream ( ) . collect ( Collectors . toMap ( DimAgencyEntity : : getId , o - > o ) ) ;
//转换为 需要插入的Entity key gridId_tagId
Map < String , FactTagUsedGridDailyEntity > tagUsedGridDailyMap = new HashMap < > ( ) ;
Map < String , FactTagUsedDepartmentDailyEntity > tagUsedDeptDailyMap = new HashMap < > ( ) ;
Map < String , FactTagUsedAgencyDailyEntity > tagUsedAgencyDailyMap = new HashMap < > ( ) ;
Map < String , FactTagUsedAgencyDailyEntity > tagUsedAgencyDailySelfMap = new HashMap < > ( ) ;
//获取当天的业务数据
//1获取文章及机关id,网格Id
List < ArticleEntity > publishedArticleList = articleService . getPublishedArticleByPublishTime ( customerId , DateUtils . format ( statsDate ) ) ;
if ( CollectionUtils . isEmpty ( publishedArticleList ) ) {
return ;
}
//KEY 文章Id
Map < String , ArticleEntity > articleMap = publishedArticleList . stream ( ) . collect ( Collectors . toMap ( ArticleEntity : : getId , o - > o ) ) ;
Date startTime = DateUtils . integrate ( statsDate , DateUtils . DATE_PATTERN ) ;
Date endTime = DateUtils . integrate ( DateUtils . addDateDays ( statsDate , 1 ) , DateUtils . DATE_PATTERN ) ;
//2 获取文章标签
List < ArticleTagsEntity > articleTagsList = articleTagsService . getArticleTagsByCreateTime ( customerId , startTime , endTime ) ;
if ( CollectionUtils . isEmpty ( articleTagsList ) ) {
log . error ( "publicitySummary getArticleTagsByCreateTime customerId:{} have not articleTags,publishedArticleList:{}" , customerId , JSON . toJSONString ( publishedArticleList ) ) ;
//1.业务数据来源 发布时间为统计时间的
// 因为一个客户的发布文章数在同一天不会特别的多,所以以客户为单位查询今天发布的所有带有标签的文章 根据发布单位类型进行拆分
// 1.1查出今天所有的文章标签 根据网格Id
// 1.2
//获取所有网格
List < DimAgencyEntity > agencyDTOList = dimAgencyService . getAgencyListByCustomerId ( customerId ) ;
if ( CollectionUtils . isEmpty ( agencyDTOList ) ) {
log . warn ( "publicitySummary getAgencyListByCustomerId return empty,customerId:{}" , customerId ) ;
return ;
}
//转换为 需要插入的Entity
Map < String , DimAgencyEntity > dimAgencyEntityMap = agencyDTOList . stream ( ) . collect ( Collectors . toMap ( DimAgencyEntity : : getId , o - > o ) ) ;
//转换为 需要插入的Entity key gridId_tagId
Map < String , FactTagUsedGridDailyEntity > tagUsedGridDailyMap = new HashMap < > ( ) ;
Map < String , FactTagUsedDepartmentDailyEntity > tagUsedDeptDailyMap = new HashMap < > ( ) ;
Map < String , FactTagUsedAgencyDailyEntity > tagUsedAgencyDailyMap = new HashMap < > ( ) ;
Map < String , FactTagUsedAgencyDailyEntity > tagUsedAgencyDailySelfMap = new HashMap < > ( ) ;
//获取当天的业务数据
//1获取文章及机关id,网格Id
List < ArticleEntity > publishedArticleList = articleService . getPublishedArticleByPublishTime ( customerId , DateUtils . format ( statsDate ) ) ;
if ( CollectionUtils . isEmpty ( publishedArticleList ) ) {
return ;
}
//KEY 文章Id
Map < String , ArticleEntity > articleMap = publishedArticleList . stream ( ) . collect ( Collectors . toMap ( ArticleEntity : : getId , o - > o ) ) ;
Date startTime = DateUtils . integrate ( statsDate , DateUtils . DATE_PATTERN ) ;
Date endTime = DateUtils . integrate ( DateUtils . addDateDays ( statsDate , 1 ) , DateUtils . DATE_PATTERN ) ;
//2 获取文章标签
List < ArticleTagsEntity > articleTagsList = articleTagsService . getArticleTagsByCreateTime ( customerId , startTime , endTime ) ;
if ( CollectionUtils . isEmpty ( articleTagsList ) ) {
log . error ( "publicitySummary getArticleTagsByCreateTime customerId:{} have not articleTags,publishedArticleList:{}" , customerId , JSON . toJSONString ( publishedArticleList ) ) ;
return ;
}
//tagId
for ( ArticleTagsEntity tagEntity : articleTagsList ) {
ArticleEntity articleEntity = articleMap . get ( tagEntity . getArticleId ( ) ) ;
if ( articleEntity = = null ) {
log . error ( "publicitySummary articleMap articleId:{} " , tagEntity . getArticleId ( ) ) ;
return ;
}
//tagId
for ( ArticleTagsEntity tagEntity : articleTagsList ) {
ArticleEntity articleEntity = articleMap . get ( tagEntity . getArticleId ( ) ) ;
if ( articleEntity = = null ) {
log . error ( "publicitySummary articleMap articleId:{} " , tagEntity . getArticleId ( ) ) ;
return ;
}
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( articleEntity . getOrgId ( ) ) ;
convertTagUsedAgencyDailyEntity ( dimAgencyEntity . getPid ( ) , tagUsedAgencyDailyMap , articleEntity , tagEntity , dimIdBean ) ;
switch ( articleEntity . getPublisherType ( ) ) {
case ProjectConstant . PUBLISHER_TYPE_GRID :
convertTagUsedGridDailyEntity ( tagUsedGridDailyMap , articleEntity , tagEntity , dimIdBean ) ;
break ;
case ProjectConstant . PUBLISHER_TYPE_DEPT :
convertTagUsedDepartmentDailyEntity ( tagUsedDeptDailyMap , articleEntity , tagEntity , dimIdBean ) ;
break ;
case ProjectConstant . PUBLISHER_TYPE_AGENCY :
convertTagUsedAgencyDailySelfEntity ( dimAgencyEntity . getPid ( ) , tagUsedAgencyDailySelfMap , articleEntity , tagEntity , dimIdBean ) ;
break ;
}
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( articleEntity . getOrgId ( ) ) ;
convertTagUsedAgencyDailyEntity ( dimAgencyEntity . getPid ( ) , tagUsedAgencyDailyMap , articleEntity , tagEntity , dimIdBean ) ;
switch ( articleEntity . getPublisherType ( ) ) {
case ProjectConstant . PUBLISHER_TYPE_GRID :
convertTagUsedGridDailyEntity ( tagUsedGridDailyMap , articleEntity , tagEntity , dimIdBean ) ;
break ;
case ProjectConstant . PUBLISHER_TYPE_DEPT :
convertTagUsedDepartmentDailyEntity ( tagUsedDeptDailyMap , articleEntity , tagEntity , dimIdBean ) ;
break ;
case ProjectConstant . PUBLISHER_TYPE_AGENCY :
convertTagUsedAgencyDailySelfEntity ( dimAgencyEntity . getPid ( ) , tagUsedAgencyDailySelfMap , articleEntity , tagEntity , dimIdBean ) ;
break ;
}
}
factTagUsedGridDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , tagUsedGridDailyMap . values ( ) ) ;
factTagUsedDepartmentDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , tagUsedDeptDailyMap . values ( ) ) ;
//向上级机关递归添加 数据
Map < String , FactTagUsedAgencyDailyEntity > finalTagUsedAgencyDailyMap = new HashMap < > ( ) ;
finalTagUsedAgencyDailyMap . putAll ( tagUsedAgencyDailyMap ) ;
for ( Map . Entry < String , FactTagUsedAgencyDailyEntity > entry : tagUsedAgencyDailyMap . entrySet ( ) ) {
String agencyId = entry . getKey ( ) . split ( StrConstant . UNDER_LINE ) [ 0 ] ;
FactTagUsedAgencyDailyEntity currentEntity = entry . getValue ( ) ;
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( currentEntity . getAgencyId ( ) ) ;
if ( dimAgencyEntity = = null ) {
log . error ( "dimAgencyEntityMap bizData agencyId:{} not exist in dimAgency" , agencyId ) ;
continue ;
}
setTagUsedData2ParentAgency ( dimAgencyEntityMap , finalTagUsedAgencyDailyMap , currentEntity , dimIdBean ) ;
}
if ( ! CollectionUtils . isEmpty ( tagUsedAgencyDailySelfMap ) ) {
finalTagUsedAgencyDailyMap . putAll ( tagUsedAgencyDailySelfMap ) ;
}
factTagUsedAgencyDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , finalTagUsedAgencyDailyMap . values ( ) ) ;
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按日统计标签被使用次数" , customerId , statsDate , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
factTagUsedGridDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , tagUsedGridDailyMap . values ( ) ) ;
factTagUsedDepartmentDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , tagUsedDeptDailyMap . values ( ) ) ;
//向上级机关递归添加 数据
Map < String , FactTagUsedAgencyDailyEntity > finalTagUsedAgencyDailyMap = new HashMap < > ( ) ;
finalTagUsedAgencyDailyMap . putAll ( tagUsedAgencyDailyMap ) ;
for ( Map . Entry < String , FactTagUsedAgencyDailyEntity > entry : tagUsedAgencyDailyMap . entrySet ( ) ) {
String agencyId = entry . getKey ( ) . split ( StrConstant . UNDER_LINE ) [ 0 ] ;
FactTagUsedAgencyDailyEntity currentEntity = entry . getValue ( ) ;
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( currentEntity . getAgencyId ( ) ) ;
if ( dimAgencyEntity = = null ) {
log . error ( "dimAgencyEntityMap bizData agencyId:{} not exist in dimAgency" , agencyId ) ;
continue ;
}
setTagUsedData2ParentAgency ( dimAgencyEntityMap , finalTagUsedAgencyDailyMap , currentEntity , dimIdBean ) ;
}
if ( ! CollectionUtils . isEmpty ( tagUsedAgencyDailySelfMap ) ) {
finalTagUsedAgencyDailyMap . putAll ( tagUsedAgencyDailySelfMap ) ;
}
factTagUsedAgencyDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , finalTagUsedAgencyDailyMap . values ( ) ) ;
}
/ * *
@ -618,98 +665,89 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* @param customerId
* /
private void statsTagViewedDaily ( Date statsDate , DimIdGenerator . DimIdBean dimIdBean , String customerId ) {
try {
//1.业务数据来源 发布时间为统计时间的
// 因为一个客户的发布文章数在同一天不会特别的多,所以以客户为单位查询今天发布的所有带有标签的文章 根据发布单位类型进行拆分
// 1.1查出今天所有的文章标签 根据网格Id
// 1.2
//获取所有机关 用于后面想上级添加数据
List < DimAgencyEntity > agencyDTOList = dimAgencyService . getAgencyListByCustomerId ( customerId ) ;
if ( CollectionUtils . isEmpty ( agencyDTOList ) ) {
log . debug ( "statsTagViewedDaily customerId:{} have any agency" , customerId ) ;
return ;
}
List < DimGridEntity > dimGridList = dimGridService . getGridListByCustomerId ( customerId ) ;
if ( CollectionUtils . isEmpty ( dimGridList ) ) {
log . debug ( "statsTagViewedDaily customerId:{} have any grid" , customerId ) ;
return ;
//1.业务数据来源 发布时间为统计时间的
// 因为一个客户的发布文章数在同一天不会特别的多,所以以客户为单位查询今天发布的所有带有标签的文章 根据发布单位类型进行拆分
// 1.1查出今天所有的文章标签 根据网格Id
// 1.2
//获取所有机关 用于后面想上级添加数据
List < DimAgencyEntity > agencyDTOList = dimAgencyService . getAgencyListByCustomerId ( customerId ) ;
if ( CollectionUtils . isEmpty ( agencyDTOList ) ) {
log . debug ( "statsTagViewedDaily customerId:{} have any agency" , customerId ) ;
return ;
}
List < DimGridEntity > dimGridList = dimGridService . getGridListByCustomerId ( customerId ) ;
if ( CollectionUtils . isEmpty ( dimGridList ) ) {
log . debug ( "statsTagViewedDaily customerId:{} have any grid" , customerId ) ;
return ;
}
Map < String , DimGridEntity > dimGridEntityMap = dimGridList . stream ( ) . collect ( Collectors . toMap ( DimGridEntity : : getId , o - > o ) ) ;
//转换为 需要插入的Entity
Map < String , DimAgencyEntity > dimAgencyEntityMap = agencyDTOList . stream ( ) . collect ( Collectors . toMap ( DimAgencyEntity : : getId , o - > o ) ) ;
//转换为 需要插入的Entity key gridId_tagId
Map < String , FactTagViewedGridDailyEntity > tagViewedGridDailyMap = new HashMap < > ( ) ;
Map < String , FactTagViewedAgencyDailyEntity > tagViewedAgencyDailyMap = new HashMap < > ( ) ;
Map < String , FactTagViewedAgencyDailyEntity > tagViewedAgencyDailySelfMap = new HashMap < > ( ) ;
//获取当天的业务数据
//1获取今天文章的阅读记录数
Date startTime = DateUtils . integrate ( statsDate , DateUtils . DATE_PATTERN ) ;
Date endTime = DateUtils . integrate ( DateUtils . addDateDays ( statsDate , 1 ) , DateUtils . DATE_PATTERN ) ;
List < ArticleViewedSummaryDTO > visitRecordList = articleVisitRecordService . getArticleVisitByCreateTime ( customerId , startTime , endTime ) ;
if ( CollectionUtils . isEmpty ( visitRecordList ) ) {
return ;
}
for ( ArticleViewedSummaryDTO viewedSummaryDTO : visitRecordList ) {
List < ArticleTagsEntity > articleTagsList = articleTagsService . getArticleTagsByArticleId ( customerId , viewedSummaryDTO . getArticleId ( ) ) ;
if ( CollectionUtils . isEmpty ( articleTagsList ) ) {
continue ;
}
Map < String , DimGridEntity > dimGridEntityMap = dimGridList . stream ( ) . collect ( Collectors . toMap ( DimGridEntity : : getId , o - > o ) ) ;
//转换为 需要插入的Entity
Map < String , DimAgencyEntity > dimAgencyEntityMap = agencyDTOList . stream ( ) . collect ( Collectors . toMap ( DimAgencyEntity : : getId , o - > o ) ) ;
//转换为 需要插入的Entity key gridId_tagId
Map < String , FactTagViewedGridDailyEntity > tagViewedGridDailyMap = new HashMap < > ( ) ;
Map < String , FactTagViewedAgencyDailyEntity > tagViewedAgencyDailyMap = new HashMap < > ( ) ;
Map < String , FactTagViewedAgencyDailyEntity > tagViewedAgencyDailySelfMap = new HashMap < > ( ) ;
//获取当天的业务数据
//1获取今天文章的阅读记录数
Date startTime = DateUtils . integrate ( statsDate , DateUtils . DATE_PATTERN ) ;
Date endTime = DateUtils . integrate ( DateUtils . addDateDays ( statsDate , 1 ) , DateUtils . DATE_PATTERN ) ;
List < ArticleViewedSummaryDTO > visitRecordList = articleVisitRecordService . getArticleVisitByCreateTime ( customerId , startTime , endTime ) ;
if ( CollectionUtils . isEmpty ( visitRecordList ) ) {
return ;
ArticleEntity articleEntity = articleService . selectArticleById ( viewedSummaryDTO . getArticleId ( ) ) ;
if ( articleEntity = = null ) {
continue ;
}
boolean isAgencyPublished = false ;
if ( ProjectConstant . PUBLISHER_TYPE_AGENCY . equals ( articleEntity . getPublisherType ( ) ) ) {
isAgencyPublished = true ;
}
String gridId = viewedSummaryDTO . getGridId ( ) ;
DimGridEntity dimGridEntity = dimGridEntityMap . get ( gridId ) ;
for ( ArticleViewedSummaryDTO viewedSummaryDTO : visitRecordList ) {
List < ArticleTagsEntity > articleTagsList = articleTagsService . getArticleTagsByArticleId ( customerId , viewedSummaryDTO . getArticleId ( ) ) ;
if ( CollectionUtils . isEmpty ( articleTagsList ) ) {
continue ;
}
ArticleEntity articleEntity = articleService . selectArticleById ( viewedSummaryDTO . getArticleId ( ) ) ;
if ( articleEntity = = null ) {
continue ;
}
boolean isAgencyPublished = false ;
if ( ProjectConstant . PUBLISHER_TYPE_AGENCY . equals ( articleEntity . getPublisherType ( ) ) ) {
isAgencyPublished = true ;
}
String gridId = viewedSummaryDTO . getGridId ( ) ;
DimGridEntity dimGridEntity = dimGridEntityMap . get ( gridId ) ;
if ( dimGridEntity = = null ) {
log . error ( "statsTagViewedDaily viewedRecord gridId:{} not exist in dimGridMap" , gridId ) ;
continue ;
}
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( dimGridEntity . getAgencyId ( ) ) ;
for ( ArticleTagsEntity articleTag : articleTagsList ) {
convertTagViewedGridDailyEntity ( dimAgencyEntity , tagViewedGridDailyMap , articleTag , viewedSummaryDTO , dimIdBean ) ;
convertTagViewedAgencyDailyEntity ( dimAgencyEntity , tagViewedAgencyDailyMap , articleTag , viewedSummaryDTO , dimIdBean ) ;
if ( isAgencyPublished ) {
convertTagViewedAgencyDailySelfEntity ( dimAgencyEntity , tagViewedAgencyDailySelfMap , articleTag , viewedSummaryDTO , dimIdBean ) ;
}
if ( dimGridEntity = = null ) {
log . error ( "statsTagViewedDaily viewedRecord gridId:{} not exist in dimGridMap" , gridId ) ;
continue ;
}
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( dimGridEntity . getAgencyId ( ) ) ;
for ( ArticleTagsEntity articleTag : articleTagsList ) {
convertTagViewedGridDailyEntity ( dimAgencyEntity , tagViewedGridDailyMap , articleTag , viewedSummaryDTO , dimIdBean ) ;
convertTagViewedAgencyDailyEntity ( dimAgencyEntity , tagViewedAgencyDailyMap , articleTag , viewedSummaryDTO , dimIdBean ) ;
if ( isAgencyPublished ) {
convertTagViewedAgencyDailySelfEntity ( dimAgencyEntity , tagViewedAgencyDailySelfMap , articleTag , viewedSummaryDTO , dimIdBean ) ;
}
}
}
factTagViewedGridDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , tagViewedGridDailyMap . values ( ) ) ;
factTagViewedGridDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , tagViewedGridDailyMap . values ( ) ) ;
//向上级机关递归添加 数据
Map < String , FactTagViewedAgencyDailyEntity > finalTagUsedAgencyDailyMap = new HashMap < > ( ) ;
finalTagUsedAgencyDailyMap . putAll ( tagViewedAgencyDailyMap ) ;
for ( Map . Entry < String , FactTagViewedAgencyDailyEntity > entry : tagViewedAgencyDailyMap . entrySet ( ) ) {
String agencyId = entry . getKey ( ) ;
FactTagViewedAgencyDailyEntity currentEntity = entry . getValue ( ) ;
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( currentEntity . getAgencyId ( ) ) ;
if ( dimAgencyEntity = = null ) {
//向上级机关递归添加 数据
Map < String , FactTagViewedAgencyDailyEntity > finalTagUsedAgencyDailyMap = new HashMap < > ( ) ;
finalTagUsedAgencyDailyMap . putAll ( tagViewedAgencyDailyMap ) ;
for ( Map . Entry < String , FactTagViewedAgencyDailyEntity > entry : tagViewedAgencyDailyMap . entrySet ( ) ) {
String agencyId = entry . getKey ( ) ;
FactTagViewedAgencyDailyEntity currentEntity = entry . getValue ( ) ;
DimAgencyEntity dimAgencyEntity = dimAgencyEntityMap . get ( currentEntity . getAgencyId ( ) ) ;
if ( dimAgencyEntity = = null ) {
log . error ( "dimAgencyEntityMap bizData agencyId:{} not exist in dimAgency" , agencyId ) ;
continue ;
}
setTagViewedData2ParentAgency ( dimAgencyEntityMap , finalTagUsedAgencyDailyMap , currentEntity , dimIdBean ) ;
}
if ( ! CollectionUtils . isEmpty ( tagViewedAgencyDailySelfMap ) ) {
finalTagUsedAgencyDailyMap . putAll ( tagViewedAgencyDailySelfMap ) ;
log . error ( "dimAgencyEntityMap bizData agencyId:{} not exist in dimAgency" , agencyId ) ;
continue ;
}
factTagViewedAgencyDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , finalTagUsedAgencyDailyMap . values ( ) ) ;
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按日统计标签被查看次数" , customerId , statsDate , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
setTagViewedData2ParentAgency ( dimAgencyEntityMap , finalTagUsedAgencyDailyMap , currentEntity , dimIdBean ) ;
}
if ( ! CollectionUtils . isEmpty ( tagViewedAgencyDailySelfMap ) ) {
finalTagUsedAgencyDailyMap . putAll ( tagViewedAgencyDailySelfMap ) ;
}
factTagViewedAgencyDailyService . deleteAndInsertBatch ( customerId , dimIdBean . getDateId ( ) , finalTagUsedAgencyDailyMap . values ( ) ) ;
}
/ * *
@ -719,29 +757,20 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* @param customerId
* /
private void statsTagUsedMonthly ( String monthId , String customerId ) {
try {
List < FactTagUsedGridDailyEntity > gridDailyList = factTagUsedGridDailyService . getTagUsedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( gridDailyList ) ) {
List < FactTagUsedGridMonthlyEntity > gridMonthlyList = ConvertUtils . sourceToTarget ( gridDailyList , FactTagUsedGridMonthlyEntity . class ) ;
factTagUsedGridMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , gridMonthlyList ) ;
}
List < FactTagUsedDepartmentDailyEntity > deptDailyList = factTagUsedDepartmentDailyService . getTagUsedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( deptDailyList ) ) {
List < FactTagUsedDepartmentMonthlyEntity > gridMonthlyList = ConvertUtils . sourceToTarget ( deptDailyList , FactTagUsedDepartmentMonthlyEntity . class ) ;
factTagUsedDepartmentMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , gridMonthlyList ) ;
}
List < FactTagUsedAgencyDailyEntity > agencyDailyList = factTagUsedAgencyDailyService . getTagUsedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( agencyDailyList ) ) {
List < FactTagUsedAgencyMonthlyEntity > agencyMonthlyList = ConvertUtils . sourceToTarget ( agencyDailyList , FactTagUsedAgencyMonthlyEntity . class ) ;
factTagUsedAgencyMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , ( agencyMonthlyList ) ) ;
}
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按月统计标签被使用次数" , customerId , monthId , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
List < FactTagUsedGridDailyEntity > gridDailyList = factTagUsedGridDailyService . getTagUsedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( gridDailyList ) ) {
List < FactTagUsedGridMonthlyEntity > gridMonthlyList = ConvertUtils . sourceToTarget ( gridDailyList , FactTagUsedGridMonthlyEntity . class ) ;
factTagUsedGridMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , gridMonthlyList ) ;
}
List < FactTagUsedDepartmentDailyEntity > deptDailyList = factTagUsedDepartmentDailyService . getTagUsedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( deptDailyList ) ) {
List < FactTagUsedDepartmentMonthlyEntity > gridMonthlyList = ConvertUtils . sourceToTarget ( deptDailyList , FactTagUsedDepartmentMonthlyEntity . class ) ;
factTagUsedDepartmentMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , gridMonthlyList ) ;
}
List < FactTagUsedAgencyDailyEntity > agencyDailyList = factTagUsedAgencyDailyService . getTagUsedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( agencyDailyList ) ) {
List < FactTagUsedAgencyMonthlyEntity > agencyMonthlyList = ConvertUtils . sourceToTarget ( agencyDailyList , FactTagUsedAgencyMonthlyEntity . class ) ;
factTagUsedAgencyMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , ( agencyMonthlyList ) ) ;
}
}
@ -752,26 +781,19 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* @param customerId
* /
private void statsTagViewedMonthly ( String monthId , String customerId ) {
try {
List < FactTagViewedGridDailyEntity > gridDailyList = factTagViewedGridDailyService . getTagViewedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( gridDailyList ) ) {
List < FactTagViewedGridMonthlyEntity > gridMonthlyList = ConvertUtils . sourceToTarget ( gridDailyList , FactTagViewedGridMonthlyEntity . class ) ;
factTagViewedGridMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , gridMonthlyList ) ;
}
List < FactTagViewedAgencyDailyEntity > agencyDailyList = factTagViewedAgencyDailyService . getTagViewedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( agencyDailyList ) ) {
List < FactTagViewedAgencyMonthlyEntity > agencyMonthlyList = ConvertUtils . sourceToTarget ( agencyDailyList , FactTagViewedAgencyMonthlyEntity . class ) ;
factTagViewedAgencyMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , ( agencyMonthlyList ) ) ;
}
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按月统计标签被查看次数" , customerId , monthId , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
List < FactTagViewedGridDailyEntity > gridDailyList = factTagViewedGridDailyService . getTagViewedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( gridDailyList ) ) {
List < FactTagViewedGridMonthlyEntity > gridMonthlyList = ConvertUtils . sourceToTarget ( gridDailyList , FactTagViewedGridMonthlyEntity . class ) ;
factTagViewedGridMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , gridMonthlyList ) ;
}
List < FactTagViewedAgencyDailyEntity > agencyDailyList = factTagViewedAgencyDailyService . getTagViewedCountByMonth ( customerId , monthId ) ;
if ( ! CollectionUtils . isEmpty ( agencyDailyList ) ) {
List < FactTagViewedAgencyMonthlyEntity > agencyMonthlyList = ConvertUtils . sourceToTarget ( agencyDailyList , FactTagViewedAgencyMonthlyEntity . class ) ;
factTagViewedAgencyMonthlyService . deleteAndInsertByMonthId ( customerId , monthId , ( agencyMonthlyList ) ) ;
}
}
/ * *
@ -781,30 +803,23 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* @param customerId
* /
private void statsTagUsedQuarterly ( String quarterId , String customerId ) {
try {
List < FactTagUsedGridMonthlyEntity > gridMonthlyList = factTagUsedGridMonthlyService . getTagUsedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagUsedGridQuarterlyEntity > gridQuarterlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagUsedGridQuarterlyEntity . class ) ;
factTagUsedGridQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , gridQuarterlyList ) ;
}
List < FactTagUsedDepartmentMonthlyEntity > deptMonthlyList = factTagUsedDepartmentMonthlyService . getTagUsedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( deptMonthlyList ) ) {
List < FactTagUsedDepartmentQuarterlyEntity > deptQuarterlyList = ConvertUtils . sourceToTarget ( deptMonthlyList , FactTagUsedDepartmentQuarterlyEntity . class ) ;
factTagUsedDepartmentQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , deptQuarterlyList ) ;
}
List < FactTagUsedAgencyMonthlyEntity > agencyMonthlyList = factTagUsedAgencyMonthlyService . getTagUsedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagUsedAgencyQuarterlyEntity > agencyQuarterlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagUsedAgencyQuarterlyEntity . class ) ;
factTagUsedAgencyQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , agencyQuarterlyList ) ;
}
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按季统计标签被使用次数" , customerId , quarterId , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
List < FactTagUsedGridMonthlyEntity > gridMonthlyList = factTagUsedGridMonthlyService . getTagUsedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagUsedGridQuarterlyEntity > gridQuarterlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagUsedGridQuarterlyEntity . class ) ;
factTagUsedGridQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , gridQuarterlyList ) ;
}
List < FactTagUsedDepartmentMonthlyEntity > deptMonthlyList = factTagUsedDepartmentMonthlyService . getTagUsedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( deptMonthlyList ) ) {
List < FactTagUsedDepartmentQuarterlyEntity > deptQuarterlyList = ConvertUtils . sourceToTarget ( deptMonthlyList , FactTagUsedDepartmentQuarterlyEntity . class ) ;
factTagUsedDepartmentQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , deptQuarterlyList ) ;
}
List < FactTagUsedAgencyMonthlyEntity > agencyMonthlyList = factTagUsedAgencyMonthlyService . getTagUsedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagUsedAgencyQuarterlyEntity > agencyQuarterlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagUsedAgencyQuarterlyEntity . class ) ;
factTagUsedAgencyQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , agencyQuarterlyList ) ;
}
}
/ * *
@ -814,26 +829,19 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* @param customerId
* /
private void statsTagViewedQuarterly ( String quarterId , String customerId ) {
try {
List < FactTagViewedGridMonthlyEntity > gridMonthlyList = factTagViewedGridMonthlyService . getTagViewedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagViewedGridQuarterlyEntity > gridQuarterlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagViewedGridQuarterlyEntity . class ) ;
factTagViewedGridQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , gridQuarterlyList ) ;
}
List < FactTagViewedAgencyMonthlyEntity > agencyMonthlyList = factTagViewedAgencyMonthlyService . getTagViewedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagViewedAgencyQuarterlyEntity > agencyQuarterlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagViewedAgencyQuarterlyEntity . class ) ;
factTagViewedAgencyQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , agencyQuarterlyList ) ;
}
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按季统计标签被查看次数" , customerId , quarterId , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
List < FactTagViewedGridMonthlyEntity > gridMonthlyList = factTagViewedGridMonthlyService . getTagViewedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagViewedGridQuarterlyEntity > gridQuarterlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagViewedGridQuarterlyEntity . class ) ;
factTagViewedGridQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , gridQuarterlyList ) ;
}
List < FactTagViewedAgencyMonthlyEntity > agencyMonthlyList = factTagViewedAgencyMonthlyService . getTagViewedCountByQuarterId ( customerId , quarterId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagViewedAgencyQuarterlyEntity > agencyQuarterlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagViewedAgencyQuarterlyEntity . class ) ;
factTagViewedAgencyQuarterlyService . deleteAndInsertByQuarterId ( customerId , quarterId , agencyQuarterlyList ) ;
}
}
/ * *
@ -843,30 +851,23 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* @param customerId
* /
private void statsTagUsedYearly ( String yearId , String customerId ) {
try {
List < FactTagUsedGridMonthlyEntity > gridMonthlyList = factTagUsedGridMonthlyService . getTagUsedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagUsedGridYearlyEntity > gridYearlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagUsedGridYearlyEntity . class ) ;
factTagUsedGridYearlyService . deleteAndInsertByYearId ( customerId , yearId , gridYearlyList ) ;
}
List < FactTagUsedDepartmentMonthlyEntity > deptMonthlyList = factTagUsedDepartmentMonthlyService . getTagUsedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( deptMonthlyList ) ) {
List < FactTagUsedDepartmentYearlyEntity > gridYearlyList = ConvertUtils . sourceToTarget ( deptMonthlyList , FactTagUsedDepartmentYearlyEntity . class ) ;
factTagUsedDepartmentYearlyService . deleteAndInsertByYearId ( customerId , yearId , gridYearlyList ) ;
}
List < FactTagUsedAgencyMonthlyEntity > agencyMonthlyList = factTagUsedAgencyMonthlyService . getTagUsedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagUsedAgencyYearlyEntity > agencyYearlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagUsedAgencyYearlyEntity . class ) ;
factTagUsedAgencyYearlyService . deleteAndInsertByYearId ( customerId , yearId , agencyYearlyList ) ;
}
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按年统计标签被使用次数" , customerId , yearId , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
List < FactTagUsedGridMonthlyEntity > gridMonthlyList = factTagUsedGridMonthlyService . getTagUsedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagUsedGridYearlyEntity > gridYearlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagUsedGridYearlyEntity . class ) ;
factTagUsedGridYearlyService . deleteAndInsertByYearId ( customerId , yearId , gridYearlyList ) ;
}
List < FactTagUsedDepartmentMonthlyEntity > deptMonthlyList = factTagUsedDepartmentMonthlyService . getTagUsedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( deptMonthlyList ) ) {
List < FactTagUsedDepartmentYearlyEntity > gridYearlyList = ConvertUtils . sourceToTarget ( deptMonthlyList , FactTagUsedDepartmentYearlyEntity . class ) ;
factTagUsedDepartmentYearlyService . deleteAndInsertByYearId ( customerId , yearId , gridYearlyList ) ;
}
List < FactTagUsedAgencyMonthlyEntity > agencyMonthlyList = factTagUsedAgencyMonthlyService . getTagUsedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagUsedAgencyYearlyEntity > agencyYearlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagUsedAgencyYearlyEntity . class ) ;
factTagUsedAgencyYearlyService . deleteAndInsertByYearId ( customerId , yearId , agencyYearlyList ) ;
}
}
/ * *
@ -877,25 +878,18 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
* /
private void statsTagViewedYearly ( String yearId , String customerId ) {
try {
List < FactTagViewedGridMonthlyEntity > gridMonthlyList = factTagViewedGridMonthlyService . getTagViewedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagViewedGridYearlyEntity > gridYearlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagViewedGridYearlyEntity . class ) ;
factTagViewedGridYearlyService . deleteAndInsertByYearId ( customerId , yearId , gridYearlyList ) ;
}
List < FactTagViewedAgencyMonthlyEntity > agencyMonthlyList = factTagViewedAgencyMonthlyService . getTagViewedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagViewedAgencyYearlyEntity > agencyYearlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagViewedAgencyYearlyEntity . class ) ;
factTagViewedAgencyYearlyService . deleteAndInsertByYearId ( customerId , yearId , agencyYearlyList ) ;
}
} catch ( Exception e ) {
try {
String content = String . format ( ProjectConstant . EXE_FAILED_MSG , "按年统计标签被查看次数" , customerId , yearId , e . getMessage ( ) ) ;
HttpClientManager . getInstance ( ) . sendAlarmMsg ( content ) ;
} catch ( Exception ex ) {
log . error ( "sendAlarmMsg exception" , e ) ;
}
List < FactTagViewedGridMonthlyEntity > gridMonthlyList = factTagViewedGridMonthlyService . getTagViewedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( gridMonthlyList ) ) {
List < FactTagViewedGridYearlyEntity > gridYearlyList = ConvertUtils . sourceToTarget ( gridMonthlyList , FactTagViewedGridYearlyEntity . class ) ;
factTagViewedGridYearlyService . deleteAndInsertByYearId ( customerId , yearId , gridYearlyList ) ;
}
List < FactTagViewedAgencyMonthlyEntity > agencyMonthlyList = factTagViewedAgencyMonthlyService . getTagViewedCountByYearId ( customerId , yearId ) ;
if ( ! CollectionUtils . isEmpty ( agencyMonthlyList ) ) {
List < FactTagViewedAgencyYearlyEntity > agencyYearlyList = ConvertUtils . sourceToTarget ( agencyMonthlyList , FactTagViewedAgencyYearlyEntity . class ) ;
factTagViewedAgencyYearlyService . deleteAndInsertByYearId ( customerId , yearId , agencyYearlyList ) ;
}
}
private void setTagUsedData2ParentAgency ( Map < String , DimAgencyEntity > dimAgencyEntityMap , Map < String , FactTagUsedAgencyDailyEntity > agencyDailyEntityMap , FactTagUsedAgencyDailyEntity currentEntity , DimIdGenerator . DimIdBean dimIdBean ) {