Browse Source

【锦水pc端】-【添加用户分析模块】

feature/syp_points
weikai 5 years ago
parent
commit
8b4d36a9f2
  1. 24
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
  2. 0
      esua-epdc/epdc-module/epdc-analysis/db/mysql.sql
  3. 0
      esua-epdc/epdc-module/epdc-analysis/db/oracle.sql
  4. 0
      esua-epdc/epdc-module/epdc-analysis/db/postgresql.sql
  5. 0
      esua-epdc/epdc-module/epdc-analysis/db/sqlserver.sql
  6. 27
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/pom.xml
  7. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/form/HotIssueFormDTO.java
  8. 51
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueStatisticsInfoFormDTO.java
  9. 47
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/form/NewIssueFormDTO.java
  10. 32
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/HotIssueResultDTO.java
  11. 35
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueClassifiedStatisticDTO.java
  12. 64
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueResultDTO.java
  13. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueStatisticsInfoResultDTO.java
  14. 43
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/NewIssueResultDTO.java
  15. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/form/HotItemListFormDTO.java
  16. 60
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemAnalysisFormDTO.java
  17. 33
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemSurveyFormDTO.java
  18. 60
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/DifficultItemResultDTO.java
  19. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/HotItemListResultDTO.java
  20. 65
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemAnalysisResultDTO.java
  21. 63
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemResultDTO.java
  22. 49
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemSurveyResultDTO.java
  23. 56
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ReportSolvedItemResultDTO.java
  24. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ReportUnsolvedItemResultDTO.java
  25. 57
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/UnsolvedItemResultDTO.java
  26. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/HotTopicFormDTO.java
  27. 47
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/NewHotTopicFormDTO.java
  28. 32
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/HotTopicResultDTO.java
  29. 43
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/NewHotTopicResultDTO.java
  30. 61
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/TopicResultDTO.java
  31. 146
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java
  32. 127
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserPartyRankDTO.java
  33. 137
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserRegisterRankDTO.java
  34. 15
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/UserAnalysisDTO.java
  35. 25
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java
  36. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/MemberRankFormDTO.java
  37. 20
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java
  38. 13
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserRegisterDataFormDTO.java
  39. 47
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserSortRankFormDTO.java
  40. 81
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java
  41. 23
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridDataTotalResultDTO.java
  42. 99
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java
  43. 28
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GriddingCountDTO.java
  44. 34
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/OldMemberRankResultDTO.java
  45. 44
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserAnalysisCountDTO.java
  46. 72
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserDataRankResultDTO.java
  47. 13
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserRegisterDataResultDTO.java
  48. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserSortRankResultDTO.java
  49. 34
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/YoungMemberRankResultDTO.java
  50. 20
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/Dockerfile
  51. 190
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml
  52. 31
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/AnalysisApplication.java
  53. 26
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/config/ModuleConfigImpl.java
  54. 23
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java
  55. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSource.java
  56. 118
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java
  57. 17
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/annotation/DataSource.java
  58. 61
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/aspect/DataSourceAspect.java
  59. 55
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java
  60. 55
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/GridOpiningExcel.java
  61. 52
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/PartyAnalysExcel.java
  62. 53
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/RegisterExcel.java
  63. 42
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  64. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  65. 77
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/AppIssueAnalysisController.java
  66. 67
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueAnalysisController.java
  67. 123
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueAnalysisDao.java
  68. 71
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueAnalysisService.java
  69. 135
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueAnalysisServiceImpl.java
  70. 81
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/AppItemAnalysisController.java
  71. 112
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java
  72. 108
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java
  73. 92
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java
  74. 152
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java
  75. 75
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java
  76. 71
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/TopicAnalysisController.java
  77. 71
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java
  78. 66
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java
  79. 103
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java
  80. 104
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java
  81. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserPartyRankController.java
  82. 104
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserRegisterRankController.java
  83. 114
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
  84. 45
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java
  85. 46
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserPartyRankDao.java
  86. 55
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserRegisterRankDao.java
  87. 28
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/OldMemberRankDao.java
  88. 154
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
  89. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/YoungMemberRankDao.java
  90. 116
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java
  91. 97
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserPartyRankEntity.java
  92. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserRegisterRankEntity.java
  93. 80
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java
  94. 70
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserPartyRankExcel.java
  95. 76
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserRegisterRankExcel.java
  96. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java
  97. 105
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserPartyRankService.java
  98. 105
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserRegisterRankService.java
  99. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/OldMemberRankService.java
  100. 65
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java

24
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java

@ -14,9 +14,11 @@ import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* 日期处理工具类
@ -180,4 +182,26 @@ public class DateUtils {
DateTime dateTime = new DateTime(date);
return dateTime.plusYears(years).toDate();
}
/***
* 前端上传信息解析
* @param oldDate
* @return java.lang.String
* @author qushutong
* @date 2020/3/26 10:09
*/
public static String dealDateFormat(String oldDate) {
Date date1 = null;
DateFormat df2 = null;
try {
oldDate= oldDate.replace("Z", " UTC");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
Date date = df.parse(oldDate);
SimpleDateFormat df1 = new SimpleDateFormat ("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);
date1 = df1.parse(date.toString());
df2 = new SimpleDateFormat("yyyy-MM-dd");
} catch (ParseException e) {
e.printStackTrace();
}
return df2.format(date1);
}
}

0
esua-epdc/epdc-module/epdc-analysis/db/mysql.sql

0
esua-epdc/epdc-module/epdc-analysis/db/oracle.sql

0
esua-epdc/epdc-module/epdc-analysis/db/postgresql.sql

0
esua-epdc/epdc-module/epdc-analysis/db/sqlserver.sql

27
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/pom.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-analysis</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>epdc-analysis-client</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-tools</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

48
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/form/HotIssueFormDTO.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.dto.issue.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Description 最热议题接口入参DTO
* @Author wgf
* @Date 2020/2/12 8:31
*/
@Data
public class HotIssueFormDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 页码从1开始
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认10页
*/
@Min(value = 1, message = "每页条数必须大于必须大于0")
private Integer pageSize = 10;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 数据时间类型1:最近1个月2:最近3个月3:最近半年4:最近一年,默认1
*/
@NotNull(message = "数据时间类型不能为空")
private Integer someMonthsType = 1;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

51
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueStatisticsInfoFormDTO.java

@ -0,0 +1,51 @@
package com.elink.esua.epdc.dto.issue.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 议题项目数量类目分析DTO
* @Author zy
* @Date 2020/2/11 11:58
*/
@Data
public class IssueStatisticsInfoFormDTO implements Serializable {
private static final long serialVersionUID = 6544783947414092507L;
/**
* 主键
*/
private String id;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认5页
*/
@Min(value = 1, message = "每页条数必须大于0")
private Integer pageSize;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 分类类别, 默认1
*/
@NotBlank(message = "分类类别不能为空")
private String cotegoryType;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

47
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/form/NewIssueFormDTO.java

@ -0,0 +1,47 @@
package com.elink.esua.epdc.dto.issue.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 最新发布议题接口DTO
* @Author wgf
* @Date 2020/2/11 10:31
*/
@Data
public class NewIssueFormDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 页码从1开始
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认10页
*/
@Min(value = 1, message = "每页条数必须大于必须大于0")
private Integer pageSize = 10;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 数据时间类型1:最近1个月2:最近3个月3:最近半年4:最近一年,默认1
*/
//@NotNull(message = "数据时间类型不能为空")
private Integer someMonthsType = 1;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

32
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/HotIssueResultDTO.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 最热议题接口DTO
* @Author wgf
* @Date 2020/2/12 8:31
*/
@Data
public class HotIssueResultDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 话题IdTopicId
*/
private String id;
/**
* 内容
*/
private String content;
/**
* 表态数
*/
private String statementNum;
}

35
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueClassifiedStatisticDTO.java

@ -0,0 +1,35 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 议题分类统计
* @Author yinzuomei
* @Date 2020/2/11 9:31
*/
@Data
public class IssueClassifiedStatisticDTO implements Serializable {
private static final long serialVersionUID = 3697313657209369676L;
/**
* 目录名称
*/
private String categoryName;
/**
* 议题项目总数
*/
private Integer categoryNum;
/**
* 议题数
*/
private Integer issueNum;
/**
* 项目数
*/
private Integer itemNum;
/**
* 类目名称1一级类目2二级类目3三季类目
*/
private String categoryLevel;
}

64
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueResultDTO.java

@ -0,0 +1,64 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 议题列表DTO
* @Author yinzuomei
* @Date 2020/2/10 15:58
*/
@Data
public class IssueResultDTO implements Serializable {
/**
* epdc_issue主键
*/
private String id;
/**
* 议题内容
*/
private String issueContent;
/**
* 来源网格-所有部门
*/
private String allDeptNames;
/**
* 用户昵称
*/
private String nickName;
/**
* 发布时间
*/
private Date createdTime;
/**
* 支持-点赞次数
*/
private Integer approveNum;
/**
* 反对-踩次数
*/
private Integer opposeNum;
/**
* 评论数
*/
private Integer commentNum;
/**
* 浏览数
*/
private Integer browseNum;
/**
* 表达态度评论+回复+浏览
*/
private Integer expressAttitudeNum;
}

24
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueStatisticsInfoResultDTO.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 议题项目数量类目分析DTO
* @Author zy
* @Date 2020/2/11 11:58
*/
@Data
public class IssueStatisticsInfoResultDTO implements Serializable {
/**
* 分类名称
*/
private String cotegoryName;
/**
* 数量
*/
private Integer count;
}

43
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/issue/result/NewIssueResultDTO.java

@ -0,0 +1,43 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 最新发布议题接口DTO
* @Author wgf
* @Date 2020/2/10 11:31
*/
@Data
public class NewIssueResultDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 话题IdTopicId
*/
private String id;
/**
* 内容
*/
private String content;
/**
* 图片
*/
private List<String> images;
/**
* 部门名称
*/
private String deptName;
/**
* 创建时间
*/
private String createdTime;
}

