|  |  | @ -5,6 +5,7 @@ import com.epmet.commons.tools.constant.NumConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.constant.StrConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.ConvertUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.DateUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.HttpClientManager; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.constant.DimAgencyConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.constant.ProjectConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.voice.ArticleGridPublishedSummaryDTO; | 
			
		
	
	
		
			
				
					|  |  | @ -160,8 +161,8 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 				for (String customerId : customerIdList) { | 
			
		
	
		
			
				
					|  |  |  | 					Date finalStatsDate = statsDate; | 
			
		
	
		
			
				
					|  |  |  | 					//executorService.submit(() -> {
 | 
			
		
	
		
			
				
					|  |  |  | 						//统计
 | 
			
		
	
		
			
				
					|  |  |  | 						statsTagUsedDaily(finalStatsDate, dimIdBean, customerId); | 
			
		
	
		
			
				
					|  |  |  | 					//统计
 | 
			
		
	
		
			
				
					|  |  |  | 					statsTagUsedDaily(finalStatsDate, dimIdBean, customerId); | 
			
		
	
		
			
				
					|  |  |  | 					//});
 | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
	
		
			
				
					|  |  | @ -218,10 +219,8 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 			if (!CollectionUtils.isEmpty(customerIdList)) { | 
			
		
	
		
			
				
					|  |  |  | 				for (String customerId : customerIdList) { | 
			
		
	
		
			
				
					|  |  |  | 					Date finalStatsDate = statsDate; | 
			
		
	
		
			
				
					|  |  |  | 					//executorService.submit(() -> {
 | 
			
		
	
		
			
				
					|  |  |  | 					//统计
 | 
			
		
	
		
			
				
					|  |  |  | 					statsTagViewedDaily(finalStatsDate, dimIdBean, customerId); | 
			
		
	
		
			
				
					|  |  |  | 					//});
 | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize); | 
			
		
	
	
		
			
				
					|  |  | @ -245,13 +244,11 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 			customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize); | 
			
		
	
		
			
				
					|  |  |  | 			if (!CollectionUtils.isEmpty(customerIdList)) { | 
			
		
	
		
			
				
					|  |  |  | 				for (String customerId : customerIdList) { | 
			
		
	
		
			
				
					|  |  |  | 					executorService.submit(() -> { | 
			
		
	
		
			
				
					|  |  |  | 						try { | 
			
		
	
		
			
				
					|  |  |  | 							statsTagViewedMonthly(dimIdBean.getMonthId(), customerId); | 
			
		
	
		
			
				
					|  |  |  | 						} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  | 							log.error("statsTagViewedMonthly exception", e); | 
			
		
	
		
			
				
					|  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  | 					}); | 
			
		
	
		
			
				
					|  |  |  | 					try { | 
			
		
	
		
			
				
					|  |  |  | 						statsTagViewedMonthly(dimIdBean.getMonthId(), customerId); | 
			
		
	
		
			
				
					|  |  |  | 					} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  | 						log.error("statsTagViewedMonthly exception", e); | 
			
		
	
		
			
				
					|  |  |  | 					} | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize); | 
			
		
	
	
		
			
				
					|  |  | @ -343,7 +340,8 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 			log.warn("publicitySummary getDepartmentListByCustomerId return empty,customerId:{}", customerId); | 
			
		
	
		
			
				
					|  |  |  | 			return; | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		executorService.submit(() -> { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  | 			//转换为 需要插入的Entity
 | 
			
		
	
		
			
				
					|  |  |  | 			Map<String, FactArticlePublishedDepartmentDailyEntity> departmentDailyEntityMap = convertDepartmentDailyEntity(departmentDTOList, dimIdBean); | 
			
		
	
		
			
				
					|  |  |  | 			//获取当天的业务数据
 | 
			
		
	
	
		
			
				
					|  |  | @ -364,7 +362,15 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			boolean b = factArticlePublishedDepartmentDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), departmentDailyEntityMap.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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	/** | 
			
		
	
	
		
			
				
					|  |  | @ -394,7 +400,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  | 	 * desc:按日统计 网格纬度的 文章总数数据 | 
			
		
	
		
			
				
					|  |  |  | 	 * desc:按日统计 文章总数数据 | 
			
		
	
		
			
				
					|  |  |  | 	 * | 
			
		
	
		
			
				
					|  |  |  | 	 * @param statsDate | 
			
		
	
		
			
				
					|  |  |  | 	 * @param dimIdBean | 
			
		
	
	
		
			
				
					|  |  | @ -408,31 +414,37 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 			log.warn("publicitySummary getGridListByCustomerId return empty,customerId:{}", customerId); | 
			
		
	
		
			
				
					|  |  |  | 			return; | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		executorService.submit(() -> { | 
			
		
	
		
			
				
					|  |  |  | 			try { | 
			
		
	
		
			
				
					|  |  |  | 				//转换为 需要插入的Entity
 | 
			
		
	
		
			
				
					|  |  |  | 				Map<String, FactArticlePublishedGridDailyEntity> gridDailyEntityMap = convertGridDailyEntity(gridDTOList, dimIdBean); | 
			
		
	
		
			
				
					|  |  |  | 				//获取当天的业务数据
 | 
			
		
	
		
			
				
					|  |  |  | 				List<ArticleGridPublishedSummaryDTO> publishedArticleCount = articleService.getAllGridPublishedCount(customerId, statsDate); | 
			
		
	
		
			
				
					|  |  |  | 				if (!CollectionUtils.isEmpty(publishedArticleCount)) { | 
			
		
	
		
			
				
					|  |  |  | 					for (ArticleGridPublishedSummaryDTO summaryDTO : publishedArticleCount) { | 
			
		
	
		
			
				
					|  |  |  | 						FactArticlePublishedGridDailyEntity gridDailyEntity = gridDailyEntityMap.get(summaryDTO.getPublisherId()); | 
			
		
	
		
			
				
					|  |  |  | 						if (gridDailyEntity == null) { | 
			
		
	
		
			
				
					|  |  |  | 							log.error("publicitySummary getAllGridPublishedCount gridId:{} not exist in dimGrid", summaryDTO.getGridId()); | 
			
		
	
		
			
				
					|  |  |  | 							continue; | 
			
		
	
		
			
				
					|  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  | 						gridDailyEntity.setArticleTotalCount(summaryDTO.getArticleTotalCount()); | 
			
		
	
		
			
				
					|  |  |  | 						gridDailyEntity.setArticlePublishedCount(summaryDTO.getArticlePublishedCount()); | 
			
		
	
		
			
				
					|  |  |  | 						gridDailyEntity.setPublishedCount(summaryDTO.getPublishedCount()); | 
			
		
	
		
			
				
					|  |  |  | 						//同一个机关下数据累加
 | 
			
		
	
		
			
				
					|  |  |  | 						buildAgencySummaryData(agencySummaryMap, summaryDTO); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  | 			//转换为 需要插入的Entity
 | 
			
		
	
		
			
				
					|  |  |  | 			Map<String, FactArticlePublishedGridDailyEntity> gridDailyEntityMap = convertGridDailyEntity(gridDTOList, dimIdBean); | 
			
		
	
		
			
				
					|  |  |  | 			//获取当天的业务数据
 | 
			
		
	
		
			
				
					|  |  |  | 			List<ArticleGridPublishedSummaryDTO> publishedArticleCount = articleService.getAllGridPublishedCount(customerId, statsDate); | 
			
		
	
		
			
				
					|  |  |  | 			if (!CollectionUtils.isEmpty(publishedArticleCount)) { | 
			
		
	
		
			
				
					|  |  |  | 				for (ArticleGridPublishedSummaryDTO summaryDTO : publishedArticleCount) { | 
			
		
	
		
			
				
					|  |  |  | 					FactArticlePublishedGridDailyEntity gridDailyEntity = gridDailyEntityMap.get(summaryDTO.getPublisherId()); | 
			
		
	
		
			
				
					|  |  |  | 					if (gridDailyEntity == null) { | 
			
		
	
		
			
				
					|  |  |  | 						log.error("publicitySummary getAllGridPublishedCount gridId:{} not exist in dimGrid", summaryDTO.getGridId()); | 
			
		
	
		
			
				
					|  |  |  | 						continue; | 
			
		
	
		
			
				
					|  |  |  | 					} | 
			
		
	
		
			
				
					|  |  |  | 					gridDailyEntity.setArticleTotalCount(summaryDTO.getArticleTotalCount()); | 
			
		
	
		
			
				
					|  |  |  | 					gridDailyEntity.setArticlePublishedCount(summaryDTO.getArticlePublishedCount()); | 
			
		
	
		
			
				
					|  |  |  | 					gridDailyEntity.setPublishedCount(summaryDTO.getPublishedCount()); | 
			
		
	
		
			
				
					|  |  |  | 					//同一个机关下数据累加
 | 
			
		
	
		
			
				
					|  |  |  | 					buildAgencySummaryData(agencySummaryMap, summaryDTO); | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 				boolean b = factArticlePublishedGridDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), gridDailyEntityMap.values()); | 
			
		
	
		
			
				
					|  |  |  | 			} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  | 				log.error("statsPublishedGridDaily exception customerId:{},statsDate:{}", customerId, statsDate); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		}); | 
			
		
	
		
			
				
					|  |  |  | 			boolean b = factArticlePublishedGridDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), gridDailyEntityMap.values()); | 
			
		
	
		
			
				
					|  |  |  | 		} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  | 			log.error("statsPublishedGridDaily exception customerId:{},statsDate:{}", customerId, statsDate); | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -443,7 +455,6 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 			log.warn("publicitySummary getAgencyListByCustomerId return empty,customerId:{}", customerId); | 
			
		
	
		
			
				
					|  |  |  | 			return; | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		executorService.submit(() -> { | 
			
		
	
		
			
				
					|  |  |  | 		try { | 
			
		
	
		
			
				
					|  |  |  | 			//转换为 需要插入的Entity
 | 
			
		
	
		
			
				
					|  |  |  | 			Map<String, FactArticlePublishedAgencyDailyEntity> agencyDailyEntityMap = convertAgencyDailyEntity(agencyDTOList, dimIdBean); | 
			
		
	
	
		
			
				
					|  |  | @ -492,18 +503,22 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 			if (!CollectionUtils.isEmpty(haveDataAgencyDailySelfMap)) { | 
			
		
	
		
			
				
					|  |  |  | 				agencyDailyEntityMap.putAll(haveDataAgencyDailySelfMap); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			log.debug("statsPublishedAgencyDaily insert:{}",JSON.toJSONString(agencyDailyEntityMap.values())); | 
			
		
	
		
			
				
					|  |  |  | 			log.debug("statsPublishedAgencyDaily insert:{}", JSON.toJSONString(agencyDailyEntityMap.values())); | 
			
		
	
		
			
				
					|  |  |  | 			boolean b = factArticlePublishedAgencyDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), agencyDailyEntityMap.values()); | 
			
		
	
		
			
				
					|  |  |  | 		} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  | 			e.printStackTrace(); | 
			
		
	
		
			
				
					|  |  |  | 			log.error("statsPublishedAgencyDaily exception,customer:{}",customerId); | 
			
		
	
		
			
				
					|  |  |  | 			log.error("statsPublishedAgencyDaily exception,customer:{}", customerId); | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		}); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	/** | 
			
		
	
		
			
				
					|  |  |  | 	 * desc:按日统计 网格纬度的 标签被使用的次数 | 
			
		
	
		
			
				
					|  |  |  | 	 * desc:按日统计 标签被使用的次数 | 
			
		
	
		
			
				
					|  |  |  | 	 * | 
			
		
	
		
			
				
					|  |  |  | 	 * @param statsDate | 
			
		
	
		
			
				
					|  |  |  | 	 * @param dimIdBean | 
			
		
	
	
		
			
				
					|  |  | @ -581,13 +596,17 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 				setTagUsedData2ParentAgency(dimAgencyEntityMap, finalTagUsedAgencyDailyMap, currentEntity, dimIdBean); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			if (!CollectionUtils.isEmpty(tagUsedAgencyDailySelfMap)){ | 
			
		
	
		
			
				
					|  |  |  | 			if (!CollectionUtils.isEmpty(tagUsedAgencyDailySelfMap)) { | 
			
		
	
		
			
				
					|  |  |  | 				finalTagUsedAgencyDailyMap.putAll(tagUsedAgencyDailySelfMap); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			factTagUsedAgencyDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), finalTagUsedAgencyDailyMap.values()); | 
			
		
	
		
			
				
					|  |  |  | 		} catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  | 			e.printStackTrace(); | 
			
		
	
		
			
				
					|  |  |  | 			//log.error();
 | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -599,88 +618,98 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	 * @param customerId | 
			
		
	
		
			
				
					|  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  | 	private void statsTagViewedDaily(Date statsDate, DimIdGenerator.DimIdBean dimIdBean, String customerId) { | 
			
		
	
		
			
				
					|  |  |  | 		//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; | 
			
		
	
		
			
				
					|  |  |  | 		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; | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			ArticleEntity articleEntity = articleService.selectArticleById(viewedSummaryDTO.getArticleId()); | 
			
		
	
		
			
				
					|  |  |  | 			if (articleEntity == null) { | 
			
		
	
		
			
				
					|  |  |  | 				continue; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 			List<DimGridEntity> dimGridList = dimGridService.getGridListByCustomerId(customerId); | 
			
		
	
		
			
				
					|  |  |  | 			if (CollectionUtils.isEmpty(dimGridList)) { | 
			
		
	
		
			
				
					|  |  |  | 				log.debug("statsTagViewedDaily customerId:{} have any grid", customerId); | 
			
		
	
		
			
				
					|  |  |  | 				return; | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			boolean isAgencyPublished = false; | 
			
		
	
		
			
				
					|  |  |  | 			if (ProjectConstant.PUBLISHER_TYPE_AGENCY.equals(articleEntity.getPublisherType())) { | 
			
		
	
		
			
				
					|  |  |  | 				isAgencyPublished = true; | 
			
		
	
		
			
				
					|  |  |  | 			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; | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 					} | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 		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; | 
			
		
	
		
			
				
					|  |  |  | 					log.error("dimAgencyEntityMap bizData agencyId:{} not exist in dimAgency", agencyId); | 
			
		
	
		
			
				
					|  |  |  | 					continue; | 
			
		
	
		
			
				
					|  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  | 				setTagViewedData2ParentAgency(dimAgencyEntityMap, finalTagUsedAgencyDailyMap, currentEntity, dimIdBean); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			setTagViewedData2ParentAgency(dimAgencyEntityMap, finalTagUsedAgencyDailyMap, currentEntity, dimIdBean); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		if (!CollectionUtils.isEmpty(tagViewedAgencyDailySelfMap)) { | 
			
		
	
		
			
				
					|  |  |  | 			finalTagUsedAgencyDailyMap.putAll(tagViewedAgencyDailySelfMap); | 
			
		
	
		
			
				
					|  |  |  | 			if (!CollectionUtils.isEmpty(tagViewedAgencyDailySelfMap)) { | 
			
		
	
		
			
				
					|  |  |  | 				finalTagUsedAgencyDailyMap.putAll(tagViewedAgencyDailySelfMap); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		factTagViewedAgencyDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), finalTagUsedAgencyDailyMap.values()); | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	/** | 
			
		
	
	
		
			
				
					|  |  | @ -690,20 +719,29 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	 * @param customerId | 
			
		
	
		
			
				
					|  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  | 	private void statsTagUsedMonthly(String monthId, String customerId) { | 
			
		
	
		
			
				
					|  |  |  | 		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)); | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -714,16 +752,25 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	 * @param customerId | 
			
		
	
		
			
				
					|  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  | 	private void statsTagViewedMonthly(String monthId, String customerId) { | 
			
		
	
		
			
				
					|  |  |  | 		List<FactTagViewedGridDailyEntity> gridDailyList = factTagViewedGridDailyService.getTagViewedCountByMonth(customerId, monthId); | 
			
		
	
		
			
				
					|  |  |  | 		if (!CollectionUtils.isEmpty(gridDailyList)) { | 
			
		
	
		
			
				
					|  |  |  | 			List<FactTagViewedGridMonthlyEntity> gridMonthlyList = ConvertUtils.sourceToTarget(gridDailyList, FactTagViewedGridMonthlyEntity.class); | 
			
		
	
		
			
				
					|  |  |  | 			factTagViewedGridMonthlyService.deleteAndInsertByMonthId(customerId, monthId, gridMonthlyList); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		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)); | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -734,20 +781,29 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	 * @param customerId | 
			
		
	
		
			
				
					|  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  | 	private void statsTagUsedQuarterly(String quarterId, String customerId) { | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -758,16 +814,25 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	 * @param customerId | 
			
		
	
		
			
				
					|  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  | 	private void statsTagViewedQuarterly(String quarterId, String customerId) { | 
			
		
	
		
			
				
					|  |  |  | 		List<FactTagViewedGridMonthlyEntity> gridMonthlyList = factTagViewedGridMonthlyService.getTagViewedCountByQuarterId(customerId, quarterId); | 
			
		
	
		
			
				
					|  |  |  | 		if (!CollectionUtils.isEmpty(gridMonthlyList)) { | 
			
		
	
		
			
				
					|  |  |  | 			List<FactTagViewedGridQuarterlyEntity> gridQuarterlyList = ConvertUtils.sourceToTarget(gridMonthlyList, FactTagViewedGridQuarterlyEntity.class); | 
			
		
	
		
			
				
					|  |  |  | 			factTagViewedGridQuarterlyService.deleteAndInsertByQuarterId(customerId, quarterId, gridQuarterlyList); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 			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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -778,20 +843,29 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	 * @param customerId | 
			
		
	
		
			
				
					|  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  | 	private void statsTagUsedYearly(String yearId, String customerId) { | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -802,15 +876,25 @@ public class StatsPublicityServiceImpl implements StatsPublicityService { | 
			
		
	
		
			
				
					|  |  |  | 	 * @param customerId | 
			
		
	
		
			
				
					|  |  |  | 	 */ | 
			
		
	
		
			
				
					|  |  |  | 	private void statsTagViewedYearly(String yearId, String customerId) { | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 		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); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 |