diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java index 8302d08e49..1381870afa 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java @@ -14,18 +14,12 @@ public class BaseStatsDataResultDTO implements Serializable { private Integer topicTotal; private Integer topicIncr; - // private Integer topicToIssueTotal; private Integer issueTotal; private Integer issueIncr; - // private Integer issueToProjectTotal; private Integer projectTotal; private Integer projectIncr; private Integer closedProjectTotal; private Integer closedProjectIncr; -// private Integer patrolTotal; -// private Integer patrolTotalTime; -// private Integer orgId; -// private Integer orgName; diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/UserAndGroupTotalResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/UserAndGroupTotalResultDTO.java new file mode 100644 index 0000000000..7572ecd1ae --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/UserAndGroupTotalResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dataaggre.dto.datastats.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 对外接口--查询当前组织的用户和小组总数数 + * @Auth sun + */ +@Data +public class UserAndGroupTotalResultDTO implements Serializable { + private static final long serialVersionUID = 3564816296202777303L; + //话题总数 + private Integer userTotal = 0; + //小组总数 + private Integer groupTotal = 0; + private Integer sort = 1; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java index 8a0c8ae877..680d16023f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java @@ -7,10 +7,7 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.datastats.form.BaseDataFormDTO; -import com.epmet.dataaggre.dto.datastats.result.BaseStatsDataResultDTO; -import com.epmet.dataaggre.dto.datastats.result.SubTopicAndGroupResultDTO; -import com.epmet.dataaggre.dto.datastats.result.SubUserTotalResultDTO; -import com.epmet.dataaggre.dto.datastats.result.WorkFactResultDTO; +import com.epmet.dataaggre.dto.datastats.result.*; import com.epmet.dataaggre.service.datastats.DataStatsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -93,11 +90,21 @@ public class PubController { return new Result>().ok(data); } + /** + * @Param formDTO + * @Description 对外接口--查询当前组织的用户和小组总数数 + * @author sun + */ + @PostMapping("getUserAndGroupTotal") + public Result getUserAndGroupTotal(@RequestBody BaseDataFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class); + return new Result().ok(dataStatsService.getUserAndGroupTotal(formDTO)); + } + /** * 导出数据,使用map接收 * * @param formDTO - * @param response * @throws IOException * @return */ 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 46f7e64cb6..e9772bf321 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 @@ -276,9 +276,28 @@ public interface DataStatsDao { /** * 获取话题相关总数 + * * @param agencyList * @param dateId * @return */ List getSubSumAgencyTopic(@Param("agencyList") List agencyList, @Param("dateId") String dateId); + + /** + * desc:获取用户总数 + * + * @param agencyList + * @param dateId + * @return + */ + TotalAndIncrResultDTO getAgencySumUser(@Param("agencyList") List agencyList, @Param("dateId") String dateId); + + /** + * desc:获取小组总数 + * + * @param agencyList + * @param dateId + * @return + */ + TotalAndIncrResultDTO getAgencySumGroup(@Param("agencyList") List agencyList, @Param("dateId") String dateId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java index 9db20ef41c..8d0cb5fa76 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java @@ -211,4 +211,14 @@ public interface DataStatsService { * @param formDTO */ List subTopicAndGroup(BaseDataFormDTO formDTO); + + /** + * desc: 对外接口--查询当前组织的用户和小组总数数 + * + * @param formDTO + * @return java.util.List + * @author LiuJanJun + * @date 2021/8/12 2:23 下午 + */ + UserAndGroupTotalResultDTO getUserAndGroupTotal(BaseDataFormDTO formDTO); } 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 0fede9e608..d89badcfaa 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 @@ -1799,4 +1799,27 @@ public class DataStatsServiceImpl implements DataStatsService { return resultList; } + @Override + public UserAndGroupTotalResultDTO getUserAndGroupTotal(BaseDataFormDTO formDTO) { + //入参有日期的则按具体时间执行,没有的则按当前时间前一天执行 + 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)); + } + UserAndGroupTotalResultDTO result = new UserAndGroupTotalResultDTO(); + + //0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表 + List agencyList = indexService.getAgencyIdsByAgencyId(formDTO.getAgencyId()); + agencyList.add(formDTO.getAgencyId()); + + //3-2.查询组织下用户 + TotalAndIncrResultDTO userTotal = dataStatsDao.getAgencySumUser(agencyList, formDTO.getDateId()); + result.setUserTotal(userTotal == null? NumConstant.ZERO:userTotal.getTotal()); + //3-3.查询直属下级组织小组日统计数据 + TotalAndIncrResultDTO groupTotal = dataStatsDao.getAgencySumGroup(agencyList, formDTO.getDateId()); + result.setGroupTotal(groupTotal == null? NumConstant.ZERO:groupTotal.getTotal()); + return result; + } + } 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 eb3f9c7d33..ca06b808fe 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 @@ -742,5 +742,31 @@ agency_id = #{agencyId} + +