48
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/form/HotItemListFormDTO.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Description 最热项目接口DTO
* @Author zy
* @Date 2020/2/12
*/
@Data
public class HotItemListFormDTO implements Serializable {
private static final long serialVersionUID = 6145783947444092507L;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认5页
*/
@Min(value = 1, message = "每页条数必须大于0")
private Integer pageSize;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 数据时间类型1:最近1个月2:最近3个月3:最近半年4:最近一年
*/
@NotNull(message = "数据时间类型不能为空")
private Integer someMonthsType;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

60
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemAnalysisFormDTO.java

@ -0,0 +1,60 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Description 疑难项目分析DTO
* @Author zy
* @Date 2020/2/11
*/
@Data
public class ItemAnalysisFormDTO implements Serializable {
private static final long serialVersionUID = 6144783947444092507L;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认5页
*/
@Min(value = 1, message = "每页条数必须大于0")
private Integer pageSize;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 分析类型1:耗时最长2:设计部门最多3:处理次数最多
*/
@NotNull(message = "分析类型不能为空")
private Integer analysisType;
/**
* 项目状态1:结案或关闭2:解决中
*/
@NotNull(message = "项目状态不能为空")
private Integer itemState;
/**
* 数据时间类型1:最近1个月2:最近3个月3:最近半年4:最近一年
*/
@NotNull(message = "数据时间类型不能为空")
private Integer someMonthsType;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

33
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemSurveyFormDTO.java

@ -0,0 +1,33 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 重点项目概况DTO
* @Author zy
* @Date 2020/2/11
*/
@Data
public class ItemSurveyFormDTO implements Serializable {
private static final long serialVersionUID = 6544783947444092507L;
/**
* 主键
*/
private String id;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

60
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/DifficultItemResultDTO.java

@ -0,0 +1,60 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 疑难项目
* @Author yinzuomei
* @Date 2020/2/11 13:09
*/
@Data
public class DifficultItemResultDTO implements Serializable {
private static final long serialVersionUID = -4125919212689714492L;
/**
* 主键
*/
private String id;
/**
* 项目内容
*/
private String itemContent;
/**
* 转项目时间
*/
private Date createdTime;
/**
* 处理次数
*/
private Integer operatNum;
/**
* 是否流转网格化平台
*/
private String reportFlag;
/**
* 涉及部门数量
*/
private Integer deptNum;
/**
* 项目状态
*/
private String itemState;
/**
* 处理完毕时间
*/
private Date processedTime;
/**
* 处理时长
*/
private Integer takeTime;
/**
* 项目来源网格名称
*/
private String allDeptNames;
/**
* 居民满意度评价
*/
private String evaluationScore;
}

29
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/HotItemListResultDTO.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 最热项目接口DTO
* @Author zy
* @Date 2020/2/12
*/
@Data
public class HotItemListResultDTO implements Serializable {
/**
* 项目IditemId
*/
private String id;
/**
* 内容
*/
private String content;
/**
* 表态数
*/
private String statementNum;
}

65
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemAnalysisResultDTO.java

@ -0,0 +1,65 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 疑难项目分析DTO
* @Author zy
* @Date 2020/2/11
*/
@Data
public class ItemAnalysisResultDTO implements Serializable {
/**
* 主键
*/
private String id;
/**
* 项目内容
*/
private String content;
/**
* 创建时间
*/
private String createdTime;
/**
* 图片
*/
private List<String> images;
/**
* 项目状态 0-处理中5-已关闭10-已结案
*/
private Integer itemState;
/**
* 分类名称
*/
private String categoryName;
/**
* 部门名称
*/
private String deptName;
/**
* 耗时小时
*/
private Integer spendTime;
/**
* 部门数量
*/
private Integer deptCount;
/**
* 处理次数
*/
private Integer handleCount;
}

63
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemResultDTO.java

@ -0,0 +1,63 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 项目列表DTO
* @Author yinzuomei
* @Date 2020/2/10 13:44
*/
@Data
public class ItemResultDTO implements Serializable {
/**
* epdc_item表主键
*/
private String id;
/**
* 议题内容-项目摘要
*/
private String itemContent;
/**
* 所有部门
*/
private String allDeptNames;
/**
* 发布人用户昵称
*/
private String nickName;
/**
* 发布时间
*/
private Date releaseTime;
/**
* 支持-点赞次数
*/
private Integer approveNum;
/**
* 反对-踩次数
*/
private Integer opposeNum;
/**
* 评论数
*/
private Integer commentNum;
/**
* 浏览数
*/
private Integer browseNum;
/**
* 表达态度评论+回复+浏览
*/
private Integer expressAttitudeNum;
}

49
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemSurveyResultDTO.java

@ -0,0 +1,49 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 重点项目概况DTO
* @Author zy
* @Date 2020/2/11
*/
@Data
public class ItemSurveyResultDTO implements Serializable {
/**
* 未解决项目数
*/
private Integer unsolvedCount;
/**
* 超时项目数
*/
private Integer timeoutCount;
/**
* 未超时项目数
*/
private Integer noTimeoutCount;
/**
* 区调度项目数
*/
private Integer dispatchCount;
/**
* 解决中项目数
*/
private Integer solvingCount;
/**
* 已解决项目数
*/
private Integer solvedCount;
/**
* 更新时间
*/
private String updateTime;
}

56
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ReportSolvedItemResultDTO.java

@ -0,0 +1,56 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 区域调度-已解决项目列表
* @Author yinzuomei
* @Date 2020/2/11 15:12
*/
@Data
public class ReportSolvedItemResultDTO implements Serializable {
private static final long serialVersionUID = -600933427201742607L;
/**
* 主键
*/
private String id;
/**
* 项目内容
*/
private String itemContent;
/**
* 转项目时间
*/
private Date createdTime;
/**
* 网格名称
*/
private String grid;
/**
* 向网格化平台上报部门
*/
private String reportDept;
/**
* 向网格化平台上报时间
*/
private Date reportTime;
/**
* 最新处理部门
*/
private Date lastHandlerTime;
/**
* 最新处理时间
*/
private String lastHandlerDept;
/**
* 项目状态
*/
private String itemState;
/**
* 居民评价
*/
private String evaluationScore;
}

48
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/ReportUnsolvedItemResultDTO.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 区域调度-解决中项目列表
* @Author yinzuomei
* @Date 2020/2/11 15:10
*/
@Data
public class ReportUnsolvedItemResultDTO implements Serializable {
private static final long serialVersionUID = 2364303777789369092L;
/**
* 主键
*/
private String id;
/**
* 项目内容
*/
private String itemContent;
/**
* 转项目时间
*/
private Date createdTime;
/**
* 网格名称
*/
private String grid;
/**
* 向网格化平台上报部门
*/
private String reportDept;
/**
* 向网格化平台吹哨时间
*/
private Date reportTime;
/**
* 最新进展处理部门
*/
private Date lastHandlerTime;
/**
* 最新进展处理时间
*/
private String lastHandlerDept;
}

57
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/UnsolvedItemResultDTO.java

@ -0,0 +1,57 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 未解决项目列表
* @Author yinzuomei
* @Date 2020/2/10 18:58
*/
@Data
public class UnsolvedItemResultDTO implements Serializable {
private static final long serialVersionUID = 7659596790013430029L;
/**
* epdc_item表主键
*/
private String id;
/**
* 议题内容-项目摘要
*/
private String itemContent;
/**
* 发布时间
*/
private Date releaseTime;
/**
* 所有部门
*/
private String allDeptNames;
/**
* 发布人用户昵称
*/
private String nickName;
/**
* 处理次数
*/
private Integer solveNum;
/**
*最新进展处理时间
*/
private Date latestHandleTime;
/**
* 最新进展处理部门
*/
private String latestHandleDeptName;
}

48
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/HotTopicFormDTO.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.dto.topic.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Description 最热话题接口入参DTO
* @Author wgf
* @Date 2020/2/11 10:31
*/
@Data
public class HotTopicFormDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 页码从1开始
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认10页
*/
@Min(value = 1, message = "每页条数必须大于必须大于0")
private Integer pageSize = 10;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 数据时间类型1:最近1个月2:最近3个月3:最近半年4:最近一年,默认1
*/
@NotNull(message = "数据时间类型不能为空")
private Integer someMonthsType = 1;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

47
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/NewHotTopicFormDTO.java

@ -0,0 +1,47 @@
package com.elink.esua.epdc.dto.topic.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 最新发布话题接口入参DTO
* @Author wgf
* @Date 2020/2/11 10:31
*/
@Data
public class NewHotTopicFormDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 页码从1开始
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认10页
*/
@Min(value = 1, message = "每页条数必须大于必须大于0")
private Integer pageSize = 10;
/**
* 第一页查询发起时的时间
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 数据时间类型1:最近1个月2:最近3个月3:最近半年4:最近一年,默认1
*/
//@NotNull(message = "数据时间类型不能为空")
private Integer someMonthsType = 1;
/**
* 部门ID列表
*/
List<Long> deptIdList;
}

32
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/HotTopicResultDTO.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.dto.topic.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 最热话题接口DTO
* @Author wgf
* @Date 2020/2/11 11:31
*/
@Data
public class HotTopicResultDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 话题IdTopicId
*/
private String id;
/**
* 内容
*/
private String content;
/**
* 表态数
*/
private String statementNum;
}

43
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/NewHotTopicResultDTO.java

@ -0,0 +1,43 @@
package com.elink.esua.epdc.dto.topic.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 最新发布话题接口DTO
* @Author wgf
* @Date 2020/2/10 11:31
*/
@Data
public class NewHotTopicResultDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 话题IdTopicId
*/
private String id;
/**
* 内容
*/
private String content;
/**
* 图片
*/
private List<String> images;
/**
* 部门名称
*/
private String deptName;
/**
* 创建时间
*/
private String createdTime;
}

61
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/TopicResultDTO.java

@ -0,0 +1,61 @@
package com.elink.esua.epdc.dto.topic.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 话题列表DTO
* @Author yinzuomei
* @Date 2020/2/10 11:31
*/
@Data
public class TopicResultDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 主键
*/
private String id;
/**
* 话题摘要
*/
private String topicContent;
/**
* 所有部门
*/
private String allDeptNames;
/**
* 网格来源群名称
*/
private String groupName;
/**
* 话题发布人姓名
*/
private String nickName;
/**
* 发布时间
*/
private Date releaseTime;
/**
* 评论数评论+回复
*/
private Integer commentNum;
/**
* 浏览数
*/
private Integer browseNum;
/**
* 表达态度评论+回复+浏览
*/
private Integer expressAttitudeNum;
}

146
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java

@ -0,0 +1,146 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto.user;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格开通情况
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
public class MetaUserGridOpiningDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 网格id
*/
private String gridId;
/**
* 用户总数
*/
private int registerCount;
/**
* 党员数
*/
private int partyCount;
/**
* 已注册居民
*/
private int residentCount;
/**
* 未注册居民
*/
private int unAuthorizedCount;
/**
* 新闻发布数
*/
private int newsCount;
/**
* 社群数
*/
private int communityCount;
/**
* 群成员数
*/
private int communityMemberCount;
/**
* 群话题数
*/
private int communityTopicCount;
/**
* 议题总数
*/
private int eventCount;
/**
* 项目数
*/
private int itemCount;
/**
* 项目已解决数
*/
private int itemCloseCount;
/**
* 好评数
*/
private int itemPraiseCount;
/**
* 网格名称
*/
private String allDeptName;
/**
* 网格党建指导员姓名
*/
private String gridLeader;
/**
* 删除标记
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 注册时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

127
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserPartyRankDTO.java

@ -0,0 +1,127 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto.user;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.math.BigDecimal;
/**
* 党员排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Data
public class MetaUserPartyRankDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 街道id
*/
private String streetId;
/**
* 街道名称
*/
private String streetName;
/**
* 已注册党员数量已认证
*/
private Integer partyMemberCount;
/**
* 年龄超过50岁党员数量
*/
private Integer oldCount;
/**
* 老龄化比例
*/
private BigDecimal oldPercent;
/**
* 年龄50岁以下的党员数量
*/
private Integer youngCount;
/**
* 年轻化比例
*/
private BigDecimal youngPercent;
/**
*
*/
private Integer maleCount;
/**
*
*/
private Integer femaleCount;
/**
* 未知性别
*/
private Integer unknownSexCount;
/**
* 党员认证失败数
*/
private Integer partyAuthFailureCount;
/**
* 删除标记
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 注册时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

137
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserRegisterRankDTO.java

@ -0,0 +1,137 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto.user;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.math.BigDecimal;
/**
* 用户注册排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Data
public class MetaUserRegisterRankDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 街道id
*/
private String streetId;
/**
* 街道名称
*/
private String streetName;
/**
* 用户总数
*/
private Integer userCount;
/**
* 党员数
*/
private Integer partyMemberCount;
/**
* 已注册居民
*/
private Integer residentCount;
/**
* 为注册居民
*/
private Integer unAuthorizedCount;
/**
* 年龄超过50岁
*/
private Integer oldCount;
/**
* 老龄化比例
*/
private BigDecimal oldPercent;
/**
* 50岁以下用户数量
*/
private Integer youngCount;
/**
* 年轻化比例
*/
private BigDecimal youngPercent;
/**
*
*/
private Integer maleCount;
/**
*
*/
private Integer femaleCount;
/**
* 未知性别
*/
private Integer unknownSexCount;
/**
* 删除标记
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 注册时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

15
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/UserAnalysisDTO.java

@ -0,0 +1,15 @@
package com.elink.esua.epdc.dto.user;
import lombok.Data;
/**
* 用户注册数据分析
*
* @author work@yujt.net.cn
* @date 2020/2/11 10:43
*/
@Data
public class UserAnalysisDTO {
}

25
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java

@ -0,0 +1,25 @@
package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class ExportOperationFormDTO implements Serializable {
private String operationStartTime;
private String operationEndTime;
/**
* 所有部门列表
*/
private List<Long[]> allDeptIdsShow;
private List<Long> allStreetIds;
private String endTime;
private List<Long> deptIdList;
}

41
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/MemberRankFormDTO.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author songyunpeng
* @Description 党员老龄化和年轻化排名查询表单
* @create 2020-02-11 10:53 上午
*/
@Data
public class MemberRankFormDTO {
/**
* 页码
*/
@NotNull(message = "页码不能为空")
private Integer pageIndex;
/**
* 页容量
*/
@NotNull(message = "分页数量不能为空")
private Integer pageSize;
/**
* 时间戳(yyyy-MM-dd HH:mm:ss)
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 排序状态1降序2升序
*/
@NotBlank(message = "排序状态不能为空")
private String sortState;
/**
* 部门Id
*/
private String deptId;
}

20
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java

@ -0,0 +1,20 @@
package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
/**
* @program: esua-epdc-cloud
* @description: 用户数据统计/网格开通数量
* @author: wangtong
* @create: 2020-02-12 10:03
**/
@Data
public class UserCountDTO{
/**
* 部门id
*/
private String deptId;
}

13
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserRegisterDataFormDTO.java

@ -0,0 +1,13 @@
package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
/**
* 用户注册数据分析
*
* @author work@yujt.net.cn
* @date 2020/2/11 09:43
*/
@Data
public class UserRegisterDataFormDTO {
}

47
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserSortRankFormDTO.java

@ -0,0 +1,47 @@
package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author lpf
* @Description 用户排名
* @create 2020-02-11 10:53 上午
*/
@Data
public class UserSortRankFormDTO {
/**
* 页码
*/
@NotNull(message = "页码不能为空")
private Integer pageIndex;
/**
* 页容量
*/
@NotNull(message = "分页数量不能为空")
private Integer pageSize;
/**
* 时间戳(yyyy-MM-dd HH:mm:ss)
*/
@NotBlank(message = "时间戳不能为空")
private String timestamp;
/**
* 排序状态1降序2升序
*/
@NotBlank(message = "排序状态不能为空")
private String sortState ="1";
/**
* 排序类型1按用户数2按党员数
*/
@NotBlank(message = "排序类型")
private String sortType = "1";
/**
* 部门Id
*/
private String deptId;
}

