diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java index 609cf1729a..9f8c5fd1b1 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java @@ -20,6 +20,10 @@ public class AgenctBasicDataFormDTO implements Serializable { */ @NotBlank(message = "组织ID不能为空",groups = AgenctBasicDataFormDTO.Agency.class) private String agencyId; + /** + * 日维度Id + */ + private String dateId; public interface Agency extends CustomerClientShowGroup{} } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java index cfc28bc839..c0ef0d6e14 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java @@ -38,37 +38,37 @@ public interface DataStatsDao { * @Description 查询组织下注册用户最新日统计数据 * @author sun */ - AgencyBasicDataResultDTO getAgnecyRegUser(@Param("agencyId") String agencyId); + AgencyBasicDataResultDTO getAgnecyRegUser(@Param("agencyId") String agencyId, @Param("dateId") String dateId); /** * @Description 查询组织下最新群组日统计数据 * @author sun */ - AgencyBasicDataResultDTO getAgnecyGroup(@Param("agencyId") String agencyId); + AgencyBasicDataResultDTO getAgnecyGroup(@Param("agencyId") String agencyId, @Param("dateId") String dateId); /** * @Description 查询组织下最新状态话题-机关日统计数据表 * @author sun */ - List getAgencyTopic(@Param("agencyId") String agencyId); + List getAgencyTopic(@Param("agencyId") String agencyId, @Param("dateId") String dateId); /** * @Description 查询组织下最新转议题话题-机关日统计数据表 * @author sun */ - AgencyBasicDataResultDTO.Topic getAgencyTopicShiftIssue(@Param("agencyId") String agencyId); + AgencyBasicDataResultDTO.Topic getAgencyTopicShiftIssue(@Param("agencyId") String agencyId, @Param("dateId") String dateId); /** * @Description 查询组织下最新议题日统计数据 * @author sun */ - AgencyBasicDataResultDTO getAgencyIssue(@Param("agencyId") String agencyId); + AgencyBasicDataResultDTO getAgencyIssue(@Param("agencyId") String agencyId, @Param("dateId") String dateId); /** * @Description 查询组织下最新项目日统计数据 * @author sun */ - AgencyBasicDataResultDTO getAgencyProject(@Param("agencyId") String agencyId); + AgencyBasicDataResultDTO getAgencyProject(@Param("agencyId") String agencyId, @Param("dateId") String dateId); /** * @Description 查询当前组织的直属下级组织信息 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 1587588412..0c4465b7fe 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -53,8 +53,15 @@ public class DataStatsServiceImpl implements DataStatsService { NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setMaximumFractionDigits(NumConstant.SIX); + //入参有日期的则按具体时间执行,没有的则按当前时间前一天执行 + if (StringUtils.isBlank(formDTO.getDateId())) { + Date yesterday = DateUtils.addDateDays(new Date(), -1); + SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD); + formDTO.setDateId(format.format(yesterday)); + } + //1.查询组织下注册用户最新日统计数据【只查询注册用户的统计数据,不涉及参与用户的】 - AgencyBasicDataResultDTO user = dataStatsDao.getAgnecyRegUser(formDTO.getAgencyId()); + AgencyBasicDataResultDTO user = dataStatsDao.getAgnecyRegUser(formDTO.getAgencyId(), formDTO.getDateId()); if (null != user) { resultDTO.setUserTotal(user.getUserTotal()); resultDTO.setResiTotal(user.getResiTotal()); @@ -64,7 +71,7 @@ public class DataStatsServiceImpl implements DataStatsService { } //2.查询组织下最新群组日统计数据 - AgencyBasicDataResultDTO group = dataStatsDao.getAgnecyGroup(formDTO.getAgencyId()); + AgencyBasicDataResultDTO group = dataStatsDao.getAgnecyGroup(formDTO.getAgencyId(), formDTO.getDateId()); if (null != user) { resultDTO.setGroupTotal(group.getGroupTotal()); resultDTO.setOrdinaryTotal(group.getOrdinaryTotal()); @@ -76,9 +83,9 @@ public class DataStatsServiceImpl implements DataStatsService { //3.查询组织下最新话题日统计数据 //状态话题-机关日统计数据表最新日期三种状态数据 //机关日表里三种类型数据之和就是话题总量,讨论中数量与热议中不是一个概念,热议中=总量-关闭数-屏蔽数-转议题数 - List topic = dataStatsDao.getAgencyTopic(formDTO.getAgencyId()); + List topic = dataStatsDao.getAgencyTopic(formDTO.getAgencyId(), formDTO.getDateId()); //转议题话题-机关日统计数据表 - AgencyBasicDataResultDTO.Topic topicSHiftIssue = dataStatsDao.getAgencyTopicShiftIssue(formDTO.getAgencyId()); + AgencyBasicDataResultDTO.Topic topicSHiftIssue = dataStatsDao.getAgencyTopicShiftIssue(formDTO.getAgencyId(), formDTO.getDateId()); AtomicReference closedTotal = new AtomicReference<>(0); AtomicReference hiddenTotal = new AtomicReference<>(0); if (topic.size()>NumConstant.ZERO) { @@ -98,7 +105,7 @@ public class DataStatsServiceImpl implements DataStatsService { resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal()))); //4.查询组织下最新议题日统计数据 - AgencyBasicDataResultDTO issue = dataStatsDao.getAgencyIssue(formDTO.getAgencyId()); + AgencyBasicDataResultDTO issue = dataStatsDao.getAgencyIssue(formDTO.getAgencyId(), formDTO.getDateId()); if (null != issue) { resultDTO.setIssueTotal(issue.getIssueTotal()); resultDTO.setVotingTotal(issue.getVotingTotal()); @@ -110,7 +117,7 @@ public class DataStatsServiceImpl implements DataStatsService { } //5.查询组织下最新项目日统计数据 - AgencyBasicDataResultDTO project = dataStatsDao.getAgencyProject(formDTO.getAgencyId()); + AgencyBasicDataResultDTO project = dataStatsDao.getAgencyProject(formDTO.getAgencyId(), formDTO.getDateId()); if (null != project) { resultDTO.setProjectTotal(project.getProjectTotal()); resultDTO.setPendingTotal(project.getPendingTotal()); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml index b07c649371..43ea7b7e85 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml @@ -13,8 +13,7 @@ WHERE del_flag = '0' AND agency_id = #{agencyId} - ORDER BY - date_id DESC + AND date_id = #{dateId} LIMIT 1 @@ -28,8 +27,7 @@ WHERE del_flag = '0' AND agency_id = #{agencyId} - ORDER BY - date_id DESC + AND date_id = #{dateId} LIMIT 1 @@ -43,8 +41,7 @@ del_flag = '0' AND topic_status_id in('discussing','closed','hidden') AND agency_id = #{agencyId} - ORDER BY - date_id DESC + AND date_id = #{dateId} LIMIT 3 @@ -57,8 +54,7 @@ WHERE del_flag = '0' AND agency_id = #{agencyId} - ORDER BY - date_id DESC + AND date_id = #{dateId} LIMIT 1 @@ -73,8 +69,7 @@ WHERE del_flag = '0' AND agency_id = #{agencyId} - ORDER BY - date_id DESC + AND date_id = #{dateId} LIMIT 1 @@ -88,8 +83,7 @@ WHERE del_flag = '0' AND agency_id = '8631fa4b22e88fdc259b3f51b5de2be2' - ORDER BY - date_id DESC + AND date_id = #{dateId} LIMIT 1