Browse Source

Merge remote-tracking branch 'origin/dev_data_stats' into dev_data_stats

# Conflicts:
#	epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
#	epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsTopicServiceImpl.java
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsUserServiceImpl.java
dev
wangchao 5 years ago
parent
commit
cdc1ac701e
  1. 2
      epmet-auth/deploy/docker-compose-dev.yml
  2. 2
      epmet-auth/pom.xml
  3. 17
      epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java
  4. 19
      epmet-auth/src/main/java/com/epmet/dto/form/UpdateCachedRolesFormDTO.java
  5. 7
      epmet-auth/src/main/java/com/epmet/service/GovLoginService.java
  6. 12
      epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java
  7. 2
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/publicity/dto/result/FactTagAgencyDTO.java
  8. 7
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubAgencyResultDTO.java
  9. 7
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubGridResultDTO.java
  10. 6
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryInfoResultDTO.java
  11. 10
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryResultDTO.java
  12. 2
      epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml
  13. 2
      epmet-module/data-report/data-report-server/pom.xml
  14. 9
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/issue/IssueDao.java
  15. 5
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/impl/GroupServiceImpl.java
  16. 26
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/impl/IssueServiceImpl.java
  17. 62
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java
  18. 50
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/impl/UserAnalysisServiceImpl.java
  19. 8
      epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml
  20. 11
      epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml
  21. 21
      epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/PublicityDao.xml
  22. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml
  23. 4
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/IssueConstant.java
  24. 8
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  25. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
  26. 2
      epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml
  27. 2
      epmet-module/data-statistical/data-statistical-server/pom.xml
  28. 30
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java
  29. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/StatsIssueController.java
  30. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java
  31. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java
  32. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java
  33. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/StatsIssueService.java
  34. 92
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java
  35. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java
  36. 96
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsPublicityServiceImpl.java
  37. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimMonthServiceImpl.java
  38. 20
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimQuarterServiceImpl.java
  39. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimWeekServiceImpl.java
  40. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimYearServiceImpl.java
  41. 74
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml
  42. 6
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml
  43. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactTagUsedAgencyDailyDao.xml
  44. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactTagUsedDepartmentDailyDao.xml
  45. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactTagUsedGridDailyDao.xml
  46. 2
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml
  47. 2
      epmet-module/epmet-job/epmet-job-server/pom.xml
  48. 9
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/DimInitService.java
  49. 19
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/DimInitServiceImpl.java
  50. 31
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/DimInitTask.java
  51. 2
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/PublicityTagViewedQuarterlyAndYearlyhlyStatsTask.java
  52. 19
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UpdateCachedRolesFormDTO.java
  53. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java
  54. 2
      epmet-user/epmet-user-server/deploy/docker-compose-dev.yml
  55. 2
      epmet-user/epmet-user-server/pom.xml
  56. 23
      epmet-user/epmet-user-server/src/main/java/com/epmet/feign/AuthFeignClient.java
  57. 17
      epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/AuthFeignClientCallback.java
  58. 29
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  59. 25
      epmet-user/epmet-user-server/src/test/java/com/epmet/epmetuser/test/UserControllerTest.java

2
epmet-auth/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.23
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.25
ports:
- "8081:8081"
network_mode: host # 使用现有网络

2
epmet-auth/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.23</version>
<version>0.3.25</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>

17
epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java

@ -4,10 +4,7 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.GovWxmpEnteOrgFormDTO;
import com.epmet.dto.form.GovWxmpFormDTO;
import com.epmet.dto.form.SendSmsCodeFormDTO;
import com.epmet.dto.form.StaffOrgsFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.StaffOrgsResultDTO;
import com.epmet.dto.result.UserTokenResultDTO;
import com.epmet.service.GovLoginService;
@ -98,5 +95,17 @@ public class GovLoginController {
govLoginService.loginOut(tokenDto);
return new Result();
}
/**
* 更新缓存的角色列表
* @param form
* @return
*/
@PostMapping("/updatecachedroles")
public Result updateCachedRoles(@RequestBody UpdateCachedRolesFormDTO form) {
ValidatorUtils.validateEntity(form);
govLoginService.updateCachedRoles(form.getStaffId(), form.getOrgId(), form.getRoleIds());
return new Result();
}
}

19
epmet-auth/src/main/java/com/epmet/dto/form/UpdateCachedRolesFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
public class UpdateCachedRolesFormDTO {
@NotBlank(message = "客户ID不能为空")
private String staffId;
@NotBlank(message = "机关ID不能为空")
private String orgId;
private List<String> roleIds;
}

7
epmet-auth/src/main/java/com/epmet/service/GovLoginService.java

@ -61,4 +61,11 @@ public interface GovLoginService {
* @Date 2020/4/21 22:08
**/
void loginOut(TokenDto tokenDto);
/**
* 更新缓存中的角色列表
* @param staffId
* @param roleIds
*/
void updateCachedRoles(String staffId, String orgId, List<String> roleIds);
}

12
epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java