81
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java

@ -0,0 +1,81 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2020/3/23 14:47
* @Description: 运营导出数据
*/
@Data
public class ExportOperationDataResultDTO implements Serializable {
private static final long serialVersionUID = -798787916350968587L;
/**
* 居民数
*/
private int registerCount = 0;
/**
* 未认证用户数
*/
private int unAuthorizedCount = 0;
/**
* 党员数
*/
private int partyCount = 0;
/**
* 新闻发布数
*/
private int newsCount = 0;
/**
* 议题数
*/
private int eventCount = 0;
/**
* 项目数
*/
private int itemCount = 0;
/**
* 项目解决数
*/
private int itemCloseCount = 0;
/**
* 社群数
*/
private int communityCount = 0;
/**
* 社群成员数
*/
private int communityMemberCount = 0;
/**
* 社群话题数
*/
private int communityTopicCount = 0;
/**
* 街道
*/
private String streetName;
/**
* 企业数
*/
private int enterpriseCount = 0;
}

23
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridDataTotalResultDTO.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
/**
* 已开通网格 用户数据总计
*
* @author work@yujt.net.cn
* @date 2020/2/13 13:46
*/
@Data
public class GridDataTotalResultDTO extends GridOpeningResultDTO {
/**
* 已开通网格数
*/
private int workGridCount = 0;
/**
* 未开通网格数
*/
private int unWorkGridCount = 0;
}

99
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GridOpeningResultDTO.java

@ -0,0 +1,99 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2020/2/11 13:09
* @Description: 开通网格情况
*/
@Data
public class GridOpeningResultDTO implements Serializable {
private static final long serialVersionUID = -852226852590425991L;
private String gridId;
/**
* 街道社区网格
*/
private String allDeptName;
/**
* 用户注册数
*/
private int registerCount = 0;
/**
* 居民数包括认证成功和党员认证失败的居民
*/
private int residentCount = 0;
/**
* 认证党员数
*/
private int partyCount = 0;
/**
* 未认证用户根据用户第一次扫码的网格统计
*/
private Integer unAuthorizedCount = 0;
/**
* 居民扫码数
*/
private int ewmCount = 0;
/**
* 新闻数
*/
private int newsCount = 0;
/**
* 通知数
*/
private int noticeCount = 0;
/**
* 议题数
*/
private int eventCount = 0;
/**
* 项目数
*/
private int itemCount = 0;
/**
* 项目解决数
*/
private int itemCloseCount = 0;
/**
* 项目好评数满意度评价为非常满意
*/
private int itemPraiseCount = 0;
/**
* 社群数
*/
private int communityCount = 0;
/**
* 社群成员数
*/
private int communityMemberCount = 0;
/**
* 社群话题数
*/
private int communityTopicCount = 0;
/**
* 网格长姓名
*/
private String gridLeader;
}

28
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GriddingCountDTO.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @program: esua-epdc-cloud
* @description: 网格数量统计Serializable
* @author: wangtong
* @create: 2020-02-11 14:50
**/
@Data
public class GriddingCountDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 网格总计
**/
private Integer gridTotle;
/**
* 开通网格数量
**/
private Integer gridCount;
}

34
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/OldMemberRankResultDTO.java

@ -0,0 +1,34 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author songyunpeng
* @Description 党员老龄化排名结果
* @create 2020-02-11 10:53 上午
*/
@Data
public class OldMemberRankResultDTO implements Serializable {
/**
* 部门ID
*/
private String deptId;
/**
* 部门名称
*/
private String deptName;
/**
* 党员数
*/
private Integer partyMemberCount;
/**
* 超过50岁党员数
*/
private Integer oldMemberCount;
/**
* 比例
*/
private String proportion;
}

44
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserAnalysisCountDTO.java

@ -0,0 +1,44 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @program: esua-epdc-cloud
* @description: 用户数据统计
* @author: wangtong
* @create: 2020-02-11 12:14
**/
@Data
public class UserAnalysisCountDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 所有用户数
**/
private Integer allUserCount;
/**
* 党员数
**/
private Integer partyMemberCount;
/**
* 居民数
**/
private Integer userCount;
/**
* 党员认证率
**/
private BigDecimal partyMemberPercent;
/**
* 居民认证率
**/
private BigDecimal residentPercent;
}

72
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserDataRankResultDTO.java

@ -0,0 +1,72 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.math.BigDecimal;
/**
* 用户数据排行
*
* @author work@yujt.net.cn
* @date 2020/2/11 14:44
*/
@Data
public class UserDataRankResultDTO {
/**
* 街道id
*/
private String streetId;
/**
* 街道名称
*/
private String streetName;
/**
* 用户注册数
*/
private Integer userCount;
/**
* 男性数
*/
private Integer maleCount;
/**
* 女性数
*/
private Integer femaleCount;
/**
* 未知性别数
*/
private Integer unknownSexCount;
/**
* 居民数包括认证成功和党员认证居民失败的居民
*/
private Integer residentCount;
/**
* 未认证用户根据用户第一次扫码的网格统计
*/
private Integer unAuthorizedCount = 0;
/**
* 党员数
*/
private Integer partyMemberCount;
/**
* 老人数年龄大于50
*/
private Integer oldCount;
/**
* 年轻人数年龄不大于50
*/
private Integer youngCount;
/**
* 老人比例
*/
private BigDecimal oldPercent;
/**
* 年轻人比例
*/
private BigDecimal youngPercent;
/**
* 党员认证失败数
*/
private Integer partyAuthFailureCount;
}

13
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserRegisterDataResultDTO.java

@ -0,0 +1,13 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
/**
* 用户注册数据分析
*
* @author work@yujt.net.cn
* @date 2020/2/11 09:43
*/
@Data
public class UserRegisterDataResultDTO {
}

41
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserSortRankResultDTO.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.math.BigDecimal;
/**
* 用户数据排行
*
* @author work@yujt.net.cn
* @date 2020/2/11 14:44
*/
@Data
public class UserSortRankResultDTO {
/**
* 街道id
*/
private String deptId;
/**
* 街道名称
*/
private String deptName;
/**
* 用户注册数
*/
private Integer allUserCount;
/**
* 居民数
*/
private Integer userCount;
/**
* 党员数
*/
private Integer pattyMemberCount;
/**
* 党员占比
*/
private String partyMemberPercent;
}

34
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/YoungMemberRankResultDTO.java

@ -0,0 +1,34 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author songyunpeng
* @Description 党员年轻化排名结果
* @create 2020-02-11 10:53 上午
*/
@Data
public class YoungMemberRankResultDTO implements Serializable {
/**
* 部门ID
*/
private String deptId;
/**
* 部门名称
*/
private String deptName;
/**
* 党员数
*/
private Integer partyMemberCount;
/**
* 超过50岁党员数
*/
private Integer youngMemberCount;
/**
* 比例
*/
private String proportion;
}

20
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/Dockerfile

@ -0,0 +1,20 @@
# 基础镜像
FROM openjdk:8u242-jdk-buster
# 作者
MAINTAINER rongchao@elink-cn.com
# 对应pom.xml文件中的dockerfile-maven-plugin插件JAR_FILE的值
ARG JAR_FILE
# 对应pom.xml文件中的dockerfile-maven-plugin插件JAR_NAME的值
ARG JAR_NAME
# 对应pom.xml文件中的dockerfile-maven-plugin插件SERVER_PORT的值
ARG SERVER_PORT
# 复制打包完成后的jar文件到/opt目录下
ENV JAR_PATH /mnt/epdc/${JAR_NAME}.jar
ADD ${JAR_FILE} $JAR_PATH
# /data设为环境变量
ENV DATAPATH /data
# 挂载/data目录到主机
VOLUME $DATAPATH
# 启动容器时执行
ENTRYPOINT java -jar $JAR_CONFIG $JAR_PATH
EXPOSE ${SERVER_PORT}

190
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-analysis</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>epdc-analysis-server</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-analysis-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-tools</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-mybatis</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring.boot.admin.version}</version>
</dependency>
<!-- nacos start -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- nacos end -->
<!--版本控制-->
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-api-version-control</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-admin-client</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
</plugin>
</plugins>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>**/application*.yml</include>
<include>**/*.properties</include>
<include>logback-spring.xml</include>
<include>registry.conf</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/application*.yml</exclude>
<exclude>**/*.properties</exclude>
<exclude>logback-spring.xml</exclude>
<exclude>registry.conf</exclude>
</excludes>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>9078</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<docker.tag>dev</docker.tag>
<!-- redis -->
<!-- <spring.redis.index>2</spring.redis.index>-->
<!-- <spring.redis.host>47.104.224.45</spring.redis.host>-->
<!-- <spring.redis.port>6379</spring.redis.port>-->
<!-- <spring.redis.password>elink@888</spring.redis.password>-->
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>114.215.125.123</spring.redis.host>
<spring.redis.port>9603</spring.redis.port>
<spring.redis.password>epdc!redis@master1405</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<nacos.ip></nacos.ip>
<nacos.namespace>6a3577b4-7b79-43f6-aebb-9c3f31263f6a</nacos.namespace>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<server.port>10003</server.port>
<spring.profiles.active>test</spring.profiles.active>
<docker.tag>test</docker.tag>
<!-- redis -->
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>118.190.232.100</spring.redis.host>
<spring.redis.port>9603</spring.redis.port>
<spring.redis.password>epdc!redis@master1405</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<nacos.ip>219.146.91.110</nacos.ip>
<nacos.namespace>a746dde3-7a13-4521-b986-7369b0b7c269</nacos.namespace>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<server.port>9077</server.port>
<spring.profiles.active>prod</spring.profiles.active>
<docker.tag>prod</docker.tag>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>172.16.0.54</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>Elink833066</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>172.16.0.52:8848</nacos.server-addr>
<nacos.ip></nacos.ip>
<nacos.namespace></nacos.namespace>
</properties>
</profile>
</profiles>
</project>

31
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/AnalysisApplication.java

@ -0,0 +1,31 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* 模块
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class AnalysisApplication {
public static void main(String[] args) {
SpringApplication.run(AnalysisApplication.class, args);
}
}

26
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/config/ModuleConfigImpl.java

@ -0,0 +1,26 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.config;
import com.elink.esua.epdc.commons.tools.config.ModuleConfig;
import org.springframework.stereotype.Service;
/**
* 模块配置信息
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Service
public class ModuleConfigImpl implements ModuleConfig {
@Override
public String getName() {
return "analysis";
}
}

23
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.datasources;
/**
*
* 增加多数据源在此配置
*
* @Authorliuchuang
* @Date2020/2/9 14:50
*/
public interface DataSourceNames {
String FIRST = "first";
String SECOND = "second";
String THIRD = "third";
String FOURTH = "fourth";
String FIFTH = "fifth";
String SIXTH = "sixth";
String SEVENTH = "seventh";
String EIGHTH = "eighth";
String NINTH = "ninth";
String TENTH = "tenth";
String ELEVENTH = "eleventh";
String TWELVE = "twelve";
}

41
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSource.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.datasources;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import javax.sql.DataSource;
import java.util.Map;
/**
*
* 动态数据源
*
* @Authorliuchuang
* @Date2020/2/9 14:59
*/
public class DynamicDataSource extends AbstractRoutingDataSource {
private static final ThreadLocal<String> contextHolder = new ThreadLocal<>();
public DynamicDataSource(DataSource defaultTargetDataSource, Map<Object, Object> targetDataSources) {
super.setDefaultTargetDataSource(defaultTargetDataSource);
super.setTargetDataSources(targetDataSources);
super.afterPropertiesSet();
}
@Override
protected Object determineCurrentLookupKey() {
return getDataSource();
}
public static void setDataSource(String dataSource) {
contextHolder.set(dataSource);
}
public static String getDataSource() {
return contextHolder.get();
}
public static void clearDataSource() {
contextHolder.remove();
}
}

118
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java

