|
|
@ -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; |
|
|
@ -16,6 +18,7 @@ import com.epmet.evaluationindex.screen.dto.result.*; |
|
|
|
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO; |
|
|
|
import com.epmet.dto.result.issue.KcIssueSummary; |
|
|
|
import com.epmet.dto.result.issue.KcPartiTrendResultDTO; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
@ -71,6 +74,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 +189,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 +346,119 @@ 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); |
|
|
|
|
|
|
|
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, Integer pageNo, Integer pageSize) { |
|
|
|
if (pageNo != null && pageSize != null) { |
|
|
|
PageHelper.startPage(pageNo, pageSize); |
|
|
|
} |
|
|
|
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 null; |
|
|
|
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, Integer pageNo, Integer pageSize) { |
|
|
|
if (pageNo != null && pageSize != null) { |
|
|
|
PageHelper.startPage(pageNo, pageSize); |
|
|
|
} |
|
|
|
return screenKcNewsRankDao.getNewsHotRank(customerId); |
|
|
|
} |
|
|
|
} |
|
|
|