|  |  | @ -4,11 +4,13 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.extappauth.bean.ExternalAppRequestParam; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.constant.NumConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.constant.DataSourceConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.datareport.dao.evaluationindex.screen.ScreenPartyUserRankDataDao; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.datareport.dao.evaluationindex.screenkc.*; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.datareport.service.evaluationindex.screen.KcScreenService; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.datareport.utils.DateUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.result.issue.*; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.result.project.*; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.result.user.*; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.evaluationindex.screen.dto.form.GroupTopicShiftIssueRatioRankFormDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.evaluationindex.screen.dto.form.GroupUserCountRankFormDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO; | 
			
		
	
	
		
			
				
					|  |  | @ -71,6 +73,30 @@ public class KcScreenServiceImpl implements KcScreenService { | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcProjectSummaryGridDailyDao projectSummaryGridDailyDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcProjectSatisGridMonthlyDao projectSatisGridMonthlyDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcUserSummaryDailyDao kcUserSummaryDailyDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcUserTrendGridMonthlyDao userTrendGridMonthlyDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenPartyUserRankDataDao partyUserRankDataDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcNewsSummaryDailyDao screenKcNewsSummaryDailyDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcNewsTrendMonthlyDao screenKcNewsTrendMonthlyDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcNewsCategoryAnalysisDao screenKcNewsCategoryAnalysisDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private ScreenKcNewsRankDao screenKcNewsRankDao; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * @param externalAppRequestParam | 
			
		
	
		
			
				
					|  |  |  |      * @Description 首页-平台各类总数 | 
			
		
	
	
		
			
				
					|  |  | @ -162,7 +188,7 @@ public class KcScreenServiceImpl implements KcScreenService { | 
			
		
	
		
			
				
					|  |  |  |         KcPartiTrendResultDTO result = new KcPartiTrendResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         trend.stream().forEach(t -> { | 
			
		
	
		
			
				
					|  |  |  |             String month = t.getMonthId().substring(4); | 
			
		
	
		
			
				
					|  |  |  |             result.getXAxis().add(new Integer(month).toString().concat("月")); | 
			
		
	
		
			
				
					|  |  |  |             result.getxAxis().add(new Integer(month).toString().concat("月")); | 
			
		
	
		
			
				
					|  |  |  |             result.getReportCountDataList().add(t.getReportCount()); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |         return result; | 
			
		
	
	
		
			
				
					|  |  | @ -319,8 +345,113 @@ public class KcScreenServiceImpl implements KcScreenService { | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public ProjectSatisfaction getProjectSatisfactionAnalyze(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |     public ProjectSatisfactionResultDTO getProjectSatisfactionAnalyze(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         List<ProjectSatisfactionResultDTO> pss = projectSatisGridMonthlyDao.getProjectSatisfactionAnalyze(customerId); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         ProjectSatisfactionResultDTO resultDTO = new ProjectSatisfactionResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         pss.stream().forEach(ps -> { | 
			
		
	
		
			
				
					|  |  |  |             String monthNo = ps.getMonthId().substring(4); | 
			
		
	
		
			
				
					|  |  |  |             resultDTO.getxAxis().add(new Integer(monthNo).toString().concat("月")); | 
			
		
	
		
			
				
					|  |  |  |             resultDTO.getGreatSatisDataList().add(ps.getGreatSatis()); | 
			
		
	
		
			
				
					|  |  |  |             resultDTO.getGoodSatisDataList().add(ps.getGoodSatis()); | 
			
		
	
		
			
				
					|  |  |  |             resultDTO.getDisSatisDataList().add(ps.getDisSatis()); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |         return resultDTO; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public UserSummaryResultDTO getUserSummary(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         return kcUserSummaryDailyDao.getUserSummary(customerId); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public KcUserTrendResultDTO getUserTrend(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         List<KcUserTrendResultDTO> userSomeNums = userTrendGridMonthlyDao.getUserTrend(customerId); | 
			
		
	
		
			
				
					|  |  |  |         KcUserTrendResultDTO trend = new KcUserTrendResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         userSomeNums.stream().forEach(usm -> { | 
			
		
	
		
			
				
					|  |  |  |             String monthStr = usm.getMonthId().substring(4); | 
			
		
	
		
			
				
					|  |  |  |             trend.getxAxis().add(new Integer(monthStr).toString().concat("月")); | 
			
		
	
		
			
				
					|  |  |  |             trend.getUserDataList().add(usm.getRegUserCount()); | 
			
		
	
		
			
				
					|  |  |  |             trend.getPartyUserDataList().add(usm.getPartyUserCount()); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return trend; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public KcUserRankResultDTO getUserRank(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         List<KcUserRankResultDTO> list = kcUserSummaryDailyDao.getUserRank(customerId); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return null; | 
			
		
	
		
			
				
					|  |  |  |         KcUserRankResultDTO rank = new KcUserRankResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         list.stream().forEach(i -> { | 
			
		
	
		
			
				
					|  |  |  |             rank.getGridNameDataList().add(i.getGridName()); | 
			
		
	
		
			
				
					|  |  |  |             rank.getTotalUserDataList().add(i.getViewUserCount()); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return rank; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public KcUserPortrayalResultDTO getUserPortrayal(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         KcUserPortrayalResultDTO.AgeDistribution ageDistribution = kcUserSummaryDailyDao.getAgeDistribution(customerId); | 
			
		
	
		
			
				
					|  |  |  |         KcUserPortrayalResultDTO.GenderDistribution genderDistribution = kcUserSummaryDailyDao.getGenderDistribution(customerId); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         KcUserPortrayalResultDTO portrayal = new KcUserPortrayalResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         portrayal.setAgeDistribution(ageDistribution); | 
			
		
	
		
			
				
					|  |  |  |         portrayal.setGenderDistribution(genderDistribution); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return portrayal; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public KcUserPointRankResultDTO getUserPointsRank(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         List<KcUserPointRankResultDTO.KcUserPoint> userPoints = partyUserRankDataDao.listUserPoints(customerId); | 
			
		
	
		
			
				
					|  |  |  |         KcUserPointRankResultDTO rank = new KcUserPointRankResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         userPoints.stream().forEach(p -> { | 
			
		
	
		
			
				
					|  |  |  |             rank.getUserNameDataList().add(p.getUserName()); | 
			
		
	
		
			
				
					|  |  |  |             rank.getPointsDataList().add(p.getPointTotal()); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |         return rank; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public ScreenKcNewsSummaryResultDTO getNewsSummary(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         return screenKcNewsSummaryDailyDao.getNewsSummary(customerId); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public ScreenKcNewsPartiTrendResultDTO getNewsPartiTrend(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         List<ScreenKcNewsPartiTrendResultDTO.ScreenKcNewsPartyCount> partyCounts = | 
			
		
	
		
			
				
					|  |  |  |                 screenKcNewsTrendMonthlyDao.getNewsPartiTrend(customerId); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         ScreenKcNewsPartiTrendResultDTO trend = new ScreenKcNewsPartiTrendResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         partyCounts.stream().forEach(pc -> { | 
			
		
	
		
			
				
					|  |  |  |             String monthId = pc.getMonthId(); | 
			
		
	
		
			
				
					|  |  |  |             trend.getxAxis().add(new Integer(monthId.substring(4)).toString().concat("月")); | 
			
		
	
		
			
				
					|  |  |  |             trend.getPartiCountDataList().add(pc.getPartiCount()); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return trend; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public List<ScreenKcCategoryNewsCountResultDTO> getNewsCountOfCategory(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         return screenKcNewsCategoryAnalysisDao.getNewsCountOfCategory(customerId); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public ScreenKcCategoryNewsRankResultDTO getNewsPartiCategoryRank(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         List<ScreenKcCategoryNewsCountResultDTO> partiCounts = screenKcNewsCategoryAnalysisDao.listNewsPartiCategoryRank(customerId); | 
			
		
	
		
			
				
					|  |  |  |         ScreenKcCategoryNewsRankResultDTO rank = new ScreenKcCategoryNewsRankResultDTO(); | 
			
		
	
		
			
				
					|  |  |  |         partiCounts.stream().forEach(pc -> { | 
			
		
	
		
			
				
					|  |  |  |             rank.getxAxis().add(pc.getCategoryName()); | 
			
		
	
		
			
				
					|  |  |  |             rank.getPartiCountDataList().add(pc.getPartiCount()); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |         return rank; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public List<ScreenKcNewsHotRankResultDTO> getNewsHotRank(String customerId) { | 
			
		
	
		
			
				
					|  |  |  |         return screenKcNewsRankDao.getNewsHotRank(customerId); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
	
		
			
				
					|  |  | 
 |