@ -0,0 +1,118 @@
package com.elink.esua.epdc.datasources;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
/**
*
* 配置多数据源
*
* @Authorliuchuang
* @Date2020/2/9 15:04
*/
@Configuration
public class DynamicDataSourceConfig {
@Bean
@ConfigurationProperties("spring.datasource.druid.first")
public DataSource firstDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.second")
public DataSource secondDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.third")
public DataSource thirdDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.fourth")
public DataSource fourthDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.fifth")
public DataSource fifthDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.sixth")
public DataSource sixthDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.seventh")
public DataSource seventhDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.eighth")
public DataSource eighthDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.ninth")
public DataSource ninthDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.tenth")
public DataSource tenthDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.eleventh")
public DataSource eleventhDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.twelve")
public DataSource twelvethDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@Primary
public DynamicDataSource dataSource(DataSource firstDataSource, DataSource secondDataSource,
DataSource thirdDataSource, DataSource fourthDataSource,
DataSource fifthDataSource, DataSource sixthDataSource,
DataSource seventhDataSource, DataSource eighthDataSource,
DataSource ninthDataSource, DataSource tenthDataSource,
DataSource eleventhDataSource,DataSource twelvethDataSource) {
Map<Object, Object> targetDataSources = new HashMap<>();
targetDataSources.put(DataSourceNames.FIRST, firstDataSource);
targetDataSources.put(DataSourceNames.SECOND, secondDataSource);
targetDataSources.put(DataSourceNames.THIRD, thirdDataSource);
targetDataSources.put(DataSourceNames.FOURTH, fourthDataSource);
targetDataSources.put(DataSourceNames.FIFTH, fifthDataSource);
targetDataSources.put(DataSourceNames.SIXTH, sixthDataSource);
targetDataSources.put(DataSourceNames.SEVENTH, seventhDataSource);
targetDataSources.put(DataSourceNames.EIGHTH, eighthDataSource);
targetDataSources.put(DataSourceNames.NINTH, ninthDataSource);
targetDataSources.put(DataSourceNames.TENTH, tenthDataSource);
targetDataSources.put(DataSourceNames.ELEVENTH, eleventhDataSource);
targetDataSources.put(DataSourceNames.TWELVE, twelvethDataSource);
return new DynamicDataSource(firstDataSource, targetDataSources);
}
}

17
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/annotation/DataSource.java

@ -0,0 +1,17 @@
package com.elink.esua.epdc.datasources.annotation;
import java.lang.annotation.*;
/**
*
* 多数据源注解
*
* @Authorliuchuang
* @Date2020/2/9 14:50
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataSource {
String name() default "";
}

61
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/aspect/DataSourceAspect.java

@ -0,0 +1,61 @@
package com.elink.esua.epdc.datasources.aspect;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.DynamicDataSource;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
/**
*
* 多数据源切面处理类
*
* @Authorliuchuang
* @Date2020/2/9 15:12
*/
@Aspect
@Component
public class DataSourceAspect implements Ordered {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Pointcut("@annotation(com.elink.esua.epdc.datasources.annotation.DataSource)")
public void dataSourcePointCut() {
}
@Around("dataSourcePointCut()")
public Object around(ProceedingJoinPoint point) throws Throwable {
MethodSignature signature = (MethodSignature) point.getSignature();
Method method = signature.getMethod();
DataSource ds = method.getAnnotation(DataSource.class);
if(ds == null){
DynamicDataSource.setDataSource(DataSourceNames.FIRST);
logger.debug("set datasource is " + DataSourceNames.FIRST);
}else {
DynamicDataSource.setDataSource(ds.name());
logger.debug("set datasource is " + ds.name());
}
try {
return point.proceed();
} finally {
DynamicDataSource.clearDataSource();
logger.debug("clean datasource");
}
}
@Override
public int getOrder() {
return 1;
}
}

55
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java

@ -0,0 +1,55 @@
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
/**
* @author: qushutong
* @Date: 2020/3/23 14:47
* @Description: 运营导出数据
*/
@Data
public class ExportOperationDataExcel implements Serializable {
private static final long serialVersionUID = 4935348597474149310L;
@Excel(name = "街道")
private String streetName;
@Excel(name = "居民数")
private int registerCount = 0;
@Excel(name = "企业数")
private int enterpriseCount = 0;
@Excel(name = "已认证党员数")
private int partyCount = 0;
@Excel(name = "新闻发布数")
private int newsCount = 0;
@Excel(name = "议题数")
private int eventCount = 0;
@Excel(name = "项目数")
private int itemCount = 0;
@Excel(name = "项目结案数")
private int itemCloseCount = 0;
@Excel(name = "社群数")
private int communityCount = 0;
@Excel(name = "社群成员数")
private int communityMemberCount = 0;
@Excel(name = "社群话题数")
private int communityTopicCount = 0;
}

55
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/GridOpiningExcel.java

@ -0,0 +1,55 @@
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* @author: qushutong
* @Date: 2020/2/13 15:23
* @Description: 网格开通导出
*/
@Data
public class GridOpiningExcel {
@Excel(name = "网格名称")
private String allDeptName;
@Excel(name = "网格党建指导员姓名")
private String gridLeader;
@Excel(name = "用户总数")
private Integer registerCount;
@Excel(name = "党员数")
private Integer partyCount;
@Excel(name = "未注册居民")
private Integer unAuthorizedCount;
@Excel(name = "已注册居民")
private int residentCount;
@Excel(name = "新闻发布数")
private Integer newsCount;
@Excel(name = "社群数")
private Integer communityCount;
@Excel(name = "群成员数")
private Integer communityMemberCount;
@Excel(name = "话题数")
private Integer communityTopicCount;
@Excel(name = "项目数")
private Integer itemCount;
@Excel(name = "项目关闭数")
private Integer itemCloseCount;
@Excel(name = "好评数")
private Integer itemPraiseCount;
@Excel(name = "议题数")
private Integer eventCount;
}

52
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/PartyAnalysExcel.java

@ -0,0 +1,52 @@
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author: qushutong
* @Date: 2020/2/12 14:24
* @Description: 注册用户分析
*/
@Data
public class PartyAnalysExcel {
@Excel(name = "街道名称")
private String streetName;
@Excel(name = "注册用户数")
private Integer userCount;
@Excel(name = "注册党员数")
private Integer partyMemberCount;
@Excel(name = "注册居民数")
private Integer residentCount;
@Excel(name = "男")
private Integer maleCount;
@Excel(name = "女")
private Integer femaleCount;
@Excel(name = "其他")
private Integer unknownSexCount;
@Excel(name = "超过50岁用户数量")
private Integer oldCount;
@Excel(name = "老龄化比例")
private BigDecimal oldPercent;
@Excel(name = "50岁以下用户数量")
private Integer youngCount;
@Excel(name = "年轻化比例")
private BigDecimal youngPercent;
@Excel(name = "党员认证失败数")
private Integer partyAuthFailureCount;
}

53
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/RegisterExcel.java

@ -0,0 +1,53 @@
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author: qushutong
* @Date: 2020/2/12 14:24
* @Description: 注册用户分析
*/
@Data
public class RegisterExcel {
@Excel(name = "街道名称")
private String streetName;
@Excel(name = "用户总数")
private Integer userCount;
@Excel(name = "党员数")
private Integer partyMemberCount;
@Excel(name = "已注册居民")
private Integer residentCount;
@Excel(name = "未注册居民")
private Integer unAuthorizedCount;
@Excel(name = "男")
private Integer maleCount;
@Excel(name = "女")
private Integer femaleCount;
@Excel(name = "其他")
private Integer unknownSexCount;
@Excel(name = "超过50岁用户数量")
private Integer oldCount;
@Excel(name = "老龄化比例")
private BigDecimal oldPercent;
@Excel(name = "50岁以下用户数量")
private Integer youngCount;
@Excel(name = "年轻化比例")
private BigDecimal youngPercent;
}

42
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -0,0 +1,42 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/**
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/5 14:44
*/
@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class)
public interface AdminFeignClient {
/**
* 根据部门ID获取下属所有网格ID
*
* @param pid
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.Long>>
* @author yujintao
* @date 2019/9/5 14:49
*/
@GetMapping("/sys/dept/listGridId/{pid}")
Result<List<Long>> listGridIdByDeptPid(@PathVariable("pid") Long pid);
/**
* 根据部门ID获取上级所有部门信息
*
* @param deptId
* @return com.elink.esua.epdc.commons.tools.utils.Result<ParentAndAllDeptDTO>
* @author gp
* @date 2019-11-29
*/
@GetMapping("/sys/dept/getParentAndAllDept/{deptId}")
Result<ParentAndAllDeptDTO> getParentAndAllDept(@PathVariable("deptId") String deptId);
}

29
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/5 14:44
*/
@Component
public class AdminFeignClientFallback implements AdminFeignClient {
@Override
public Result<List<Long>> listGridIdByDeptPid(Long pid) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid);
}
@Override
public Result<ParentAndAllDeptDTO> getParentAndAllDept(String depId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", depId);
}
}

77
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/AppIssueAnalysisController.java

@ -0,0 +1,77 @@
package com.elink.esua.epdc.modules.issue.controller;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.issue.form.HotIssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStatisticsInfoFormDTO;
import com.elink.esua.epdc.dto.issue.form.NewIssueFormDTO;
import com.elink.esua.epdc.dto.issue.result.HotIssueResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO;
import com.elink.esua.epdc.dto.issue.result.NewIssueResultDTO;
import com.elink.esua.epdc.modules.issue.service.IssueAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Description 议题App
* @Author wgf
* @Date 2020/2/10 16:06
*/
@RestController
@RequestMapping("appissue")
public class AppIssueAnalysisController {
@Autowired
private IssueAnalysisService issueAnalysisService;
/**
* @Description: 议题项目数量类目分析
* @Param: [tokenDto, formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>>
* @Author: zy
* @Date: 2020-02-11
*/
@GetMapping("getStatisticsByCategory")
public Result<List<IssueStatisticsInfoResultDTO>> getStatisticsByCategory(@RequestBody IssueStatisticsInfoFormDTO formDTO) {
//效验数据
ValidatorUtils.validateEntity(formDTO);
formDTO.setDeptIdList(SecurityUser.getUser().getDeptIdList());
List<IssueStatisticsInfoResultDTO> list = issueAnalysisService.listStatisticsByCategoryList(formDTO);
return new Result<List<IssueStatisticsInfoResultDTO>>().ok(list);
}
/**
* @Description: 最新发布议题接口
* @Param: [tokenDto, formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>>
* @Author: wgf
* @Date: 2020-02-11
*/
@GetMapping("getNewIssueList")
public Result<List<NewIssueResultDTO>> getNewIssueList(@RequestBody NewIssueFormDTO formDTO) {
//效验数据
ValidatorUtils.validateEntity(formDTO);
List<NewIssueResultDTO> list = issueAnalysisService.getNewIssueList(formDTO);
return new Result<List<NewIssueResultDTO>>().ok(list);
}
/**
* @Description: 最热议题接口
* @Param: [tokenDto, formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>>
* @Author: wgf
* @Date: 2020-02-12
*/
@GetMapping("getHotIssueList")
public Result<List<HotIssueResultDTO>> getHotIssueList(@RequestBody HotIssueFormDTO formDTO) {
//效验数据
ValidatorUtils.validateEntity(formDTO);
List<HotIssueResultDTO> list = issueAnalysisService.getHotIssueList(formDTO);
return new Result<List<HotIssueResultDTO>>().ok(list);
}
}

67
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueAnalysisController.java

@ -0,0 +1,67 @@
package com.elink.esua.epdc.modules.issue.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.issue.result.IssueClassifiedStatisticDTO;
import com.elink.esua.epdc.dto.issue.result.IssueResultDTO;
import com.elink.esua.epdc.modules.issue.service.IssueAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* @Description 议题相关
* @Author yinzuomei
* @Date 2020/2/10 16:06
*/
@RestController
@RequestMapping("issue")
public class IssueAnalysisController {
@Autowired
private IssueAnalysisService issueAnalysisService;
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueResultDTO
* @Author yinzuomei
* @Description 最热议题列表
* @Date 2020/2/10 16:15
**/
@GetMapping("pageHottestIssue")
public Result<PageData<IssueResultDTO>> pageHottestIssue(@RequestParam Map<String, Object> params) {
PageData<IssueResultDTO> page = issueAnalysisService.listHottestIssue(params);
return new Result<PageData<IssueResultDTO>>().ok(page);
}
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueResultDTO
* @Author yinzuomei
* @Description 最新议题列表
* @Date 2020/2/10 16:15
**/
@GetMapping("pageLatestIssue")
public Result<PageData<IssueResultDTO>> pageLatestIssue(@RequestParam Map<String, Object> params) {
PageData<IssueResultDTO> page = issueAnalysisService.listLatestIssue(params);
return new Result<PageData<IssueResultDTO>>().ok(page);
}
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueClassifiedStatisticDTO
* @Author yinzuomei
* @Description 分类统计
* @Date 2020/2/11 9:40
**/
@GetMapping("pageCategoryAnalysis")
public Result<PageData<IssueClassifiedStatisticDTO>> pageCategoryAnalysis(@RequestParam Map<String, Object> params) {
PageData<IssueClassifiedStatisticDTO> page = issueAnalysisService.listIssueClassifiedStatistic(params);
return new Result<PageData<IssueClassifiedStatisticDTO>>().ok(page);
}
}

123
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueAnalysisDao.java