@ -2,6 +2,7 @@ package com.epmet.service.impl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
@ -290,6 +291,17 @@ public class GovLoginServiceImpl implements GovLoginService {
cpUserDetailRedis.logout(tokenDto.getApp() , tokenDto.getClient() , tokenDto.getUserId());
}
@Override
public void updateCachedRoles(String staffId, String orgId, List<String> roleIds) {
GovTokenDto userDetails = cpUserDetailRedis.get(AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP, staffId, GovTokenDto.class);
if (userDetails == null) {
return;
}
List<GovTokenDto.Role> roles = queryGovStaffRoles(staffId, orgId);
userDetails.setRoleList(roles);
cpUserDetailRedis.set(userDetails, jwtTokenProperties.getExpire());
}
//保存登录日志
private Result saveStaffLoginRecord(GovWxmpEnteOrgFormDTO formDTO, String staffId, String openId) {
StaffLoginAgencyRecordFormDTO staffLoginAgencyRecordFormDTO = new StaffLoginAgencyRecordFormDTO();

2
epmet-module/data-report/data-report-client/src/main/java/com/epmet/publicity/dto/result/FactTagAgencyDTO.java

@ -47,7 +47,7 @@ public class FactTagAgencyDTO implements Serializable {
/**
* 固定值文章数量
*/
private String type="文章数量";
private String type="阅读次数";
/**
* 机关Id

7
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubAgencyResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.topic.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -32,4 +33,10 @@ public class TopicSubAgencyResultDTO implements Serializable {
* 机关Id
*/
private String agencyId;
/**
* 排序
*/
@JsonIgnore
private Integer sort;
}

7
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubGridResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.topic.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -32,4 +33,10 @@ public class TopicSubGridResultDTO implements Serializable {
* 网格Id
*/
private String gridId;
/**
* 排序
*/
@JsonIgnore
private Integer sort;
}

6
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryInfoResultDTO.java

@ -16,15 +16,15 @@ public class TopicSummaryInfoResultDTO implements Serializable {
/**
* 名称
*/
private String name;
private String name = "";
/**
*
*/
private Integer value;
private Integer value = 0;
/**
* 百分比
*/
private String ratio;
private String ratio = "0.0%";
}

10
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryResultDTO.java

@ -16,27 +16,27 @@ public class TopicSummaryResultDTO implements Serializable {
/**
* 话题总数
*/
private Integer topicTotalCount;
private Integer topicTotalCount = 0;
/**
* 讨论中话题数量
*/
private Integer talkingTotalCount;
private Integer talkingTotalCount = 0;
/**
* 已关闭话题数量
*/
private Integer closedTotalCount;
private Integer closedTotalCount = 0;
/**
* 已屏蔽话题数量
*/
private Integer shieldedTotalCount;
private Integer shieldedTotalCount = 0;
/**
* 话题已转议题数量
*/
private Integer shiftedTotalCount;
private Integer shiftedTotalCount = 0;
/**
* 数据更新至 时间

2
epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
data-report-server:
container_name: data-report-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:0.3.5
image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:0.3.8
ports:
- "8109:8109"
network_mode: host # 使用现有网络

2
epmet-module/data-report/data-report-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.5</version>
<version>0.3.8</version>
<artifactId>data-report-server</artifactId>
<parent>

9
epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/issue/IssueDao.java

@ -18,27 +18,30 @@ public interface IssueDao {
* @author zhaoqifeng
* @date 2020/6/22 15:19
* @param agencyId
* @param dateId
* @return com.epmet.issue.dto.result.IssueDataDTO
*/
IssueDataDTO selectAgencyInfo(@Param("agencyId") String agencyId);
IssueDataDTO selectAgencyInfo(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* 获取下级机关统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:20
* @param agencyId
* @param dateId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectSubAgencyList(@Param("agencyId") String agencyId);
List<IssueDataDTO> selectSubAgencyList(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* 获取机关下网格统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:21
* @param agencyId
* @param dateId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectGridList(@Param("agencyId") String agencyId);
List<IssueDataDTO> selectGridList(@Param("agencyId") String agencyId, @Param("dateId") String dateId);
/**
* 获取当前机关日增量

5
epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/impl/GroupServiceImpl.java

@ -15,7 +15,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author zxc
@ -60,7 +62,8 @@ public class GroupServiceImpl implements GroupService {
}
});
});
return result;
//倒序
return result.stream().sorted(Comparator.comparing(GroupSubAgencyResultDTO::getValue).reversed()).collect(Collectors.toList());
}
return new ArrayList<>();
}

26
epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/impl/IssueServiceImpl.java

@ -35,11 +35,13 @@ public class IssueServiceImpl implements IssueService {
@Override
public IssueSummaryInfoResultDTO getSummaryInfo(TokenDto tokenDto) {
IssueSummaryInfoResultDTO result = new IssueSummaryInfoResultDTO();
//获取当前日期前一天
Date date = DateUtils.getBeforeDay(new Date());
//获取日期维度
String dateId = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYYMMDD);
String agencyId = getAgencyId(tokenDto);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId, dateId);
if (null == data) {
//获取当前日期前一天
Date date = DateUtils.getBeforeDay(new Date());
result.setAgencyId(agencyId);
result.setDateName(DateUtils.format(date, "yyyy.MM.dd"));
result.setIssueTotal(NumConstant.ZERO);
@ -67,7 +69,11 @@ public class IssueServiceImpl implements IssueService {
public List<IssueSummaryPieResultDTO> getSummaryPie(TokenDto tokenDto) {
List<IssueSummaryPieResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId);
//获取当前日期前一天
Date date = DateUtils.getBeforeDay(new Date());
//获取日期维度
String dateId = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYYMMDD);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId, dateId);
if (null == data) {
IssueSummaryPieResultDTO voting = new IssueSummaryPieResultDTO();
voting.setName(IssueConstant.VOTING_NAME);
@ -108,7 +114,11 @@ public class IssueServiceImpl implements IssueService {
public List<IssueSubAgencyResultDTO> getSubAgency(TokenDto tokenDto) {
List<IssueSubAgencyResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList = issueDao.selectSubAgencyList(agencyId);
//获取当前日期前一天
Date date = DateUtils.getBeforeDay(new Date());
//获取日期维度
String dateId = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYYMMDD);
List<IssueDataDTO> dataList = issueDao.selectSubAgencyList(agencyId, dateId);
if(null != dataList) {
dataList.forEach(data -> {
IssueSubAgencyResultDTO voting = new IssueSubAgencyResultDTO();
@ -138,7 +148,11 @@ public class IssueServiceImpl implements IssueService {
public List<IssueSubGridResultDTO> getSubGrid(TokenDto tokenDto) {
List<IssueSubGridResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList = issueDao.selectGridList(agencyId);
//获取当前日期前一天
Date date = DateUtils.getBeforeDay(new Date());
//获取日期维度
String dateId = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYYMMDD);
List<IssueDataDTO> dataList = issueDao.selectGridList(agencyId, dateId);
if(null != dataList) {
dataList.forEach(data -> {
IssueSubGridResultDTO voting = new IssueSubGridResultDTO();

62
epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java

@ -14,9 +14,9 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -41,6 +41,7 @@ public class TopicServiceImpl implements TopicService {
TopicSummaryResultDTO result = new TopicSummaryResultDTO();
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicStatusResultDTO> topicStatus = topicDao.getTopicStatus(agencyId);
result.setDeadline(LocalDate.now().minusDays(NumConstant.ONE).toString());
if (topicStatus.size() != NumConstant.ZERO){
topicStatus.forEach(topic -> {
if (topic.getTopicStatus().equals(TopicConstant.DISCUSSING)){
@ -52,11 +53,11 @@ public class TopicServiceImpl implements TopicService {
}
});
result.setTopicTotalCount(topicStatus.stream().collect(Collectors.summingInt(TopicStatusResultDTO::getTopicCount)));
}
TopicShiftedCountResultDTO shiftedCount = topicDao.getShiftedCount(agencyId);
if (shiftedCount != null){
result.setShiftedTotalCount(shiftedCount.getShiftedIssueCount());
result.setDeadline(shiftedCount.getDeadline());
TopicShiftedCountResultDTO shiftedCount = topicDao.getShiftedCount(agencyId);
if (shiftedCount != null){
result.setShiftedTotalCount(shiftedCount.getShiftedIssueCount());
result.setDeadline(shiftedCount.getDeadline());
}
}
return result;
}
@ -94,6 +95,7 @@ public class TopicServiceImpl implements TopicService {
public List<TopicSubGridResultDTO> topicSubGrid(TokenDto tokenDto) {
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicSubGridResultDTO> result = new ArrayList<>();
List<TopicSubGridResultDTO> resultAll = new ArrayList<>();
List<String> subGridIdList = topicDao.getSubGridIdList(agencyId);
if (subGridIdList.size() != NumConstant.ZERO){
List<TopicSubGridResultDTO> gridAllTopicInfoLastDay = topicDao.getGridAllTopicInfoLastDay();
@ -110,7 +112,17 @@ public class TopicServiceImpl implements TopicService {
}
});
});
return result;
Map<String, List<TopicSubGridResultDTO>> collect = result.stream().collect(Collectors.groupingBy(TopicSubGridResultDTO::getGridId));
Set<Map.Entry<String, List<TopicSubGridResultDTO>>> entries = collect.entrySet();
entries.forEach(entry -> {
List<TopicSubGridResultDTO> value = entry.getValue();
Integer sort = value.stream().collect(Collectors.summingInt(TopicSubGridResultDTO::getValue));
value.forEach(v -> {
v.setSort(sort);
resultAll.add(v);
});
});
return resultAll.stream().sorted(Comparator.comparing(TopicSubGridResultDTO::getSort).reversed()).collect(Collectors.toList());
}
return new ArrayList<>();
}
@ -124,6 +136,7 @@ public class TopicServiceImpl implements TopicService {
public List<TopicSubAgencyResultDTO> topicSubAgency(TokenDto tokenDto) {
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicSubAgencyResultDTO> result = new ArrayList<>();
List<TopicSubAgencyResultDTO> resultAll = new ArrayList<>();
List<String> subAgencyIdList = topicDao.getSubAgencyIdList(agencyId);
//存在下级机关
if (subAgencyIdList.size() != NumConstant.ZERO){
@ -142,7 +155,17 @@ public class TopicServiceImpl implements TopicService {
}
});
});
return result;
Map<String, List<TopicSubAgencyResultDTO>> collect = result.stream().collect(Collectors.groupingBy(TopicSubAgencyResultDTO::getAgencyId));
Set<Map.Entry<String, List<TopicSubAgencyResultDTO>>> entries = collect.entrySet();
entries.forEach(entry -> {
List<TopicSubAgencyResultDTO> value = entry.getValue();
Integer sort = value.stream().collect(Collectors.summingInt(TopicSubAgencyResultDTO::getValue));
value.forEach(v -> {
v.setSort(sort);
resultAll.add(v);
});
});
return resultAll.stream().sorted(Comparator.comparing(TopicSubAgencyResultDTO::getSort).reversed()).collect(Collectors.toList());
}
//不存在
return new ArrayList<>();
@ -158,14 +181,17 @@ public class TopicServiceImpl implements TopicService {
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicSummaryInfoResultDTO> topicSummaryInfo = topicDao.topicSummaryInfo(agencyId);
TopicShiftedCountResultDTO shiftedCount = topicDao.getShiftedCount(agencyId);
Integer collect = topicSummaryInfo.stream().collect(Collectors.summingInt(TopicSummaryInfoResultDTO::getValue));
String ratio;
ratio = collect == NumConstant.ZERO ? NumConstant.ZERO + TopicConstant.RATIO : ((float)shiftedCount.getShiftedIssueCount() / (float)collect) * NumConstant.ONE_HUNDRED + TopicConstant.RATIO;
TopicSummaryInfoResultDTO result = new TopicSummaryInfoResultDTO();
result.setName(TopicConstant.SHIFTED);
result.setRatio(ratio);
result.setValue(shiftedCount.getShiftedIssueCount());
topicSummaryInfo.add(result);
if (topicSummaryInfo.size() != NumConstant.ZERO && shiftedCount != null) {
Integer collect = topicSummaryInfo.stream().collect(Collectors.summingInt(TopicSummaryInfoResultDTO::getValue));
DecimalFormat decimalFormat = new DecimalFormat(".00");
String ratio;
ratio = collect == NumConstant.ZERO ? NumConstant.ZERO + TopicConstant.RATIO : decimalFormat.format(((float) shiftedCount.getShiftedIssueCount() / (float) collect) * NumConstant.ONE_HUNDRED) + TopicConstant.RATIO;
TopicSummaryInfoResultDTO result = new TopicSummaryInfoResultDTO();
result.setName(TopicConstant.SHIFTED);
result.setRatio(ratio);
result.setValue(shiftedCount.getShiftedIssueCount());
topicSummaryInfo.add(result);
}
return topicSummaryInfo;
}

50
epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/impl/UserAnalysisServiceImpl.java

@ -26,11 +26,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.text.DecimalFormat;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
* 组织能力用户相关接口
@ -47,7 +47,6 @@ public class UserAnalysisServiceImpl implements UserAnalysisService {
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private UserAnalysisDao userAnalysisDao;
DecimalFormat decimalFormat = new DecimalFormat("0.00");
/**
* @return java.lang.String
* @param
@ -69,6 +68,7 @@ public class UserAnalysisServiceImpl implements UserAnalysisService {
throw new RenException(UserAnalysisConstant.QUERY_USER_AGENCY_FAILED);
}
}
logger.info(String.format("用户%s的所属机关id为%s",loginUserDetailsFormDTO.getUserId(),result.getData().getAgencyId()));
return result.getData().getAgencyId();
}
/**
@ -92,9 +92,9 @@ public class UserAnalysisServiceImpl implements UserAnalysisService {
if(null!=userSummaryInfoResultDTO){
userSummaryInfoResultDTO.setCurrentDate(DateUtils.getxAxisDatePattern(userSummaryInfoResultDTO.getCurrentDate(),"."));
//提取出工具类
String partyMemberProStr=decimalFormat.format(userSummaryInfoResultDTO.getPartymemberProportionValue());
String partyMemberProStr=userSummaryInfoResultDTO.getPartymemberProportionValue().setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
userSummaryInfoResultDTO.setPartymemberProportion(partyMemberProStr.concat("%"));
String warmProStr=decimalFormat.format(userSummaryInfoResultDTO.getWarmHeartedProportionValue());
String warmProStr=userSummaryInfoResultDTO.getWarmHeartedProportionValue().setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
userSummaryInfoResultDTO.setWarmHeartedProportion(warmProStr.concat("%"));
}
logger.info(String.format("查询用户汇总信息返参%s",JSON.toJSONString(userSummaryInfoResultDTO)));
@ -169,10 +169,23 @@ public class UserAnalysisServiceImpl implements UserAnalysisService {
logger.error(String.format("各机关注册用户数缺少记录:date_id=%s,agencyId=%s",formDTO.getDateId(),dimInitResultDto.getAgencyId()));
}
}
logger.info("排序前");
for(UserSubAgencyResultDTO m:dimList){
logger.info("机关名:"+m.getName()+",总数="+m.getTotal());
}
//返回集合按照total降序排序
List<UserSubAgencyResultDTO> returnList = dimList.stream().sorted(Comparator.comparing(UserSubAgencyResultDTO::getTotal))
.collect(Collectors.toList());
return returnList;
Collections.sort(dimList, new Comparator<UserSubAgencyResultDTO>() {
@Override
public int compare(UserSubAgencyResultDTO o1, UserSubAgencyResultDTO o2) {
int i=o2.getTotal()-o1.getTotal();//降序
return i;
}
});
logger.info("排序后");
for(UserSubAgencyResultDTO m:dimList){
logger.info("机关名:"+m.getName()+",总数="+m.getTotal());
}
return dimList;
}
private List<UserSubAgencyResultDTO> initUserSubAgencyResultDTO(String myAgencyId) {
@ -273,10 +286,23 @@ public class UserAnalysisServiceImpl implements UserAnalysisService {
logger.error(String.format("直属网格注册用户数缺少记录:date_id=%s,gridId=%s",formDTO.getDateId(),dimInitResultDto.getGridId()));
}
}
logger.info("排序前");
for(UserSubGridResultDTO m:dimList){
logger.info("网格名:"+m.getName()+",总数="+m.getTotal());
}
//返回集合按照total降序排序
List<UserSubGridResultDTO> returnList = dimList.stream().sorted(Comparator.comparing(UserSubGridResultDTO::getTotal))
.collect(Collectors.toList());
return returnList;
Collections.sort(dimList, new Comparator<UserSubGridResultDTO>() {
@Override
public int compare(UserSubGridResultDTO o1, UserSubGridResultDTO o2) {
int i=o2.getTotal()-o1.getTotal();//降序
return i;
}
});
logger.info("排序后");
for(UserSubGridResultDTO m:dimList){
logger.info("网格名:"+m.getName()+",总数="+m.getTotal());
}
return dimList;
}
private List<UserSubGridResultDTO> initUserSubGridResultDTO(String myAgencyId) {
@ -399,7 +425,7 @@ public class UserAnalysisServiceImpl implements UserAnalysisService {
for(UserIncrTrendResDTO userIncrTrendResDTO:list){
String date="";
if(UserAnalysisConstant.DAY_TYPE.equals(formDTO.getType())){
date=DateUtils.getxAxisDatePattern(userIncrTrendResDTO.getDateIdOrMonthId(),".");
date=DateUtils.getxAxisDatePattern(userIncrTrendResDTO.getDateIdOrMonthId(),"/");
}else if(UserAnalysisConstant.MONTH_TYPE.equals(formDTO.getType())){
date=DateUtils.getxAxisDatePattern(userIncrTrendResDTO.getDateIdOrMonthId(),"/");
}

8
epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml

@ -28,6 +28,7 @@
WHERE
del_flag = '0'
AND pid = #{agencyId}
AND agency_dim_type = 'all'
</select>
<!--获取下级机关的小组数-->
@ -42,8 +43,7 @@
AND da.del_flag = '0'
WHERE
fgad.del_flag = '0'
GROUP BY fgad.agency_id
ORDER BY fgad.date_id desc
AND fgad.date_id = (SELECT MAX(date_id) FROM fact_group_agency_daily WHERE del_flag = '0')
</select>
<!--获取直属网格下的小组数-->
@ -59,6 +59,8 @@
WHERE
fggd.del_flag = '0'
AND fggd.agency_id = #{agencyId}
AND fggd.date_id = (SELECT MAX(date_id) FROM fact_group_grid_daily WHERE del_flag = '0')
ORDER BY value DESC
</select>
<!--小组数量 日增长-->
@ -89,7 +91,7 @@
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
month_id DESC
month_id DESC, value DESC
LIMIT 12
</select>

11
epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml

@ -12,12 +12,13 @@
SHIFT_PROJECT_PERCENT,
CLOSED_TOTAL,
CLOSED_PERCENT,
MAX(DATE_ID) AS DATE_ID,
DATE_FORMAT(MAX(DATE_ID), '%Y.%m.%d') AS DATE_NAME
DATE_ID,
DATE_FORMAT(DATE_ID, '%Y.%m.%d') AS DATE_NAME
FROM
fact_issue_agency_daily fiad
WHERE DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
AND DATE_ID = #{dateId}
</select>
<!-- 获取下级机关统计信息-->
<select id="selectSubAgencyList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
@ -27,13 +28,14 @@
VOTING_TOTAL,
SHIFT_PROJECT_TOTAL,
CLOSED_TOTAL,
MAX(DATE_ID) AS DATE_ID
DATE_ID AS DATE_ID
FROM
fact_issue_agency_daily fiad
INNER JOIN
dim_agency da ON fiad.AGENCY_ID = da.ID
WHERE fiad.DEL_FLAG = '0'
AND fiad.PID = #{agencyId}
AND fiad.DATE_ID = #{dateId}
GROUP BY AGENCY_ID
ORDER BY fiad.ISSUE_TOTAL DESC
</select>
@ -45,13 +47,14 @@
VOTING_TOTAL,
SHIFT_PROJECT_TOTAL,
CLOSED_TOTAL,
MAX(DATE_ID) AS DATE_ID
DATE_ID AS DATE_ID
FROM
fact_issue_grid_daily figd
INNER JOIN
dim_grid dg ON figd.GRID_ID = dg.ID
WHERE figd.DEL_FLAG = '0'
AND figd.AGENCY_ID = #{agencyId}
AND figd.DATE_ID = #{dateId}
GROUP BY GRID_ID
ORDER BY figd.ISSUE_TOTAL DESC
</select>

21
epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/PublicityDao.xml

@ -24,7 +24,7 @@
where agency_id = #{agencyId}
AND month_id = #{monthId}
GROUP BY TAG_ID
ORDER BY value DESC
ORDER BY value DESC ,tagId ASC
LIMIT #{pageSize}
</select>
@ -39,7 +39,7 @@
where agency_id = #{agencyId}
AND quarter_id = #{quarterId}
GROUP BY TAG_ID
ORDER BY value DESC
ORDER BY value DESC ,tagId ASC
LIMIT #{pageSize}
</select>
@ -54,7 +54,7 @@
where agency_id = #{agencyId}
AND year_id = #{yearId}
GROUP BY tag_id
ORDER BY value DESC
ORDER BY value DESC ,tagId ASC
LIMIT #{pageSize}
</select>
@ -69,7 +69,7 @@
where agency_id = #{agencyId}
AND month_id = #{monthId}
GROUP BY TAG_ID
ORDER BY value DESC
ORDER BY value DESC ,tagId ASC
LIMIT #{pageSize}
</select>
@ -84,7 +84,7 @@
where agency_id = #{agencyId}
AND quarter_id = #{quarterId}
GROUP BY TAG_ID
ORDER BY value DESC
ORDER BY value DESC ,tagId ASC
LIMIT #{pageSize}
</select>
@ -99,7 +99,7 @@
where agency_id = #{agencyId}
AND year_id = #{yearId}
GROUP BY tag_id
ORDER BY value DESC
ORDER BY value DESC ,tagId ASC
LIMIT #{pageSize}
</select>
@ -118,6 +118,7 @@
AND pub.PID =#{agencyId}
AND pub.month_id=#{monthId}
GROUP BY pub.agency_id
ORDER BY value DESC,agencyId ASC
</select>
@ -136,6 +137,7 @@
AND pub.PID =#{agencyId}
AND pub.quarter_id=#{quarterId}
GROUP BY pub.agency_id
ORDER BY value DESC,agencyId ASC
</select>
<!-- 当年——下级机发文数:机关名称、机关id、发文数量、上级机关id -->
@ -153,6 +155,7 @@
AND pub.PID =#{agencyId}
AND pub.year_id=#{yearId}
GROUP BY pub.agency_id
ORDER BY value DESC,agencyId ASC
</select>
<!-- 当月——下级部门文数:部门名称、机关id、发文数量、部门id -->
@ -170,6 +173,7 @@
AND pub.agency_id =#{agencyId}
AND pub.month_id=#{monthId}
GROUP BY pub.department_id
ORDER BY value DESC,departmentId ASC
</select>
@ -188,6 +192,7 @@
AND pub.agency_id =#{agencyId}
AND pub.quarter_id=#{quarterId}
GROUP BY pub.department_id
ORDER BY value DESC,departmentId ASC
</select>
<!-- 当年——下级部门文数:部门名称、机关id、发文数量、部门id -->
@ -205,6 +210,7 @@
AND pub.agency_id =#{agencyId}
AND pub.year_id=#{yearId}
GROUP BY pub.department_id
ORDER BY value DESC,departmentId ASC
</select>
<!-- 当月——下级网格文数:网格名称、机关id、发文数量、网格id -->
@ -222,6 +228,7 @@
AND pub.agency_id = #{agencyId}
AND pub.month_id=#{monthId}
GROUP BY pub.grid_id
ORDER BY value DESC,gridId ASC
</select>
@ -240,6 +247,7 @@
AND pub.agency_id = #{agencyId}
AND pub.quarter_id=#{quarterId}
GROUP BY pub.grid_id
ORDER BY value DESC,gridId ASC
</select>
<!-- 当年——下级网格文数:网格名称、机关id、发文数量、网格id -->
@ -257,6 +265,7 @@
AND pub.agency_id = #{agencyId}
AND pub.year_id = #{yearId}
GROUP BY pub.grid_id
ORDER BY value DESC,gridId ASC
</select>
</mapper>

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml

@ -41,7 +41,7 @@
WHEN topic_status_id = 'hidden' THEN '已屏蔽'
WHEN topic_status_id = 'closed' THEN '已关闭'
ELSE '无' END) AS name,
CONCAT(topic_proportion * 100,'%') AS ratio
CONCAT(ROUND(topic_proportion * 100,2),'%') AS ratio
FROM
fact_topic_status_agency_daily
WHERE

4
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/IssueConstant.java

@ -21,9 +21,9 @@ public interface IssueConstant {
/**
*已解决
*/
String RESLOVED = "resloved";
String RESOLVED = "resolved";
/**
*未解决
*/
String UNRESLOVED = "unresloved";
String UNRESOLVED = "unresolved";
}

8
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java

@ -131,6 +131,14 @@ public interface DataStatisticalOpenFeignClient {
@PostMapping("/data/stats/statsproject/gridprojectstats")
Result gridProjectStats();
/**
* 初始化所有维度
*
* @return
*/
@PostMapping("/data/stats/dim/all/init")
Result initAllDims();
/**
* @Description 执行用户统计
* @param

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java

@ -136,6 +136,11 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "gridProjectStats");
}
@Override
public Result initAllDims() {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "initAllDims");
}
/**
* @Description 执行用户统计
* @param

2
epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
data-statistical-server:
container_name: data-statistical-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/data-statistical-server:0.3.3
image: 192.168.1.130:10080/epmet-cloud-dev/data-statistical-server:0.3.7
ports:
- "8108:8108"
network_mode: host # 使用现有网络

2
epmet-module/data-statistical/data-statistical-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.3</version>
<version>0.3.7</version>
<parent>
<artifactId>data-statistical</artifactId>
<groupId>com.epmet</groupId>

30
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java

@ -1,6 +1,5 @@
package com.epmet.controller;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.AgencySubDeptTreeDto;
import com.epmet.dto.AgencySubTreeDto;
@ -46,69 +45,60 @@ public class DimController {
* @return
*/
@PostMapping("/all/init")
public Result initAll() {
public Result initAllDims() {
try {
dimDateService.initDimDate();
logger.info("初始化按日维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化按日维度失败:%s", errorStackTrace));
logger.error("初始化按日维度失败:", e);
}
try {
statsDimService.initGridDim();
logger.info("初始化网格维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化网格维度失败:%s", errorStackTrace));
logger.error("初始化网格维度失败:", e);
}
try {
statsDimService.initAgencyDim();
logger.info("初始化机关维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化机关维度失败:%s", errorStackTrace));
logger.error("初始化机关维度失败:", e);
}
try {
statsDimService.initCustomerDim();
logger.info("初始化客户维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化客户维度失败:%s", errorStackTrace));
logger.error("初始化客户维度失败:", e);
}
try {
statsDimService.initDepartmentDim();
logger.info("初始化部门维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化部门维度失败:%s", errorStackTrace));
logger.error("初始化部门维度失败:", e);
}
try {
dimMonthService.initMonthDim();
logger.info("初始化按月维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化按月维度失败:%s", errorStackTrace));
logger.error("初始化按月维度失败:", e);
}
try {
quarterService.initQuarterDim();
logger.info("初始化季度维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化季度维度失败:%s", errorStackTrace));
logger.error("初始化季度维度失败:", e);
}
try {
dimYearService.initYearDim();
logger.info("初始化年度维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化年度维度失败:%s", errorStackTrace));
logger.error("初始化年度维度失败:", e);
}
try {
dimWeekService.initWeekDim();
logger.info("初始化按周维度成功");
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
logger.error(String.format("初始化按周维度失败:%s", errorStackTrace));
logger.error("初始化按周维度失败:", e);
}
return new Result();
}

