Browse Source

查询用户和小组总数

dev_shibei_match
jianjun 4 years ago
parent
commit
1894d9da3c
  1. 6
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java
  2. 20
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/UserAndGroupTotalResultDTO.java
  3. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java
  4. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  5. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  6. 23
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  7. 26
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

6
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;

20
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;
}

17
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<List<SubTopicAndGroupResultDTO>>().ok(data);
}
/**
* @Param formDTO
* @Description 对外接口--查询当前组织的用户和小组总数数
* @author sun
*/
@PostMapping("getUserAndGroupTotal")
public Result<UserAndGroupTotalResultDTO> getUserAndGroupTotal(@RequestBody BaseDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class);
return new Result<UserAndGroupTotalResultDTO>().ok(dataStatsService.getUserAndGroupTotal(formDTO));
}
/**
* 导出数据使用map接收
*
* @param formDTO
* @param response
* @throws IOException
* @return
*/

19
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<BaseStatsDataResultDTO> getSubSumAgencyTopic(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
/**
* desc:获取用户总数
*
* @param agencyList
* @param dateId
* @return
*/
TotalAndIncrResultDTO getAgencySumUser(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
/**
* desc:获取小组总数
*
* @param agencyList
* @param dateId
* @return
*/
TotalAndIncrResultDTO getAgencySumGroup(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
}

10
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<SubTopicAndGroupResultDTO> subTopicAndGroup(BaseDataFormDTO formDTO);
/**
* desc: 对外接口--查询当前组织的用户和小组总数数
*
* @param formDTO
* @return java.util.List<com.epmet.dataaggre.dto.datastats.result.UserAndGroupTotalResultDTO>
* @author LiuJanJun
* @date 2021/8/12 2:23 下午
*/
UserAndGroupTotalResultDTO getUserAndGroupTotal(BaseDataFormDTO formDTO);
}

23
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<String> 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;
}
}

26
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -742,5 +742,31 @@
agency_id = #{agencyId}
</foreach>
</select>
<select id="getAgencySumUser" resultType="com.epmet.dataaggre.dto.datastats.result.TotalAndIncrResultDTO">
SELECT
SUM(reg_total) AS total
FROM
fact_reg_user_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyList" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
</select>
<select id="getAgencySumGroup" resultType="com.epmet.dataaggre.dto.datastats.result.TotalAndIncrResultDTO">
SELECT
group_total AS total
FROM
fact_group_total_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyList" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY
group_total DESC
</select>
</mapper>

Loading…
Cancel
Save