@ -0,0 +1,123 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.issue.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.issue.form.HotIssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStatisticsInfoFormDTO;
import com.elink.esua.epdc.dto.issue.form.NewIssueFormDTO;
import com.elink.esua.epdc.dto.issue.result.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* @Description 议题相关
* @Author yinzuomei
* @Date 2020/2/10 16:06
*/
@Mapper
public interface IssueAnalysisDao extends BaseDao<IssueResultDTO> {
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.issue.result.IssueResultDTO>
* @Author yinzuomei
* @Description 最热议题列表
* @Date 2020/2/10 16:19
**/
List<IssueResultDTO> selectListHottestIssue(Map<String, Object> params);
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.issue.result.IssueResultDTO>
* @Author yinzuomei
* @Description 最新议题列表
* @Date 2020/2/10 16:19
**/
List<IssueResultDTO> selectListLatestIssue(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueClassifiedStatisticDTO
* @Author yinzuomei
* @Description 一级类目
* @Date 2020/2/11 10:09
**/
List<IssueClassifiedStatisticDTO> selectFirstIssueClassifiedStatistic(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueClassifiedStatisticDTO
* @Author yinzuomei
* @Description 二级类目
* @Date 2020/2/11 10:09
**/
List<IssueClassifiedStatisticDTO> selectSecondIssueClassifiedStatistic(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueClassifiedStatisticDTO
* @Author yinzuomei
* @Description 三级类目
* @Date 2020/2/11 10:09
**/
List<IssueClassifiedStatisticDTO> selectThreeIssueClassifiedStatistic(Map<String, Object> params);
/**
* @Description: 一级类目议题项目数量类目分析
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
List<IssueStatisticsInfoResultDTO> selectListStatisticsByFirstCategory(IssueStatisticsInfoFormDTO formDto);
/**
* @Description: 二级类目议题项目数量类目分析
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
List<IssueStatisticsInfoResultDTO> selectListStatisticsByTwoCategory(IssueStatisticsInfoFormDTO formDto);
/**
* @Description: 三级类目议题项目数量类目分析
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
List<IssueStatisticsInfoResultDTO> selectListStatisticsByThreeCategory(IssueStatisticsInfoFormDTO formDto);
/**
* 最新发布议题接口
* @param formDto
* @return
*/
List<NewIssueResultDTO> selectNewIssueList(NewIssueFormDTO formDto);
/**
* 最热议题接口
* @param formDto
* @return
*/
List<HotIssueResultDTO> selectHotIssueList(HotIssueFormDTO formDto);
}

71
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueAnalysisService.java

@ -0,0 +1,71 @@
package com.elink.esua.epdc.modules.issue.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.issue.form.HotIssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStatisticsInfoFormDTO;
import com.elink.esua.epdc.dto.issue.form.NewIssueFormDTO;
import com.elink.esua.epdc.dto.issue.result.*;
import java.util.List;
import java.util.Map;
/**
* @Description 议题相关
* @Author yinzuomei
* @Date 2020/2/10 16:06
*/
public interface IssueAnalysisService {
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.issue.result.IssueResultDTO>
* @Author yinzuomei
* @Description 最热议题列表
* @Date 2020/2/10 16:16
**/
PageData<IssueResultDTO> listHottestIssue(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.issue.result.IssueResultDTO>
* @Author yinzuomei
* @Description 最新议题列表
* @Date 2020/2/10 16:16
**/
PageData<IssueResultDTO> listLatestIssue(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueClassifiedStatisticDTO
* @Author yinzuomei
* @Description 分类统计
* @Date 2020/2/11 9:41
**/
PageData<IssueClassifiedStatisticDTO> listIssueClassifiedStatistic(Map<String, Object> params);
/**
* @Description: 议题项目数量类目分析
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
List<IssueStatisticsInfoResultDTO> listStatisticsByCategoryList(IssueStatisticsInfoFormDTO formDto);
/**
* @Description: 最新发布议题接口
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>
* @Author: wgf
* @Date: 2020-02-11
*/
List<NewIssueResultDTO> getNewIssueList(NewIssueFormDTO formDto);
/**
* @Description: 最热议题接口
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueStatisticsInfoResultDTO>
* @Author: wgf
* @Date: 2020-02-12
*/
List<HotIssueResultDTO> getHotIssueList(HotIssueFormDTO formDto);
}

135
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueAnalysisServiceImpl.java

@ -0,0 +1,135 @@
package com.elink.esua.epdc.modules.issue.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.issue.form.HotIssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStatisticsInfoFormDTO;
import com.elink.esua.epdc.dto.issue.form.NewIssueFormDTO;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.modules.issue.dao.IssueAnalysisDao;
import com.elink.esua.epdc.modules.issue.service.IssueAnalysisService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @Description 议题相关
* @Author yinzuomei
* @Date 2020/2/10 16:06
*/
@Service
public class IssueAnalysisServiceImpl extends BaseServiceImpl<IssueAnalysisDao, IssueResultDTO> implements IssueAnalysisService {
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.issue.result.IssueResultDTO>
* @Author yinzuomei
* @Description 最热议题列表
* @Date 2020/2/10 16:17
**/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public PageData<IssueResultDTO> listHottestIssue(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<IssueResultDTO> page = getPage(params);
List<IssueResultDTO> list = baseDao.selectListHottestIssue(params);
return new PageData<>(list, page.getTotal());
}
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.issue.result.IssueResultDTO>
* @Author yinzuomei
* @Description 最新议题列表
* @Date 2020/2/10 16:17
**/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public PageData<IssueResultDTO> listLatestIssue(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<IssueResultDTO> page = getPage(params);
List<IssueResultDTO> list = baseDao.selectListLatestIssue(params);
return new PageData<>(list, page.getTotal());
}
/**
* @param params
* @return com.elink.esua.epdc.dto.issue.result.IssueClassifiedStatisticDTO
* @Author yinzuomei
* @Description 分类统计
* @Date 2020/2/11 9:41
**/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public PageData<IssueClassifiedStatisticDTO> listIssueClassifiedStatistic(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
if (StringUtils.isBlank((String) params.get("categoryLevel"))) {
params.put("categoryLevel", "1");
}
String categoryLevel = (String) params.get("categoryLevel");
IPage<IssueClassifiedStatisticDTO> page = getPage(params);
List<IssueClassifiedStatisticDTO> list = new ArrayList<>();
if (NumConstant.ONE_STR.equals(categoryLevel)) {
list = baseDao.selectFirstIssueClassifiedStatistic(params);
} else if (NumConstant.TWO_STR.equals(categoryLevel)) {
list = baseDao.selectSecondIssueClassifiedStatistic(params);
} else if (NumConstant.THREE_STR.equals(categoryLevel)) {
list = baseDao.selectThreeIssueClassifiedStatistic(params);
}
return new PageData<>(list, page.getTotal());
}
@Override
public List<IssueStatisticsInfoResultDTO> listStatisticsByCategoryList(IssueStatisticsInfoFormDTO formDto) {
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
List<IssueStatisticsInfoResultDTO> list = new ArrayList<>();
if (NumConstant.ONE_STR.equals(formDto.getCotegoryType())){
list = baseDao.selectListStatisticsByFirstCategory(formDto);
} else if (NumConstant.TWO_STR.equals(formDto.getCotegoryType())) {
list = baseDao.selectListStatisticsByTwoCategory(formDto);
} else if (NumConstant.THREE_STR.equals(formDto.getCotegoryType())) {
list = baseDao.selectListStatisticsByThreeCategory(formDto);
}
return list;
}
@Override
public List<NewIssueResultDTO> getNewIssueList(NewIssueFormDTO formDto) {
formDto.setDeptIdList(SecurityUser.getUser().getDeptIdList());
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
List<NewIssueResultDTO> list = baseDao.selectNewIssueList(formDto);
return list;
}
@Override
public List<HotIssueResultDTO> getHotIssueList(HotIssueFormDTO formDto) {
formDto.setDeptIdList(SecurityUser.getUser().getDeptIdList());
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
List<HotIssueResultDTO> list = baseDao.selectHotIssueList(formDto);
return list;
}
}

81
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/AppItemAnalysisController.java

@ -0,0 +1,81 @@
package com.elink.esua.epdc.modules.item.controller;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.item.form.HotItemListFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemAnalysisFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO;
import com.elink.esua.epdc.dto.item.result.HotItemListResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemAnalysisResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemSurveyResultDTO;
import com.elink.esua.epdc.modules.item.service.ItemAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 手机端领导数据-项目
*
* @author zy
* @since 2020-2-11
*/
@RestController
@RequestMapping("appitem")
public class AppItemAnalysisController {
@Autowired
private ItemAnalysisService itemAnalysisService;
/**
* @Description: 疑难项目分析
* @Param: [formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemAnalysisResultDTO>>
* @Author: zy
* @Date: 2020-02-11
*/
@GetMapping("getItemAnalysis")
public Result<List<ItemAnalysisResultDTO>> getItemAnalysis(@RequestBody ItemAnalysisFormDTO formDto) {
//效验数据
ValidatorUtils.validateEntity(formDto);
formDto.setDeptIdList(SecurityUser.getUser().getDeptIdList());
List<ItemAnalysisResultDTO> data = itemAnalysisService.getItemAnalysis(formDto);
return new Result<List<ItemAnalysisResultDTO>>().ok(data);
}
/**
* @Description: 重点项目概况
* @Param: [formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemSurveyResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
@GetMapping("getItemSurvey")
public Result<ItemSurveyResultDTO> getItemSurvey(@RequestBody ItemSurveyFormDTO formDTO) {
//效验数据
ValidatorUtils.validateEntity(formDTO);
formDTO.setDeptIdList(SecurityUser.getUser().getDeptIdList());
ItemSurveyResultDTO data = itemAnalysisService.getItemSurvey(formDTO);
return new Result<ItemSurveyResultDTO>().ok(data);
}
/**
* @Description: 最热项目接口 :最热讨论分析
* @Param: [formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.HotItemListResultDTO>>
* @Author: zy
* @Date: 2020-02-12
*/
@GetMapping("getHotItemList")
public Result<List<HotItemListResultDTO>> getHotItemList(@RequestBody HotItemListFormDTO formDto) {
//效验数据
ValidatorUtils.validateEntity(formDto);
formDto.setDeptIdList(SecurityUser.getUser().getDeptIdList());
List<HotItemListResultDTO> data = itemAnalysisService.listHotItemList(formDto);
return new Result<List<HotItemListResultDTO>>().ok(data);
}
}

112
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java

@ -0,0 +1,112 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.item.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO;
import com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemSurveyResultDTO;
import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO;
import com.elink.esua.epdc.modules.item.service.ItemAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 项目表 项目表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@RestController
@RequestMapping("item")
public class ItemAnalysisController {
@Autowired
private ItemAnalysisService itemAnalysisService;
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.ItemResultDTO
* @Author yinzuomei
* @Description 最热项目列表查询
* @Date 2020/2/10 13:45
**/
@GetMapping("pageHottestItem")
public Result<PageData<ItemResultDTO>> pageHottestItem(@RequestParam Map<String, Object> params) {
PageData<ItemResultDTO> page = itemAnalysisService.listItemResultDTO(params);
return new Result<PageData<ItemResultDTO>>().ok(page);
}
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO
* @Author yinzuomei
* @Description 未解决项目列表查询
* @Date 2020/2/10 19:08
**/
@GetMapping("pageUnsolvedItem")
public Result<PageData<UnsolvedItemResultDTO>> pageUnsolvedItem(@RequestParam Map<String, Object> params) {
PageData<UnsolvedItemResultDTO> page = itemAnalysisService.listUnsolvedItemResultDTO(params);
return new Result<PageData<UnsolvedItemResultDTO>>().ok(page);
}
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO
* @Author yinzuomei
* @Description 疑难项目分析
* @Date 2020/2/11 13:12
**/
@GetMapping("pageDifficultItem")
public Result<PageData<DifficultItemResultDTO>> pageDifficultItem(@RequestParam Map<String, Object> params) {
PageData<DifficultItemResultDTO> page = itemAnalysisService.listDifficultItemResultDTO(params);
return new Result<PageData<DifficultItemResultDTO>>().ok(page);
}
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.ReportUnsolvedItemResultDTO
* @Author yinzuomei
* @Description 区域调度-解决中项目列表
* @Date 2020/2/11 15:11
**/
@GetMapping("pageReportUnsolvedItem")
public Result<PageData<ReportUnsolvedItemResultDTO>> pageReportUnsolvedItem(@RequestParam Map<String, Object> params) {
PageData<ReportUnsolvedItemResultDTO> page = itemAnalysisService.listReportUnsolvedItemDTO(params);
return new Result<PageData<ReportUnsolvedItemResultDTO>>().ok(page);
}
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.ReportSolvedItemResultDTO
* @Author yinzuomei
* @Description 区域调度-已解决项目列表
* @Date 2020/2/11 15:11
**/
@GetMapping("pageReportSolvedItem")
public Result<PageData<ReportSolvedItemResultDTO>> pageReportSolvedItem(@RequestParam Map<String, Object> params) {
PageData<ReportSolvedItemResultDTO> page = itemAnalysisService.listReportSolvedItemResultDTO(params);
return new Result<PageData<ReportSolvedItemResultDTO>>().ok(page);
}
}

108
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java

@ -0,0 +1,108 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.item.form.HotItemListFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemAnalysisFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO;
import com.elink.esua.epdc.dto.item.result.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* @Description 项目模块
* @Author yinzuomei
* @Date 2020/2/10 13:43
*/
@Mapper
public interface ItemAnalysisDao extends BaseDao<ItemResultDTO> {
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>
* @Author yinzuomei
* @Description 最热项目列表查询
* @Date 2020/2/10 13:53
**/
List<ItemResultDTO> selectListHottestItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO>
* @Author yinzuomei
* @Description 未解决项目列表查询
* @Date 2020/2/10 19:16
**/
List<UnsolvedItemResultDTO> selectListUnsolvedItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO>
* @Author yinzuomei
* @Description 疑难项目分析列表查询
* @Date 2020/2/11 13:14
**/
List<DifficultItemResultDTO> selectListDifficultItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.item.result.ReportUnsolvedItemResultDTO>
* @Author yinzuomei
* @Description 区域调度-解决中项目列表
* @Date 2020/2/11 15:14
**/
List<ReportUnsolvedItemResultDTO> selectListReportUnsolvedItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.item.result.ReportSolvedItemResultDTO>
* @Author yinzuomei
* @Description 区域调度-已解决项目列表
* @Date 2020/2/11 15:15
**/
List<ReportSolvedItemResultDTO> selectListReportSolvedItemResultDTO(Map<String, Object> params);
/**
* @Description: 重点项目概况
* @Param: [formDTO]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemSurveyResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
ItemSurveyResultDTO selectOneItemSurvey(ItemSurveyFormDTO formDTO);
/**
* @Description: 疑难项目分析
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.item.result.ItemAnalysisResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
List<ItemAnalysisResultDTO> selectOneItemAnalysis(ItemAnalysisFormDTO formDto);
/**
* @Description: 最热项目接口 :最热讨论分析
* @Param: [formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.HotItemListResultDTO>>
* @Author: zy
* @Date: 2020-02-12
*/
List<HotItemListResultDTO> selectListHotItemList(HotItemListFormDTO formDto);
}

92
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java

@ -0,0 +1,92 @@
package com.elink.esua.epdc.modules.item.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.item.form.HotItemListFormDTO;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.dto.item.form.ItemAnalysisFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO;
import com.elink.esua.epdc.dto.item.result.*;
import java.util.List;
import java.util.Map;
/**
* 项目模块
*
* @Author yinzuomei
* @Date 2020/2/10 13:43
*/
public interface ItemAnalysisService {
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.ItemResultDTO
* @Author yinzuomei
* @Description 最热项目列表查询
* @Date 2020/2/10 13:46
**/
PageData<ItemResultDTO> listItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO
* @Author yinzuomei
* @Description 未解决项目列表查询
* @Date 2020/2/10 19:11
**/
PageData<UnsolvedItemResultDTO> listUnsolvedItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO
* @Author yinzuomei
* @Description 疑难项目分析
* @Date 2020/2/11 13:13
**/
PageData<DifficultItemResultDTO> listDifficultItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.result.ReportUnsolvedItemResultDTO>
* @Author yinzuomei
* @Description 区域调度-解决中项目列表
* @Date 2020/2/11 15:13
**/
PageData<ReportUnsolvedItemResultDTO> listReportUnsolvedItemDTO(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.result.ReportSolvedItemResultDTO>
* @Author yinzuomei
* @Description 区域调度-已解决项目列表
* @Date 2020/2/11 15:13
**/
PageData<ReportSolvedItemResultDTO> listReportSolvedItemResultDTO(Map<String, Object> params);
/**
* @Description: 重点项目概况
* @Param: [formDTO]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemSurveyResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
ItemSurveyResultDTO getItemSurvey(ItemSurveyFormDTO formDTO);
/**
* @Description: 疑难项目分析
* @Param: [formDto]
* @return: java.util.List<com.elink.esua.epdc.dto.item.result.ItemAnalysisResultDTO>
* @Author: zy
* @Date: 2020-02-11
*/
List<ItemAnalysisResultDTO> getItemAnalysis(ItemAnalysisFormDTO formDto);
/**
* @Description: 最热项目接口 :最热讨论分析
* @Param: [formDto]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.HotItemListResultDTO>>
* @Author: zy
* @Date: 2020-02-12
*/
List<HotItemListResultDTO> listHotItemList(HotItemListFormDTO formDto);
}

152
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java

@ -0,0 +1,152 @@
package com.elink.esua.epdc.modules.item.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.item.form.HotItemListFormDTO;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.dto.item.form.ItemAnalysisFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.modules.item.dao.ItemAnalysisDao;
import com.elink.esua.epdc.modules.item.service.ItemAnalysisService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @Description 项目模块
* @Author yinzuomei
* @Date 2020/2/10 13:43
*/
@Service
public class ItemAnalysisServiceImpl extends BaseServiceImpl<ItemAnalysisDao, ItemResultDTO> implements ItemAnalysisService {
private Logger logger = LoggerFactory.getLogger(getClass());
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.ItemResultDTO
* @Author yinzuomei
* @Description 最热项目列表查询
* @Date 2020/2/10 13:47
**/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public PageData<ItemResultDTO> listItemResultDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<ItemResultDTO> page = getPage(params);
List<ItemResultDTO> list = baseDao.selectListHottestItemResultDTO(params);
return new PageData<>(list, page.getTotal());
}
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO
* @Author yinzuomei
* @Description 未解决项目列表查询
* @Date 2020/2/10 19:13
**/
@Override
@DataSource(name = DataSourceNames.FOURTH)
public PageData<UnsolvedItemResultDTO> listUnsolvedItemResultDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<UnsolvedItemResultDTO> page = getPage(params);
List<UnsolvedItemResultDTO> list = baseDao.selectListUnsolvedItemResultDTO(params);
return new PageData<>(list, page.getTotal());
}
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO
* @Author yinzuomei
* @Description 疑难项目分析
* @Date 2020/2/11 13:13
**/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public PageData<DifficultItemResultDTO> listDifficultItemResultDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<DifficultItemResultDTO> page = getPage(params);
List<DifficultItemResultDTO> list = baseDao.selectListDifficultItemResultDTO(params);
return new PageData<>(list, page.getTotal());
}
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.result.ReportUnsolvedItemResultDTO>
* @Author yinzuomei
* @Description 区域调度-解决中项目列表
* @Date 2020/2/11 15:13
**/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public PageData<ReportUnsolvedItemResultDTO> listReportUnsolvedItemDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<ReportUnsolvedItemResultDTO> page = getPage(params);
List<ReportUnsolvedItemResultDTO> list = baseDao.selectListReportUnsolvedItemResultDTO(params);
return new PageData<>(list, page.getTotal());
}
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.result.ReportSolvedItemResultDTO>
* @Author yinzuomei
* @Description 区域调度-已解决项目列表
* @Date 2020/2/11 15:13
**/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public PageData<ReportSolvedItemResultDTO> listReportSolvedItemResultDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<ReportSolvedItemResultDTO> page = getPage(params);
List<ReportSolvedItemResultDTO> list = baseDao.selectListReportSolvedItemResultDTO(params);
return new PageData<>(list, page.getTotal());
}
@Override
public ItemSurveyResultDTO getItemSurvey(ItemSurveyFormDTO formDTO) {
return baseDao.selectOneItemSurvey(formDTO);
}
@Override
public List<ItemAnalysisResultDTO> getItemAnalysis(ItemAnalysisFormDTO formDto) {
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
return baseDao.selectOneItemAnalysis(formDto);
}
@Override
public List<HotItemListResultDTO> listHotItemList(HotItemListFormDTO formDto) {
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
return baseDao.selectListHotItemList(formDto);
}
}

75
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java

@ -0,0 +1,75 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.topic.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.modules.topic.service.TopicAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 话题相关接口APP
*
* @author wanggongfeng
* @since v1.0.0 2020-02-11
*/
@RestController
@RequestMapping("apptopic")
public class AppTopicAnalysisController {
@Autowired
private TopicAnalysisService topicAnalysisService;
/**
* @param hotTopicFormDTO
* @return com.elink.esua.epdc.dto.result.TopicResultDTO
* @Author wanggongfeng
* @Description 最热话题接口
* @Date 2020/2/11 11:12
**/
@GetMapping("getHotTopicList")
public Result getHotTopicList(@RequestBody HotTopicFormDTO hotTopicFormDTO) {
//效验数据
ValidatorUtils.validateEntity(hotTopicFormDTO);
Result result = topicAnalysisService.getHotTopicList(hotTopicFormDTO);
return result;
}
/**
* @param newHotTopicFormDTO
* @return com.elink.esua.epdc.dto.result.TopicResultDTO
* @Author wanggongfeng
* @Description 最新发布话题接口
* @Date 2020/2/11 11:12
**/
@GetMapping("getNewTopicList")
public Result getNewTopicList(@RequestBody NewHotTopicFormDTO newHotTopicFormDTO) {
//效验数据
ValidatorUtils.validateEntity(newHotTopicFormDTO);
Result result = topicAnalysisService.getNewTopicList(newHotTopicFormDTO);
return result;
}
}

71
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/TopicAnalysisController.java

@ -0,0 +1,71 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.topic.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.topic.result.TopicResultDTO;
import com.elink.esua.epdc.modules.topic.service.TopicAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 话题相关接口
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-10-10
*/
@RestController
@RequestMapping("topic")
public class TopicAnalysisController {
@Autowired
private TopicAnalysisService topicAnalysisService;
/**
* @param params
* @return com.elink.esua.epdc.dto.result.TopicResultDTO
* @Author yinzuomei
* @Description 最热话题列表查询
* @Date 2020/2/10 11:34
**/
@GetMapping("pageHottestTopic")
public Result<PageData<TopicResultDTO>> pageHottestTopic(@RequestParam Map<String, Object> params) {
PageData<TopicResultDTO> page = topicAnalysisService.listHottestTopic(params);
return new Result<PageData<TopicResultDTO>>().ok(page);
}
/**
* @param params
* @return com.elink.esua.epdc.dto.result.TopicResultDTO
* @Author yinzuomei
* @Description 最新话题列表查询
* @Date 2020/2/10 12:50
**/
@GetMapping("pageLatestTopic")
public Result<PageData<TopicResultDTO>> pageLatestTopic(@RequestParam Map<String, Object> params) {
PageData<TopicResultDTO> page = topicAnalysisService.listLatestTopic(params);
return new Result<PageData<TopicResultDTO>>().ok(page);
}
}

71
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java

@ -0,0 +1,71 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.topic.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO;
import com.elink.esua.epdc.dto.topic.result.NewHotTopicResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 话题表 话题表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-10-10
*/
@Mapper
public interface TopicAnalysisDao extends BaseMapper<TopicResultDTO> {
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.result.TopicResultDTO>
* @Author yinzuomei
* @Description 最热话题列表查询
* @Date 2020/2/10 11:52
**/
List<TopicResultDTO> selectListHottestTopicDTO(Map<String, Object> params);
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.result.TopicResultDTO>
* @Author yinzuomei
* @Description 最新话题列表查询
* @Date 2020/2/10 12:51
**/
List<TopicResultDTO> selectListLatesttTopicDTO(Map<String, Object> params);
/**
* 最热话题接口
* @param hotTopicFormDTO
* @return
*/
List<HotTopicResultDTO> selectHotTopicList(HotTopicFormDTO hotTopicFormDTO);
/**
* 最新发布话题接口
* @param newHotTopicFormDTO
* @return
*/
List<NewHotTopicResultDTO> selectNewHotTopicList(NewHotTopicFormDTO newHotTopicFormDTO);
}

66
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java

@ -0,0 +1,66 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.topic.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicResultDTO;
import java.util.Map;
/**
* 话题相关Service
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-10-10
*/
public interface TopicAnalysisService {
/**
* @param params
* @return com.elink.esua.epdc.dto.result.TopicResultDTO
* @Author yinzuomei
* @Description 最热话题列表查询
* @Date 2020/2/10 11:34
**/
PageData<TopicResultDTO> listHottestTopic(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.result.TopicResultDTO>
* @Author yinzuomei
* @Description 最新话题列表查询
* @Date 2020/2/10 12:50
**/
PageData<TopicResultDTO> listLatestTopic(Map<String, Object> params);
/**
* 最热话题接口
* @param hotTopicFormDTO
* @return
*/
Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO);
/**
* 最新发布话题接口
* @param newHotTopicFormDTO
* @return
*/
Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO);
}