15
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/StatsIssueController.java

@ -1,12 +1,17 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.service.StatsIssueService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
@ -30,4 +35,14 @@ public class StatsIssueController {
statsIssueService.agencyGridIssueStats();
return new Result();
}
@Data
private static class StatsDate implements Serializable {
private static final long serialVersionUID = 149723067011918433L;
private String date;
}
@PostMapping("date")
public Result agencyGridIssueStatsOfDate(@RequestBody StatsDate statsDate) {
statsIssueService.agencyGridIssueStatsOfDate(DateUtils.parse(statsDate.getDate(), DateUtils.DATE_PATTERN));
return new Result();
}
}

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java

@ -18,11 +18,12 @@ public interface StatsIssueDao extends BaseDao<IssueEntity> {
* 获取当前日期组织下议题统计结果
*
* @param customerId
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueAgencyDTO>
* @author zhaoqifeng
* @date 2020/6/17 14:13
*/
List<IssueAgencyDTO> selectAgencyIssueTotal(@Param("customerId") String customerId);
List<IssueAgencyDTO> selectAgencyIssueTotal(@Param("customerId") String customerId, @Param("date") String date);
/**
* 获取当前日期组织下议题增量

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java

@ -18,9 +18,10 @@ public interface IssueService {
* @author zhaoqifeng
* @date 2020/6/17 16:04
* @param customerId
* @param date
* @return java.util.List<com.epmet.dto.issue.IssueAgencyDTO>
*/
List<IssueAgencyDTO> getAgencyIssueTotal(String customerId);
List<IssueAgencyDTO> getAgencyIssueTotal(String customerId, String date);
/**
* 获取当前日期组织下议题增量

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java

@ -26,8 +26,8 @@ public class IssueServiceImpl implements IssueService {
private StatsIssueDao statsIssueDao;
@Override
public List<IssueAgencyDTO> getAgencyIssueTotal(String customerId) {
List<IssueAgencyDTO> list = statsIssueDao.selectAgencyIssueTotal(customerId);
public List<IssueAgencyDTO> getAgencyIssueTotal(String customerId, String date) {
List<IssueAgencyDTO> list = statsIssueDao.selectAgencyIssueTotal(customerId, date);
list.forEach(dto -> {
String[] pIds = dto.getPIds().split(":");
dto.setPId(pIds[pIds.length - 2]);

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/StatsIssueService.java

@ -17,6 +17,15 @@ public interface StatsIssueService {
*/
void agencyGridIssueStats();
/**
* 指定日期议题统计
* @author zhaoqifeng
* @date 2020/6/28 11:01
* @param date
* @return void
*/
void agencyGridIssueStatsOfDate(Date date);
/**
* 机关下议题日统计
* @author zhaoqifeng

92
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java

@ -21,7 +21,6 @@ import com.epmet.service.stats.*;
import com.epmet.util.DimIdGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@ -72,7 +71,29 @@ public class StatsIssueServiceImpl implements StatsIssueService {
try {
customerStats(customerId, date);
} catch(Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyGridIssueStats", DateUtils.format(date), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyGridIssueStats", customerId, DateUtils.format(date)),
e);
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
}
@Override
public void agencyGridIssueStatsOfDate(Date date) {
int pageNo = 1;
int pageSize = 100;
List<String> customerIdList = null;
do {
//获取当前日期前一天
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
//遍历统计每一个客户数据
try {
customerStats(customerId, date);
} catch(Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyGridIssueStats", DateUtils.format(date)), e);
}
}
}
@ -109,7 +130,7 @@ public class StatsIssueServiceImpl implements StatsIssueService {
//获取当前客户下所有机关
List<DimAgencyDTO> agencyList = dimAgencyService.getDimAgencyList(dimAgencyDTO);
//获取机关下议题各种状态的数目统计
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId);
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId, dateString);
//获取机关下议题各种状态的数目增量
List<IssueAgencyDTO> issueAgencyIncList = issueService.getAgencyIssueInc(customerId, dateString);
//获取机关下已关闭议题统计
@ -129,10 +150,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
entity.setPid(agency.getPid());
String pIds;
if (null == agency.getPids() || agency.getPids().isEmpty()) {
pIds = agency.getPid().concat(":").concat(agency.getId());
if (NumConstant.ZERO_STR.equals(agency.getPid())) {
pIds = agency.getPid();
} else {
pIds = ("0").concat(":").concat(agency.getPids()).concat(":").concat(agency.getId());
pIds = agency.getPids().concat(":").concat(agency.getId());
}
//总量统计
saveTotal(issueAgencyTotalList, agency, entity, pIds);
@ -172,7 +193,7 @@ public class StatsIssueServiceImpl implements StatsIssueService {
//获取当前客户下所有机关
List<DimAgencyDTO> agencyList = dimAgencyService.getDimAgencyList(dimAgencyDTO);
//获取机关下议题各种状态的数目统计
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId);
List<IssueAgencyDTO> issueAgencyTotalList = issueService.getAgencyIssueTotal(customerId, dateString);
//获取机关下已关闭议题统计
List<IssueAgencyDTO> issueAgencyClosedTotalList = issueService.getAgencyClosedIssueTotal(customerId, dateString);
//已结案项目统计
@ -185,10 +206,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
FactIssueAgencyMonthlyEntity monthly = initIssueAgencyMonthly(dimId);
String pIds;
if (null == agency.getPids() || agency.getPids().isEmpty()) {
pIds = agency.getPid().concat(":").concat(agency.getId());
if (NumConstant.ZERO_STR.equals(agency.getPid())) {
pIds = agency.getPid();
} else {
pIds = ("0").concat(":").concat(agency.getPids()).concat(":").concat(agency.getId());
pIds = agency.getPids().concat(":").concat(agency.getId());
}
//总量统计
saveTotal(issueAgencyTotalList, agency, daily, pIds);
@ -269,8 +290,8 @@ public class StatsIssueServiceImpl implements StatsIssueService {
})).collect(Collectors.toList());
Map<String, List<IssueProjectDTO>> totalMap =
totalList.stream().collect(Collectors.groupingBy(IssueProjectDTO::getStatus));
List<IssueProjectDTO> resolveList = totalMap.get(IssueConstant.RESLOVED);
List<IssueProjectDTO> unResolveList = totalMap.get(IssueConstant.UNRESLOVED);
List<IssueProjectDTO> resolveList = totalMap.get(IssueConstant.RESOLVED);
List<IssueProjectDTO> unResolveList = totalMap.get(IssueConstant.UNRESOLVED);
if (null != resolveList) {
resolveMap = resolveList.stream().collect(Collectors.groupingBy(IssueProjectDTO:: getGridId, Collectors.counting()));
}
@ -289,8 +310,8 @@ public class StatsIssueServiceImpl implements StatsIssueService {
})).collect(Collectors.toList());
Map<String, List<IssueProjectDTO>> incMap =
incList.stream().collect(Collectors.groupingBy(IssueProjectDTO::getStatus));
List<IssueProjectDTO> resolveIncList = incMap.get(IssueConstant.RESLOVED);
List<IssueProjectDTO> unResolveIncList = incMap.get(IssueConstant.UNRESLOVED);
List<IssueProjectDTO> resolveIncList = incMap.get(IssueConstant.RESOLVED);
List<IssueProjectDTO> unResolveIncList = incMap.get(IssueConstant.UNRESOLVED);
if (null != resolveIncList) {
resolveIncMap = resolveIncList.stream().collect(Collectors.groupingBy(IssueProjectDTO:: getGridId, Collectors.counting()));
}
@ -363,8 +384,8 @@ public class StatsIssueServiceImpl implements StatsIssueService {
})).collect(Collectors.toList());
Map<String, List<IssueProjectDTO>> totalMap =
totalList.stream().collect(Collectors.groupingBy(IssueProjectDTO::getStatus));
List<IssueProjectDTO> resolveList = totalMap.get(IssueConstant.RESLOVED);
List<IssueProjectDTO> unResolveList = totalMap.get(IssueConstant.UNRESLOVED);
List<IssueProjectDTO> resolveList = totalMap.get(IssueConstant.RESOLVED);
List<IssueProjectDTO> unResolveList = totalMap.get(IssueConstant.UNRESOLVED);
if (null != resolveList) {
resolveMap = resolveList.stream().collect(Collectors.groupingBy(IssueProjectDTO:: getGridId, Collectors.counting()));
}
@ -482,10 +503,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
for (IssueGridDTO dto : list) {
if (grid.getId().equals(dto.getGridId())) {
if (IssueConstant.RESLOVED.equals(dto.getStatus())) {
if (IssueConstant.RESOLVED.equals(dto.getStatus())) {
//表决中议题数量
resolvedInc = dto.getCount();
} else if (IssueConstant.UNRESLOVED.equals(dto.getStatus())) {
} else if (IssueConstant.UNRESOLVED.equals(dto.getStatus())) {
//已转项目议题数量
unresolvedInc = dto.getCount();
}
@ -513,10 +534,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
for (IssueGridDTO dto : list) {
if (grid.getId().equals(dto.getGridId())) {
if (IssueConstant.RESLOVED.equals(dto.getStatus())) {
if (IssueConstant.RESOLVED.equals(dto.getStatus())) {
//已解决议题数量
resolvedCount = dto.getCount();
} else if (IssueConstant.UNRESLOVED.equals(dto.getStatus())) {
} else if (IssueConstant.UNRESOLVED.equals(dto.getStatus())) {
//未解决议题数量
unresolvedCount = dto.getCount();
}
@ -550,6 +571,8 @@ public class StatsIssueServiceImpl implements StatsIssueService {
int shiftInc = NumConstant.ZERO;
//已关闭增量
int closedInc = NumConstant.ZERO;
//议题增量
int issueInc = NumConstant.ZERO;
for (IssueGridDTO dto : list) {
if (grid.getId().equals(dto.getGridId())) {
if (IssueConstant.VOTING.equals(dto.getStatus())) {
@ -558,17 +581,16 @@ public class StatsIssueServiceImpl implements StatsIssueService {
} else if (IssueConstant.SHIFT_PROJECT.equals(dto.getStatus())) {
//已转项目议题数量
shiftInc = dto.getCount();
} else {
} else if(IssueConstant.CLOSED.equals(dto.getStatus())) {
//已关闭议题数量
closedInc = dto.getCount();
}
}
}
int issueInc = votingInc + shiftInc + closedInc;
entity.setVotingIncr(votingInc);
entity.setShiftProjectIncr(shiftInc);
entity.setClosedIncr(closedInc);
entity.setIssueIncr(issueInc);
entity.setIssueIncr(votingInc);
}
/**
@ -638,10 +660,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
for (ProjectAgencyDTO project : list) {
if (agency.getId().equals(project.getAgencyId()) || project.getPIds().contains(pIds)) {
if (IssueConstant.RESLOVED.equals(project.getStatus())) {
if (IssueConstant.RESOLVED.equals(project.getStatus())) {
//已解决数量
resolvedCount = resolvedCount + project.getCount();
} else if (IssueConstant.SHIFT_PROJECT.equals(project.getStatus())) {
} else if (IssueConstant.UNRESOLVED.equals(project.getStatus())) {
//未解决数量
unresolvedCount = unresolvedCount + project.getCount();
}
@ -672,10 +694,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
for (ProjectAgencyDTO project : list) {
if (agency.getId().equals(project.getAgencyId()) || project.getPIds().contains(pIds)) {
if (IssueConstant.RESLOVED.equals(project.getStatus())) {
if (IssueConstant.RESOLVED.equals(project.getStatus())) {
//已解决数量
resolvedCount = resolvedCount + project.getCount();
} else if (IssueConstant.SHIFT_PROJECT.equals(project.getStatus())) {
} else if (IssueConstant.UNRESOLVED.equals(project.getStatus())) {
//未解决数量
unresolvedCount = unresolvedCount + project.getCount();
}
@ -712,6 +734,8 @@ public class StatsIssueServiceImpl implements StatsIssueService {
int shiftInc = NumConstant.ZERO;
//已关闭增量
int closedInc = NumConstant.ZERO;
//议题增量
int issueInc = NumConstant.ZERO;
for (IssueAgencyDTO issueAgency : list) {
if (agency.getId().equals(issueAgency.getAgencyId()) || issueAgency.getPIds().contains(pIds)) {
if (IssueConstant.VOTING.equals(issueAgency.getStatus())) {
@ -720,17 +744,16 @@ public class StatsIssueServiceImpl implements StatsIssueService {
} else if (IssueConstant.SHIFT_PROJECT.equals(issueAgency.getStatus())) {
//已转项目议题数量
shiftInc = shiftInc + issueAgency.getCount();
} else {
} else if(IssueConstant.CLOSED.equals(issueAgency.getStatus())) {
//已关闭议题数量
closedInc = closedInc + issueAgency.getCount();
}
}
}
int issueInc = votingInc + shiftInc + closedInc;
entity.setVotingIncr(votingInc);
entity.setShiftProjectIncr(shiftInc);
entity.setClosedIncr(closedInc);
entity.setIssueIncr(issueInc);
entity.setIssueIncr(votingInc);
}
/**
@ -802,10 +825,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
for (IssueAgencyDTO issueAgency : list) {
if (agency.getId().equals(issueAgency.getAgencyId()) || issueAgency.getPIds().contains(pIds)) {
if (IssueConstant.RESLOVED.equals(issueAgency.getStatus())) {
if (IssueConstant.RESOLVED.equals(issueAgency.getStatus())) {
//表决中议题数量
resolvedCount = resolvedCount + issueAgency.getCount();
} else if (IssueConstant.UNRESLOVED.equals(issueAgency.getStatus())) {
} else if (IssueConstant.UNRESOLVED.equals(issueAgency.getStatus())) {
//已转项目议题数量
unresolvedCount = unresolvedCount + issueAgency.getCount();
}
@ -841,10 +864,10 @@ public class StatsIssueServiceImpl implements StatsIssueService {
for (IssueAgencyDTO issueAgency : list) {
if (agency.getId().equals(issueAgency.getAgencyId()) || issueAgency.getPIds().contains(pIds)) {
if (IssueConstant.RESLOVED.equals(issueAgency.getStatus())) {
if (IssueConstant.RESOLVED.equals(issueAgency.getStatus())) {
//表决中议题数量
resolvedInc = resolvedInc + issueAgency.getCount();
} else if (IssueConstant.UNRESLOVED.equals(issueAgency.getStatus())) {
} else if (IssueConstant.UNRESOLVED.equals(issueAgency.getStatus())) {
//已转项目议题数量
unresolvedInc = unresolvedInc + issueAgency.getCount();
}
@ -854,7 +877,6 @@ public class StatsIssueServiceImpl implements StatsIssueService {
entity.setClosedUnresolvedIncr(unresolvedInc);
}
/**
* 初始化数据
*

12
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java

@ -117,7 +117,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
log.info("StatsProjectServiceImpl.customerAgencyStats-开始执行机关日统计方法,方法名:agencyDateProjectStats,客户Id:" + customerId);
agencyDateProjectStats(customerId, dimId, dimAgencyList, projectList, processList);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyDateProjectStats", customerId, dimId.getDateId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyDateProjectStats", customerId, dimId.getDateId()), e);
}
//5.2:执行机关月数据统计
@ -126,7 +126,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
log.info("StatsProjectServiceImpl.customerAgencyStats-开始执行机关月统计方法,方法名:agencyMonthProjectStats,客户Id:" + customerId);
agencyMonthProjectStats(customerId, dimId, dimAgencyList);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyMonthProjectStats", customerId, dimId.getMonthId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyMonthProjectStats", customerId, dimId.getMonthId()), e);
}
//}
}
@ -246,7 +246,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
agencyDailyEntity.setUnresolvedRatio(new BigDecimal(numberFormat.format((float) unResolvedTotal.intValue() / (float) closedTotal.intValue())));
}
agencyDailyEntity.setProjectIncr(projectIncr.intValue());
agencyDailyEntity.setPendingIncr(projectIncr.intValue() - closedIncr.intValue());
agencyDailyEntity.setPendingIncr(projectIncr.intValue());
agencyDailyEntity.setClosedIncr(closedIncr.intValue());
agencyDailyEntity.setResolvedIncr(resolvedIncr.intValue());
agencyDailyEntity.setUnresolvedIncr(unResolvedIncr.intValue());
@ -409,7 +409,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
log.info("StatsProjectServiceImpl.customerGridStats-开始执行机关日统计方法,方法名:gridDateProjectStats,客户Id:" + customerId);
gridDateProjectStats(customerId, dimId, dimGridList, projectList, processList);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridDateProjectStats", customerId, dimId.getDateId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridDateProjectStats", customerId, dimId.getDateId()), e);
}
//5.2:执行网格月数据统计
@ -418,7 +418,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
log.info("StatsProjectServiceImpl.customerGridStats-开始执行机关月统计方法,方法名:gridMonthProjectStats,客户Id:" + customerId);
gridMonthProjectStats(customerId, dimId, dimGridList);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridMonthProjectStats", customerId, dimId.getMonthId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridMonthProjectStats", customerId, dimId.getMonthId()), e);
}
//}
}
@ -539,7 +539,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
gridDailyEntity.setUnresolvedRatio(new BigDecimal(numberFormat.format((float) unResolvedTotal.intValue() / (float) closedTotal.intValue())));
}
gridDailyEntity.setProjectIncr(projectIncr.intValue());
gridDailyEntity.setPendingIncr(projectIncr.intValue() - closedIncr.intValue());
gridDailyEntity.setPendingIncr(projectIncr.intValue());
gridDailyEntity.setClosedIncr(closedIncr.intValue());
gridDailyEntity.setResolvedIncr(resolvedIncr.intValue());
gridDailyEntity.setUnresolvedIncr(unResolvedIncr.intValue());

96
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsPublicityServiceImpl.java

@ -163,7 +163,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
try {
statsTagUsedDaily(finalStatsDate, dimIdBean, customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagUsedDailyStatsjob", customerId, dimIdBean.getDateId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagUsedDailyStatsjob", customerId, dimIdBean.getDateId()), e);
}
}
}
@ -191,7 +191,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
try {
statsTagUsedMonthly(dimIdBean.getMonthId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "按月统计标签被使用次数", customerId, dimIdBean.getMonthId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "按月统计标签被使用次数", customerId, dimIdBean.getMonthId()), e);
}
}
}
@ -220,7 +220,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
try {
statsTagViewedDaily(statsDate, dimIdBean, customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedDailyStatsjob", customerId, dimIdBean.getDateId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedDailyStatsjob", customerId, dimIdBean.getDateId()), e);
}
}
}
@ -248,7 +248,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
try {
statsTagViewedMonthly(dimIdBean.getMonthId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedMonthlyStatsjob", customerId, dimIdBean.getDateId(), e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "tagViewedMonthlyStatsjob", customerId, dimIdBean.getDateId()), e);
}
}
}
@ -273,22 +273,18 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
executorService.submit(() -> {
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedQuarterly", customerId, dimIdBean.getQuarterId(), e.getMessage()));
}
});
executorService.submit(() -> {
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedYearly", customerId, dimIdBean.getYearId(), e.getMessage()));
}
});
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedQuarterly", customerId, dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagUsedQuarterly ");
statsTagUsedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagUsedYearly", customerId, dimIdBean.getYearId()), e);
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
@ -312,24 +308,20 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize);
if (!CollectionUtils.isEmpty(customerIdList)) {
for (String customerId : customerIdList) {
executorService.submit(() -> {
try {
log.debug("start === statsTagViewedQuarterly ");
statsTagViewedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getQuarterId(), e.getMessage()));
}
});
executorService.submit(() -> {
try {
log.debug("start === statsTagViewedYearly ");
statsTagViewedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getYearId(), e.getMessage()));
}
});
try {
log.debug("start === statsTagViewedQuarterly ");
statsTagViewedQuarterly(dimIdBean.getQuarterId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getQuarterId()), e);
}
try {
log.debug("start === statsTagViewedYearly ");
statsTagViewedYearly(dimIdBean.getYearId(), customerId);
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsTagViewedQuarterly", customerId, dimIdBean.getYearId()), e);
}
}
}
} while (!CollectionUtils.isEmpty(customerIdList) && customerIdList.size() == pageSize);
@ -366,7 +358,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
}
boolean b = factArticlePublishedDepartmentDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), departmentDailyEntityMap.values());
} catch (Exception e) {
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsPublishedDepartmentDaily", customerId, statsDate, e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsPublishedDepartmentDaily", customerId, statsDate), e);
}
}
@ -389,7 +381,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
summary.setArticleTotalCount(summaryDTO.getArticleTotalCount());
summary.setArticlePublishedCount(summaryDTO.getArticlePublishedCount());
summary.setPublishedCount(summaryDTO.getPublishedCount());
result.put(summaryDTO.getPublisherId(), summaryDTO);
result.put(summaryDTO.getAgencyId(), summaryDTO);
} else {
publishedSummaryDTO.setArticlePublishedCount(publishedSummaryDTO.getArticlePublishedCount() + summaryDTO.getArticlePublishedCount());
publishedSummaryDTO.setArticleTotalCount(publishedSummaryDTO.getArticleTotalCount() + summaryDTO.getArticlePublishedCount());
@ -435,7 +427,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
boolean b = factArticlePublishedGridDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), gridDailyEntityMap.values());
} catch (Exception e) {
e.printStackTrace();
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsPublishedGridDaily", customerId, statsDate, e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsPublishedGridDaily", customerId, statsDate), e);
}
@ -451,6 +443,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
try {
//转换为 需要插入的Entity
Map<String, FactArticlePublishedAgencyDailyEntity> agencyDailyEntityMap = convertAgencyDailyEntity(agencyDTOList, dimIdBean);
//获取当天的业务数据
List<ArticleGridPublishedSummaryDTO> publishedArticleCount = articleService.getAllAgencyPublishedCount(customerId, statsDate);
Map<String, FactArticlePublishedAgencyDailyEntity> haveDataAgencyDailyMap = new HashMap<>();
@ -465,9 +458,10 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
gridDailyEntities.setArticleTotalCount(summaryDTO.getArticleTotalCount());
gridDailyEntities.setArticlePublishedCount(summaryDTO.getArticlePublishedCount());
gridDailyEntities.setPublishedCount(summaryDTO.getPublishedCount());
haveDataAgencyDailyMap.put(summaryDTO.getAgencyId(), gridDailyEntities);
//同一个机关下数据累加
//buildAgencySummaryData(agencySummaryMap, summaryDTO);
//构建机关自己的数据
FactArticlePublishedAgencyDailyEntity selfDaily = ConvertUtils.sourceToTarget(dimIdBean, FactArticlePublishedAgencyDailyEntity.class);
selfDaily.setCustomerId(gridDailyEntities.getCustomerId());
@ -479,6 +473,20 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
haveDataAgencyDailySelfMap.put(selfDaily.getAgencyId(), selfDaily);
}
}
if (!CollectionUtils.isEmpty(agencySummaryMap)) {
//同一个机关下数据累加
for (Map.Entry<String, ArticleGridPublishedSummaryDTO> entry : agencySummaryMap.entrySet()) {
String agencyId = entry.getKey();
ArticleGridPublishedSummaryDTO summary = entry.getValue();
FactArticlePublishedAgencyDailyEntity dimAgencyEntity = agencyDailyEntityMap.get(agencyId);
if (dimAgencyEntity == null) {
continue;
}
dimAgencyEntity.setArticleTotalCount(dimAgencyEntity.getArticlePublishedCount() + summary.getArticleTotalCount());
dimAgencyEntity.setArticlePublishedCount(dimAgencyEntity.getPublishedCount() + summary.getArticlePublishedCount());
dimAgencyEntity.setPublishedCount(dimAgencyEntity.getPublishedCount() + summary.getPublishedCount());
}
}
//数据向上级机关添加
if (!CollectionUtils.isEmpty(haveDataAgencyDailyMap)) {
for (Map.Entry<String, FactArticlePublishedAgencyDailyEntity> entry : haveDataAgencyDailyMap.entrySet()) {
@ -500,7 +508,7 @@ public class StatsPublicityServiceImpl implements StatsPublicityService {
boolean b = factArticlePublishedAgencyDailyService.deleteAndInsertBatch(customerId, dimIdBean.getDateId(), agencyDailyEntityMap.values());
} catch (Exception e) {
e.printStackTrace();
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsPublishedAgencyDaily", customerId, statsDate, e.getMessage()));
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "statsPublishedAgencyDaily", customerId, statsDate), e);
}
}

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimMonthServiceImpl.java

@ -118,16 +118,16 @@ public class DimMonthServiceImpl extends BaseServiceImpl<DimMonthDao, DimMonthEn
}
Date now = new Date();
Date startMonth;
Date targetMonth = DateUtils.addDateMonths(DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM), -1);
Date startMonth;// 起始月份,包含该月份
Date targetMonth = DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM);// 统计至当月,包含当月
if (lastExecRecord.getExecTime() == null) {
initMonthDim(targetMonth);
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
} else {
startMonth = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM);
if (targetMonth.equals(startMonth) || targetMonth.after(startMonth)) {
startMonth = DateUtils.addDateMonths(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM), 1);
if (targetMonth.after(startMonth) || targetMonth.equals(startMonth)) {
initMonthDims(startMonth, targetMonth);
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);

20
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimQuarterServiceImpl.java

@ -120,24 +120,24 @@ public class DimQuarterServiceImpl extends BaseServiceImpl<DimQuarterDao, DimQua
lastExecRecord = lastExecRecordService.createLastExecRecord(StatsSubject.DIM_QUARTER);
}
//Date now = new Date();
Date now = DateUtils.parse("20210430", DateUtils.DATE_PATTERN_YYYYMMDD);
Date now = new Date();
//Date now = DateUtils.parse(now, DateUtils.DATE_PATTERN_YYYYMMDD);
Date targetQuarter;
Date startQuarter;
Date targetQMonth;//初始化至,包含当季
Date startQMonth;//从该季开始初始化,不包含该季
targetQuarter = DateUtils.integrate(DateUtils.addDateMonths(now, -3), DateUtils.DATE_PATTERN_YYYYMM);
targetQMonth = DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYYMM);
if (lastExecRecord.getExecTime() == null) {
// 初始化上一个季度
initQuarterDim(targetQuarter);
lastExecRecord.setExecTime(new Date());
initQuarterDim(targetQMonth);
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
} else {
// 连续初始化多个季度
startQuarter = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM);
if (initQuarterDim(startQuarter, targetQuarter)) {
lastExecRecord.setExecTime(new Date());
startQMonth = DateUtils.addDateMonths(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYYMM), 3);
if (initQuarterDim(startQMonth, targetQMonth)) {
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
}
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimWeekServiceImpl.java

@ -117,7 +117,7 @@ public class DimWeekServiceImpl extends BaseServiceImpl<DimWeekDao, DimWeekEntit
Date now = new Date();
Date startWeekDay;
Date targetWeekDay = DateUtils.getWeekStartAndEnd(DateUtils.addDateDays(now, -7))[0];
Date targetWeekDay = DateUtils.getWeekStartAndEnd(now)[0];
if (lastExecRecord.getExecTime() == null) {
// 首次执行
@ -125,7 +125,7 @@ public class DimWeekServiceImpl extends BaseServiceImpl<DimWeekDao, DimWeekEntit
lastExecRecord.setExecTime(now);
lastExecRecordService.updateById(lastExecRecord);
} else {
startWeekDay = DateUtils.getWeekStartAndEnd(lastExecRecord.getExecTime())[0];
startWeekDay = DateUtils.addDateWeeks(DateUtils.getWeekStartAndEnd(lastExecRecord.getExecTime())[0], 1);
if (targetWeekDay.equals(startWeekDay) || targetWeekDay.after(startWeekDay)) {
initWeekDim(startWeekDay, targetWeekDay);
lastExecRecord.setExecTime(now);

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimYearServiceImpl.java

@ -120,7 +120,7 @@ public class DimYearServiceImpl extends BaseServiceImpl<DimYearDao, DimYearEntit
Date startYear;
Date targetYear;
targetYear = DateUtils.integrate(DateUtils.addDateYears(now, -1), DateUtils.DATE_PATTERN_YYYY);
targetYear = DateUtils.integrate(now, DateUtils.DATE_PATTERN_YYYY);
if (lastExecRecord.getExecTime() == null) {
// 第一次执行统计
initYearDim(targetYear);
@ -128,7 +128,7 @@ public class DimYearServiceImpl extends BaseServiceImpl<DimYearDao, DimYearEntit
// 记录最后一次统计时间
lastExecRecordService.updateById(lastExecRecord);
} else {
startYear = DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYY);
startYear = DateUtils.addDateYears(DateUtils.integrate(lastExecRecord.getExecTime(), DateUtils.DATE_PATTERN_YYYY), 1);
if (targetYear.equals(startYear) || targetYear.after(startYear)) {
initYearDims(startYear, targetYear);
lastExecRecord.setExecTime(now);

74
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml

@ -12,26 +12,35 @@
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND DATE(UPDATED_TIME) <![CDATA[ <= ]]> #{date}
GROUP BY
ORG_ID, ISSUE_STATUS
</select>
<select id="selectAgencyIssueInc" resultType="com.epmet.dto.issue.IssueAgencyDTO">
SELECT
i.ORG_ID AS "agencyId",
i.ORG_ID_PATH AS "pIds",
ip.ISSUE_STATUS AS "status",
COUNT(ip.ID) AS "count"
*
FROM
issue i
INNER JOIN issue_process ip ON i.ID = ip.ISSUE_ID
AND ip.DEL_FLAG = '0'
WHERE
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE(ip.CREATED_TIME) = #{date}
GROUP BY
i.ORG_ID,
ip.ISSUE_STATUS
(
SELECT
i.ORG_ID AS "agencyId",
i.ORG_ID_PATH AS "pIds",
ip.ISSUE_STATUS AS "status",
COUNT( ip.ID ) AS "count"
FROM
issue i
INNER JOIN issue_process ip ON i.ID = ip.ISSUE_ID
AND ip.DEL_FLAG = '0'
WHERE
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE(ip.CREATED_TIME) = #{date}
GROUP BY
i.ORG_ID,
ip.ISSUE_STATUS
) a
ORDER BY
agencyId
</select>
<select id="selectAgencyClosedIssueTotal" resultType="com.epmet.dto.issue.IssueAgencyDTO">
SELECT
@ -83,22 +92,29 @@
</select>
<select id="selectGridIssueInc" resultType="com.epmet.dto.issue.IssueGridDTO">
SELECT
i.ORG_ID AS "agencyId",
i.GRID_ID AS "gridId",
ip.ISSUE_STATUS AS "status",
COUNT(ip.ID) AS "count"
*
FROM
issue i
INNER JOIN issue_process ip ON i.ID = ip.ISSUE_ID
AND ip.DEL_FLAG = '0'
WHERE
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE(ip.CREATED_TIME) = #{date}
GROUP BY
i.ORG_ID,
i.GRID_ID,
ip.ISSUE_STATUS
(
SELECT
i.ORG_ID AS "agencyId",
i.GRID_ID AS "gridId",
ip.ISSUE_STATUS AS "status",
COUNT( ip.ID ) AS "count"
FROM
issue i
INNER JOIN issue_process ip ON i.ID = ip.ISSUE_ID
AND ip.DEL_FLAG = '0'
WHERE
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND DATE(ip.CREATED_TIME) = #{date}
GROUP BY
i.ORG_ID,
i.GRID_ID,
ip.ISSUE_STATUS
) a
ORDER BY
agencyId
</select>
<select id="selectGridClosedIssueTotal" resultType="com.epmet.dto.issue.IssueGridDTO">
SELECT

6
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

@ -5,9 +5,9 @@
<select id="selectProcessList" resultType="com.epmet.entity.project.ProjectProcessEntity">
SELECT
pro.project_id,
pro.operation,
DATE_FORMAT(pro.created_time, "%Y-%m-%d"),
pro.project_id AS "projectId",
pro.operation AS "operation",
DATE_FORMAT(pro.created_time, "%Y-%m-%d") AS "createdTime",
p.agency_id
FROM
project_process pro

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactTagUsedAgencyDailyDao.xml

@ -13,7 +13,7 @@
AGENCY_ID,
TAG_ID,
TAG_NAME,
COUNT( USED_COUNT ) USED_COUNT,
SUM( USED_COUNT ) USED_COUNT,
MONTH_ID,
QUARTER_ID,
YEAR_ID

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactTagUsedDepartmentDailyDao.xml

@ -14,7 +14,7 @@
DEPARTMENT_ID,
TAG_ID,
TAG_NAME,
COUNT( USED_COUNT ) USED_COUNT,
SUM( USED_COUNT ) USED_COUNT,
MONTH_ID,
QUARTER_ID,
YEAR_ID

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactTagUsedGridDailyDao.xml

@ -12,7 +12,7 @@
GRID_ID,
TAG_ID,
TAG_NAME,
COUNT( USED_COUNT ) USED_COUNT,
SUM( USED_COUNT ) USED_COUNT,
MONTH_ID,
QUARTER_ID,
YEAR_ID

2
epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-job-server:
container_name: epmet-job-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.10
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.11
ports:
- "8084:8084"
network_mode: host # 使用现有网络

2
epmet-module/epmet-job/epmet-job-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.10</version>
<version>0.3.11</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-job</artifactId>

9
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/DimInitService.java

@ -0,0 +1,9 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
public interface DimInitService {
Result initAllDims();
}

19
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/DimInitServiceImpl.java

@ -0,0 +1,19 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.service.DimInitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class DimInitServiceImpl implements DimInitService {
@Autowired
private DataStatisticalOpenFeignClient statsFeignClient;
@Override
public Result initAllDims() {
return statsFeignClient.initAllDims();
}
}

31
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/DimInitTask.java

@ -0,0 +1,31 @@
package com.epmet.task;
import com.epmet.commons.tools.utils.Result;
import com.epmet.service.DimInitService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/23 14:36
*/
@Slf4j
@Component("dimInitTask")
public class DimInitTask implements ITask {
@Autowired
private DimInitService dimInitService;
@Override
public void run(String params) {
log.debug("DimInitTask定时任务正在执行,参数为:{}", params);
Result result = dimInitService.initAllDims();
if (result.success()){
log.debug("DimInitTask定时任务正在执行定时任务执行成功");
}else {
log.debug("DimInitTask定时任务正在执行定时任务执行失败:" + result.getMsg());
}
}
}

2
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/PublicityTagViewedQuarterlyAndYearlyhlyStatsTask.java

@ -21,7 +21,7 @@ public class PublicityTagViewedQuarterlyAndYearlyhlyStatsTask implements ITask {
@Override
public void run(String params) {
logger.debug("publicityTagViewedMonthlyStatsTask定时任务正在执行,参数为:{}", params);
Result result = statsPublicityTaskService.tagViewedMonthlyStatsjob();
Result result = statsPublicityTaskService.tagUsedQuarterlyStatsjob();
if (result.success()) {
logger.debug("publicityTagViewedMonthlyStatsTask定时任务正在执行定时任务执行成功");
} else {

19
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UpdateCachedRolesFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data
public class UpdateCachedRolesFormDTO {
@NotBlank(message = "客户ID不能为空")
private String staffId;
@NotBlank(message = "机关ID不能为空")
private String orgId;
private List<String> roleIds;
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java

@ -1,7 +1,9 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import lombok.Data;
import java.util.List;
import java.util.Set;
@Data
@ -25,7 +27,8 @@ public class LoginUserDetailsResultDTO {
/**
* 角色列表
*/
private Set<String> roleIdList;
//private Set<String> roleIdList;
private List<GovTokenDto.Role> roleList;
/**
* 部门id列表

2
epmet-user/epmet-user-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-user-server:
container_name: epmet-user-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.61
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.64
ports:
- "8087:8087"
network_mode: host # 不会创建新的网络

2
epmet-user/epmet-user-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.61</version>
<version>0.3.64</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-user</artifactId>

23
epmet-user/epmet-user-server/src/main/java/com/epmet/feign/AuthFeignClient.java

@ -0,0 +1,23 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UpdateCachedRolesFormDTO;
import com.epmet.feign.fallback.AuthFeignClientCallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallback = AuthFeignClientCallback.class, url = "localhost:8081")
//@FeignClient(name = ServiceConstant.EPMET_AUTH_SERVER, fallback = AuthFeignClientCallback.class)
public interface AuthFeignClient {
/**
* 更新缓存的角色列表
* @param form
* @return
*/
@PostMapping("/auth/gov/updatecachedroles")
Result updateCachedRoles(@RequestBody UpdateCachedRolesFormDTO form);
}

17
epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/AuthFeignClientCallback.java

@ -0,0 +1,17 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UpdateCachedRolesFormDTO;
import com.epmet.feign.AuthFeignClient;
import org.springframework.stereotype.Component;
@Component
public class AuthFeignClientCallback implements AuthFeignClient {
@Override
public Result updateCachedRoles(UpdateCachedRolesFormDTO form) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_AUTH_SERVER, "updateCachedRoles", form);
}
}

29
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java

@ -24,8 +24,10 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerStaffConstant;
import com.epmet.constant.UserConstant;
@ -39,6 +41,7 @@ import com.epmet.entity.CustomerStaffEntity;
import com.epmet.entity.GovStaffRoleEntity;
import com.epmet.entity.StaffRoleEntity;
import com.epmet.entity.UserEntity;
import com.epmet.feign.AuthFeignClient;
import com.epmet.redis.CustomerStaffRedis;
import com.epmet.service.CustomerStaffService;
import com.epmet.service.GovStaffRoleService;
@ -52,10 +55,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -78,6 +78,10 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
private StaffRoleService staffRoleService;
@Autowired
private StaffRoleDao staffRoleDao;
@Autowired
private CpUserDetailRedis cpUserDetailRedis;
@Autowired
private AuthFeignClient authFeignClient;
@Override
public PageData<CustomerStaffDTO> page(Map<String, Object> params) {
@ -328,6 +332,23 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
staffRoleEntity.setOrgId(fromDTO.getAgencyId());
staffRoleService.insert(staffRoleEntity);
});
// redis缓存角色修改
UpdateCachedRolesFormDTO updateRolesForm = new UpdateCachedRolesFormDTO();
updateRolesForm.setOrgId(fromDTO.getAgencyId());
updateRolesForm.setStaffId(fromDTO.getStaffId());
updateRolesForm.setRoleIds(fromDTO.getRoles());
try {
Result result = authFeignClient.updateCachedRoles(updateRolesForm);
if (!result.success()) {
logger.error("修改用户信息:修改用户已缓存的角色列表失败:{}", result.getInternalMsg());
}
logger.info("修改用户信息:修改用户已缓存的角色列表成功");
} catch (Exception e) {
e.printStackTrace();
logger.error("修改用户信息:修改用户已缓存的角色列表异常:{}", ExceptionUtils.getErrorStackTrace(e));;
}
return new Result();
}

25
epmet-user/epmet-user-server/src/test/java/com/epmet/epmetuser/test/UserControllerTest.java

@ -0,0 +1,25 @@
package com.epmet.epmetuser.test;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest
@RunWith(SpringRunner.class)
public class UserControllerTest {
@Autowired
private UserService userService;
@Test
public void getLoginUserDetails() {
LoginUserDetailsResultDTO loginUserDetails = userService.getLoginUserDetails(AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP, "4aaab913d9f11d90a2cb4dd21b075259");
System.out.println(loginUserDetails);
}
}
Loading…
Cancel
Save