103
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java

@ -0,0 +1,103 @@
package com.elink.esua.epdc.modules.topic.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO;
import com.elink.esua.epdc.dto.topic.result.NewHotTopicResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicResultDTO;
import com.elink.esua.epdc.modules.topic.dao.TopicAnalysisDao;
import com.elink.esua.epdc.modules.topic.service.TopicAnalysisService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @Description 话题相关Service
* @Author yinzuomei
* @Date 2020/2/10 10:56
*/
@Service
public class TopicAnalysisServiceImpl extends BaseServiceImpl<TopicAnalysisDao, TopicResultDTO> implements TopicAnalysisService {
/**
* @param params
* @return com.elink.esua.epdc.dto.result.HottestTopicResultDTO
* @Author yinzuomei
* @Description 最热话题列表查询
* @Date 2020/2/10 12:53
**/
@DataSource(name = DataSourceNames.FIFTH)
@Override
public PageData<TopicResultDTO> listHottestTopic(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<TopicResultDTO> page = getPage(params);
List<TopicResultDTO> list = baseDao.selectListHottestTopicDTO(params);
return new PageData<>(list, page.getTotal());
}
/**
* @param params
* @return com.elink.esua.epdc.dto.result.LatestTopicResultDTO
* @Author yinzuomei
* @Description 最新话题列表查询
* @Date 2020/2/10 12:53
**/
@DataSource(name = DataSourceNames.FIFTH)
@Override
public PageData<TopicResultDTO> listLatestTopic(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
IPage<TopicResultDTO> page = getPage(params);
List<TopicResultDTO> list = baseDao.selectListLatesttTopicDTO(params);
return new PageData<>(list, page.getTotal());
}
/**
* 最热话题接口
* @param hotTopicFormDTO
* @Author wanggongfeng
* @return
*/
@Override
public Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO){
int pageIndex = (hotTopicFormDTO.getPageIndex() - NumConstant.ONE) * hotTopicFormDTO.getPageSize();
hotTopicFormDTO.setPageIndex(pageIndex);
hotTopicFormDTO.setDeptIdList(SecurityUser.getUser().getDeptIdList());
List<HotTopicResultDTO> list = baseDao.selectHotTopicList(hotTopicFormDTO);
return new Result().ok(list);
}
/**
* 最新发布话题接口
* @param newHotTopicFormDTO
* @Author wanggongfeng
* @return
*/
@Override
public Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO){
int pageIndex = (newHotTopicFormDTO.getPageIndex() - NumConstant.ONE) * newHotTopicFormDTO.getPageSize();
newHotTopicFormDTO.setPageIndex(pageIndex);
newHotTopicFormDTO.setDeptIdList(SecurityUser.getUser().getDeptIdList());
List<NewHotTopicResultDTO> list = baseDao.selectNewHotTopicList(newHotTopicFormDTO);
return new Result().ok(list);
}
}

104
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java

@ -0,0 +1,104 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.user.MetaUserGridOpiningDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.modules.user.excel.MetaUserGridOpiningExcel;
import com.elink.esua.epdc.modules.user.service.MetaUserGridOpiningService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 网格开通情况
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@RestController
@RequestMapping("metausergridopining")
public class MetaUserGridOpiningController {
@Autowired
private MetaUserGridOpiningService metaUserGridOpiningService;
@GetMapping("page")
public Result<PageData<MetaUserGridOpiningDTO>> page(@RequestParam Map<String, Object> params){
PageData<MetaUserGridOpiningDTO> page = metaUserGridOpiningService.page(params);
return new Result<PageData<MetaUserGridOpiningDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<MetaUserGridOpiningDTO> get(@PathVariable("id") String id){
MetaUserGridOpiningDTO data = metaUserGridOpiningService.get(id);
return new Result<MetaUserGridOpiningDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody MetaUserGridOpiningDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
metaUserGridOpiningService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody MetaUserGridOpiningDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
metaUserGridOpiningService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
metaUserGridOpiningService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<MetaUserGridOpiningDTO> list = metaUserGridOpiningService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, MetaUserGridOpiningExcel.class);
}
/**
* @author: qushutong
* @Date: 2020/3/25 10:35
* @Description: 临时表导入
*/
@GetMapping("tolead")
public Result<List<GridOpeningResultDTO>> tolead() {
return metaUserGridOpiningService.createUserAnalysisData();
}
}

107
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserPartyRankController.java

@ -0,0 +1,107 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.user.MetaUserPartyRankDTO;
import com.elink.esua.epdc.modules.user.excel.MetaUserPartyRankExcel;
import com.elink.esua.epdc.modules.user.service.MetaUserPartyRankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 党员排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@RestController
@RequestMapping("metauserpartyrank")
public class MetaUserPartyRankController {
@Autowired
private MetaUserPartyRankService metaUserPartyRankService;
@GetMapping("page")
public Result<PageData<MetaUserPartyRankDTO>> page(@RequestParam Map<String, Object> params){
PageData<MetaUserPartyRankDTO> page = metaUserPartyRankService.page(params);
return new Result<PageData<MetaUserPartyRankDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<MetaUserPartyRankDTO> get(@PathVariable("id") String id){
MetaUserPartyRankDTO data = metaUserPartyRankService.get(id);
return new Result<MetaUserPartyRankDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody MetaUserPartyRankDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
metaUserPartyRankService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody MetaUserPartyRankDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
metaUserPartyRankService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
metaUserPartyRankService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<MetaUserPartyRankDTO> list = metaUserPartyRankService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, MetaUserPartyRankExcel.class);
}
/***
* 定时任务导入
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2020/3/26 18:22
*/
@GetMapping("toLeadPartyRankData")
public Result toLeadPartyRankData(){
return metaUserPartyRankService.toLeadPartyRankData();
}
}

104
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserRegisterRankController.java

@ -0,0 +1,104 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.user.MetaUserRegisterRankDTO;
import com.elink.esua.epdc.modules.user.excel.MetaUserRegisterRankExcel;
import com.elink.esua.epdc.modules.user.service.MetaUserRegisterRankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 用户注册排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@RestController
@RequestMapping("metauserregisterrank")
public class MetaUserRegisterRankController {
@Autowired
private MetaUserRegisterRankService metaUserRegisterRankService;
@GetMapping("page")
public Result<PageData<MetaUserRegisterRankDTO>> page(@RequestParam Map<String, Object> params){
PageData<MetaUserRegisterRankDTO> page = metaUserRegisterRankService.page(params);
return new Result<PageData<MetaUserRegisterRankDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<MetaUserRegisterRankDTO> get(@PathVariable("id") String id){
MetaUserRegisterRankDTO data = metaUserRegisterRankService.get(id);
return new Result<MetaUserRegisterRankDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody MetaUserRegisterRankDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
metaUserRegisterRankService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody MetaUserRegisterRankDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
metaUserRegisterRankService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
metaUserRegisterRankService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<MetaUserRegisterRankDTO> list = metaUserRegisterRankService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, MetaUserRegisterRankExcel.class);
}
/***
* 定时任务用户注册排行导入数据
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2020/3/26 13:44
*/
@GetMapping("toLeadUserRegisterRandData")
public Result toLeadUserRegisterRandData(){
return metaUserRegisterRankService.toLeadUserRegisterRandData();
}
}

114
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java

@ -0,0 +1,114 @@
package com.elink.esua.epdc.modules.user.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.excel.ExportOperationDataExcel;
import com.elink.esua.epdc.excel.GridOpiningExcel;
import com.elink.esua.epdc.modules.user.service.OldMemberRankService;
import com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.elink.esua.epdc.excel.PartyAnalysExcel;
import com.elink.esua.epdc.excel.RegisterExcel;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
/**
* 数据端用户数据分析相关接口
*
* @author work@yujt.net.cn
* @date 2020/2/10 14:52
*/
@RestController
@RequestMapping("user")
public class UserAnalysisController {
@Autowired
private UserAnalysisService userAnalysisService;
/**
* @Description: 开通网格分页
* @Param: [params]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<GridOpeningResultDTO>>
* @Author: wk
* @Date: 2020/7/14
*/
@GetMapping("pageGridOpening")
public Result<PageData<GridOpeningResultDTO>> page(@RequestParam Map<String, Object> params) {
PageData<GridOpeningResultDTO> page = userAnalysisService.listPageGridOpening(params);
return new Result<PageData<GridOpeningResultDTO>>().ok(page);
}
/**
* 网格开通数据总计pc端网格开通情况数据总计
*
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO>
* @author work@yujt.net.cn
* @date 2020/2/13 14:22
*/
@GetMapping("pageGridDataToal")
public Result<GridDataTotalResultDTO> selectGridDataTotal(@RequestParam Map<String, Object> params) {
GridDataTotalResultDTO result = userAnalysisService.selectGridDataTotal(params);
return new Result().ok(result);
}
/***
* 开通网格
* @param params
* @param response
* @return void
* @author qushutong
* @date 2020/2/12 14:38
*/
@GetMapping("export/grid0pining")
public void exportGridOpining(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<GridOpeningResultDTO> list = userAnalysisService.listPageGridOpeningsForExport(params);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, GridOpiningExcel.class);
}
/***
* 运营数据导出
* @param
* @param response
* @return void
* @author qushutong
* @date 2020/3/23 16:36
*/
@PostMapping("export/exportOperationData")
public void exportOperationData(@RequestBody ExportOperationFormDTO exportOperationFormDTO, HttpServletResponse response) throws Exception {
List<ExportOperationDataResultDTO> list = userAnalysisService.listExportOperationCount(exportOperationFormDTO);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, ExportOperationDataExcel.class);
}
/**
* PC端用户数据分析用户注册排行党员排行
*
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO>>
* @author work@yujt.net.cn
* @date 2020/2/11 15:17
*/
@GetMapping("page/dataRank")
public Result<PageData<UserDataRankResultDTO>> pageUserDataRank(@RequestParam Map<String, Object> params) {
PageData<UserDataRankResultDTO> pageData = userAnalysisService.pageUserDataRank(params);
return new Result().ok(pageData);
}
}

45
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java

@ -0,0 +1,45 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 网格开通情况
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Mapper
public interface MetaUserGridOpiningDao extends BaseDao<MetaUserGridOpiningEntity> {
/***
* 列表
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity>
* @author qushutong
* @date 2020/3/25 17:30
*/
List<MetaUserGridOpiningEntity> pageselectListPage(Map<String,Object> params);
}

46
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserPartyRankDao.java

@ -0,0 +1,46 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.user.entity.MetaUserPartyRankEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 党员排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Mapper
public interface MetaUserPartyRankDao extends BaseDao<MetaUserPartyRankEntity> {
/***
* 分页
* @param params
* @return java.util.List<com.elink.esua.epdc.modules.user.entity.MetaUserPartyRankEntity>
* @author qushutong
* @date 2020/3/26 18:36
*/
List<MetaUserPartyRankEntity> selectPagePartyRank(Map<String,Object> params);
}

55
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserRegisterRankDao.java

@ -0,0 +1,55 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.user.entity.MetaUserRegisterRankEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 用户注册排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Mapper
public interface MetaUserRegisterRankDao extends BaseDao<MetaUserRegisterRankEntity> {
/***
* 分页
* @param params
* @return java.util.List<com.elink.esua.epdc.modules.user.entity.MetaUserRegisterRankEntity>
* @author qushutong
* @date 2020/3/26 15:41
*/
List<MetaUserRegisterRankEntity> selectPageUserRegisterRank(Map<String,Object> params);
/***
* 获取当前用户拥有权限的街道id
* @param params
* @return java.util.List<java.lang.String>
* @author qushutong
* @date 2020/3/26 16:54
*/
List<String> selectListStreetId(Map<String,Object> params);
}

28
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/OldMemberRankDao.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author songyunpeng
* @Description
* @create 2020-02-11
*/
@Mapper
public interface OldMemberRankDao extends BaseMapper<OldMemberRankResultDTO> {
/**
* 移动端党员老龄化排名列表
* @Params: [formDTO]
* @Return: java.util.List<com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO>
* @Author: liuchuang
* @Date: 2019/9/9 15:13
*/
List<OldMemberRankResultDTO> selectListOfOldMemberRank(MemberRankFormDTO formDto,List<Long> deptIdList);
}

154
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java

@ -0,0 +1,154 @@
package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elink.esua.epdc.dto.user.UserAnalysisDTO;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 用户数据分析相关
*
* @author work@yujt.net.cn
* @date 2020/2/11 09:38
*/
@Mapper
public interface UserAnalysisDao extends BaseMapper<UserAnalysisDTO> {
/**
* @Description: 开通网格列表查询字段网格的完整机构名称网格id网格长名称
* @Param: [params]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<GridOpeningResultDTO> selectListGridHasMaCode(Map<String, Object> params);
/**
* @Description: 根据网格id查询网格内注册用户数认证党员数认证居民数
* @Param: [params]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<GridOpeningResultDTO> selectListReigistData(Map<String, Object> params);
/**
* @Description: 根据网格id查询网格内新闻数 通知数 议题数
* @Param: [params]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<GridOpeningResultDTO> selectListNewsNoticeEventCount(Map<String, Object> params);
/**
* @Description: 项目数项目结案数
* @Param: [params]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<GridOpeningResultDTO> selectListItemCount(Map<String, Object> params);
/**
* @Description: 社群数 社群成员数 社群话题数
* @Param: [params]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<GridOpeningResultDTO> selectListCommunityCount(Map<String, Object> params);
/**
* @Description: 查询已开通网格数和未开通网格数
* @Param: [params]
* @return: com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO
* @Author: wk
* @Date: 2020/7/14
*/
GridDataTotalResultDTO selectCountGridWorkOrNot(Map<String, Object> params);
/**
* @Description: 运营数据导出用户相关
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportUserCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* @Description: 运营数据导出新闻
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportNewsCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* @Description: 运营数据导出议题
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportEventCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* @Description: 运营数据导出项目相关
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportItemCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* @Description: 运营数据导出社群数
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportGroupCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* @Description: 运营数据导出社群成员数
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportCommunityMemberCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* @Description: 运营数据导出社群话题数
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportTopicCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* @Description: 运营数据导出企业数
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> selectExportEnterpriseCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* 查询党员数据排行
*
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO>
* @author wanggongfeng
* @date 2020/5/20 14:48
*/
List<UserDataRankResultDTO> selectListUserDataRankByParty(Map<String, Object> params);
/**
* 查询居民数据排行
*
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO>
* @author wanggongfeng
* @date 2020/5/20 14:48
*/
List<UserDataRankResultDTO> selectListUserDataRankByUser(Map<String, Object> params);
}

29
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/YoungMemberRankDao.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author songyunpeng
* @Description
* @create 2020-02-11
*/
@Mapper
public interface YoungMemberRankDao extends BaseMapper<YoungMemberRankResultDTO> {
/**
* 移动端党员年轻化化排名列表
* @Params: [formDTO]
* @Return: java.util.List<com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO>
* @Author: liuchuang
* @Date: 2019/9/9 15:13
*/
List<YoungMemberRankResultDTO> selectListOfYoungMemberRank(MemberRankFormDTO formDto, List<Long> deptIdList);
}

116
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java

@ -0,0 +1,116 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格开通情况
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("meta_epdc_user_grid_opining")
public class MetaUserGridOpiningEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 网格id
*/
private String gridId;
/**
* 用户总数
*/
private int registerCount;
/**
* 党员数
*/
private int partyCount;
/**
* 已注册居民
*/
private int residentCount;
/**
* 未注册居民
*/
private int unAuthorizedCount;
/**
* 新闻发布数
*/
private int newsCount;
/**
* 社群数
*/
private int communityCount;
/**
* 群成员数
*/
private int communityMemberCount;
/**
* 群话题数
*/
private int communityTopicCount;
/**
* 议题总数
*/
private int eventCount;
/**
* 项目数
*/
private int itemCount;
/**
* 项目已解决数
*/
private int itemCloseCount;
/**
* 好评数
*/
private int itemPraiseCount;
/**
* 网格名称
*/
private String allDeptName;
/**
* 网格党建指导员姓名
*/
private String gridLeader;
}

97
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserPartyRankEntity.java

@ -0,0 +1,97 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 党员排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("meta_epdc_user_party_rank")
public class MetaUserPartyRankEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 街道id
*/
private String streetId;
/**
* 街道名称
*/
private String streetName;
/**
* 已注册党员数量已认证
*/
private Integer partyMemberCount;
/**
* 年龄超过50岁党员数量
*/
private Integer oldCount;
/**
* 老龄化比例
*/
private BigDecimal oldPercent;
/**
* 年龄50岁以下的党员数量
*/
private Integer youngCount;
/**
* 年轻化比例
*/
private BigDecimal youngPercent;
/**
*
*/
private Integer maleCount;
/**
*
*/
private Integer femaleCount;
/**
* 未知性别
*/
private Integer unknownSexCount;
/**
* 党员认证失败数
*/
private Integer partyAuthFailureCount;
}

107
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserRegisterRankEntity.java

@ -0,0 +1,107 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 用户注册排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("meta_epdc_user_register_rank")
public class MetaUserRegisterRankEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 街道id
*/
private String streetId;
/**
* 街道名称
*/
private String streetName;
/**
* 用户总数
*/
private Integer userCount;
/**
* 党员数
*/
private Integer partyMemberCount;
/**
* 已注册居民
*/
private Integer residentCount;
/**
* 为注册居民
*/
private Integer unAuthorizedCount;
/**
* 年龄超过50岁
*/
private Integer oldCount;
/**
* 老龄化比例
*/
private BigDecimal oldPercent;
/**
* 50岁以下用户数量
*/
private Integer youngCount;
/**
* 年轻化比例
*/
private BigDecimal youngPercent;
/**
*
*/
private Integer maleCount;
/**
*
*/
private Integer femaleCount;
/**
* 未知性别
*/
private Integer unknownSexCount;
}

80
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java

@ -0,0 +1,80 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 网格开通情况
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
public class MetaUserGridOpiningExcel {
@Excel(name = "网格名称")
private String allDeptNames;
@Excel(name = "网格党建指导员姓名")
private String gridLeader;
@Excel(name = "用户总数")
private int registerCount;
@Excel(name = "党员数")
private int partyCount;
@Excel(name = "已注册居民")
private int residentCount;
@Excel(name = "未注册居民")
private int unAuthorizedCount;
@Excel(name = "新闻发布数")
private String newsCount;
@Excel(name = "社群数")
private int communityCount;
@Excel(name = "群成员数")
private int communityMemberCount;
@Excel(name = "群话题数")
private int communityTopicCount;
@Excel(name = "议题总数")
private int eventCount;
@Excel(name = "项目数")
private int itemCount;
@Excel(name = "项目已解决数")
private int itemCloseCount;
@Excel(name = "好评数")
private int itemPraiseCount;
@Excel(name = "更新时间", format = "yyyy-MM-dd HH:mm:ss")
private Date updatedTime;
}

70
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserPartyRankExcel.java

@ -0,0 +1,70 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 党员排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Data
public class MetaUserPartyRankExcel {
@Excel(name = "街道名称")
private String streetName;
@Excel(name = "已注册党员数量(已认证)")
private Integer partyMemberCount;
@Excel(name = "年龄超过50岁党员数量")
private Integer oldCount;
@Excel(name = "老龄化比例")
private BigDecimal oldPercent;
@Excel(name = "年龄50岁以下的党员数量")
private Integer youngCount;
@Excel(name = "年轻化比例")
private BigDecimal youngPercent;
@Excel(name = "男")
private Integer maleCount;
@Excel(name = "女")
private Integer femaleCount;
@Excel(name = "未知性别")
private Integer unknownSexCount;
@Excel(name = "党员认证失败数")
private Integer partyAuthFailureCount;
@Excel(name = "更新时间", format = "yyyy-MM-dd HH:mm:ss")
private Date updatedTime;
}

76
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserRegisterRankExcel.java

@ -0,0 +1,76 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 用户注册排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Data
public class MetaUserRegisterRankExcel {
@Excel(name = "街道名称")
private String streetName;
@Excel(name = "用户总数")
private Integer userCount;
@Excel(name = "党员数")
private Integer partyMemberCount;
@Excel(name = "已注册居民")
private Integer residentCount;
@Excel(name = "为注册居民")
private Integer unAuthorizedCount;
@Excel(name = "年龄超过50岁")
private Integer oldCount;
@Excel(name = "老龄化比例")
private BigDecimal oldPercent;
@Excel(name = "50岁以下用户数量")
private Integer youngCount;
@Excel(name = "年轻化比例")
private BigDecimal youngPercent;
@Excel(name = "男")
private Integer maleCount;
@Excel(name = "女")
private Integer femaleCount;
@Excel(name = "未知性别")
private Integer unknownSexCount;
@Excel(name = "更新时间", format = "yyyy-MM-dd HH:mm:ss")
private Date updatedTime;
}

107
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java

@ -0,0 +1,107 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.user.MetaUserGridOpiningDTO;
import com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity;
import java.util.List;
import java.util.Map;
/**
* 网格开通情况
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
public interface MetaUserGridOpiningService extends BaseService<MetaUserGridOpiningEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<MetaUserGridOpiningDTO>
* @author generator
* @date 2020-03-25
*/
PageData<MetaUserGridOpiningDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<MetaUserGridOpiningDTO>
* @author generator
* @date 2020-03-25
*/
List<MetaUserGridOpiningDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return MetaUserGridOpiningDTO
* @author generator
* @date 2020-03-25
*/
MetaUserGridOpiningDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-25
*/
void save(MetaUserGridOpiningDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-25
*/
void update(MetaUserGridOpiningDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-25
*/
void delete(String[] ids);
/***
* 网格开通数据生成临时表导入
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2020/3/25 10:42
*/
Result createUserAnalysisData();
}

105
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserPartyRankService.java

@ -0,0 +1,105 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.user.MetaUserPartyRankDTO;
import com.elink.esua.epdc.modules.user.entity.MetaUserPartyRankEntity;
import java.util.List;
import java.util.Map;
/**
* 党员排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
public interface MetaUserPartyRankService extends BaseService<MetaUserPartyRankEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<MetaUserPartyRankDTO>
* @author generator
* @date 2020-03-26
*/
PageData<MetaUserPartyRankDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<MetaUserPartyRankDTO>
* @author generator
* @date 2020-03-26
*/
List<MetaUserPartyRankDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return MetaUserPartyRankDTO
* @author generator
* @date 2020-03-26
*/
MetaUserPartyRankDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-26
*/
void save(MetaUserPartyRankDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-26
*/
void update(MetaUserPartyRankDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-26
*/
void delete(String[] ids);
/***
* 定时任务导入党员排行
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2020/3/26 18:23
*/
Result toLeadPartyRankData();
}

105
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserRegisterRankService.java

@ -0,0 +1,105 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.user.MetaUserRegisterRankDTO;
import com.elink.esua.epdc.modules.user.entity.MetaUserRegisterRankEntity;
import java.util.List;
import java.util.Map;
/**
* 用户注册排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
public interface MetaUserRegisterRankService extends BaseService<MetaUserRegisterRankEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<MetaUserRegisterRankDTO>
* @author generator
* @date 2020-03-26
*/
PageData<MetaUserRegisterRankDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<MetaUserRegisterRankDTO>
* @author generator
* @date 2020-03-26
*/
List<MetaUserRegisterRankDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return MetaUserRegisterRankDTO
* @author generator
* @date 2020-03-26
*/
MetaUserRegisterRankDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-26
*/
void save(MetaUserRegisterRankDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-26
*/
void update(MetaUserRegisterRankDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-26
*/
void delete(String[] ids);
/***
* 导入用户注册
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2020/3/26 13:26
*/
Result toLeadUserRegisterRandData();
}

24
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/OldMemberRankService.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import java.util.List;
/**
* @author songyunpeng
* @Description 党员老龄化排名
* @create 2020-02-11 12:42 下午
*/
public interface OldMemberRankService {
/**
* 党员老龄化排名列表-移动app端用
* @Params: [formDto]
* @Return: OldMemberRankResultDTO
*/
Result<List<OldMemberRankResultDTO>> listOldMemberRankByDeptId(MemberRankFormDTO formDto);
}

65
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java

@ -0,0 +1,65 @@
package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.*;
import java.util.List;
import java.util.Map;
/**
* 用户数据分析相关业务
*
* @author work@yujt.net.cn
* @date 2020/2/11 09:44
*/
public interface UserAnalysisService {
/**
* @Description: 网格开通列表
* @Param: [params]
* @return: com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
PageData<GridOpeningResultDTO> listPageGridOpening(Map<String, Object> params);
/**
* @Description: 网格开通情况用于导出
* @Param: [params]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<GridOpeningResultDTO> listPageGridOpeningsForExport(Map<String, Object> params);
/**
* @Description: 网格开通数据总计
* @Param: [params]
* @return: com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO
* @Author: wk
* @Date: 2020/7/14
*/
GridDataTotalResultDTO selectGridDataTotal(Map<String, Object> params);
/**
* @Description: 运营数据导出用户相关
* @Param: [exportOperationFormDTO]
* @return: java.util.List<com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO>
* @Author: wk
* @Date: 2020/7/14
*/
List<ExportOperationDataResultDTO> listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO);
/**
* 用户数据排行PC端用户数据分析居民注册排行党员排行
*
* @param params
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO>
* @author work@yujt.net.cn
* @date 2020/2/11 15:13
*/
PageData<UserDataRankResultDTO> pageUserDataRank(Map<String, Object> params);
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save