Browse Source

Merge branch 'dev_data_stats' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_data_stats

master
wxz 5 years ago
parent
commit
7842ebea30
  1. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java
  2. 38
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java
  3. 8
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  4. 15
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  5. 212
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java
  6. 2
      epmet-gateway/pom.xml
  7. 9
      epmet-gateway/src/main/resources/bootstrap.yml
  8. 14
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/constant/IssueConstant.java
  9. 19
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/form/IssueIncrtrendFormDTO.java
  10. 206
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueDataDTO.java
  11. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueIncrtrendResultDTO.java
  12. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubAgencyResultDTO.java
  13. 27
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubGridResultDTO.java
  14. 54
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryInfoResultDTO.java
  15. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryPieResultDTO.java
  16. 0
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/.gitignore
  17. 17
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java
  18. 182
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/FactAgencyProjectDailyDTO.java
  19. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/ProjectIncrTrendFormDTO.java
  20. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectIncrTrendResultDTO.java
  21. 36
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSubAgencyResultDTO.java
  22. 36
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSubGridResultDTO.java
  23. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryInfoResultDTO.java
  24. 50
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryResultDTO.java
  25. 29
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/publicity/dto/form/TagFormDTO.java
  26. 63
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/publicity/dto/result/FactTagAgencyDTO.java
  27. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/constant/TopicConstant.java
  28. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/form/TopicIncrTrendFormDTO.java
  29. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicIncrTrendResultDTO.java
  30. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicShiftedCountResultDTO.java
  31. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicStatusResultDTO.java
  32. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubAgencyResultDTO.java
  33. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubGridResultDTO.java
  34. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryInfoResultDTO.java
  35. 45
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryResultDTO.java
  36. 27
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserIncrTrendFormDTO.java
  37. 22
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserSubAgencyFormDTO.java
  38. 22
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserSubGridFormDTO.java
  39. 23
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserSummaryInfoFormDTO.java
  40. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserIncrTrendResultDTO.java
  41. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserSubAgencyResultDTO.java
  42. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserSubGridResultDTO.java
  43. 54
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserSummaryInfoResultDTO.java
  44. 2
      epmet-module/data-report/data-report-server/pom.xml
  45. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  46. 95
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/controller/IssueController.java
  47. 60
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/dao/IssueDao.java
  48. 65
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/service/IssueService.java
  49. 172
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/service/impl/IssueServiceImpl.java
  50. 0
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/controller/.gitignore
  51. 76
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/controller/ProjectController.java
  52. 0
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/dao/.gitignore
  53. 58
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/dao/ProjectDao.java
  54. 0
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/.gitignore
  55. 44
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/ProjectService.java
  56. 150
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/impl/ProjectServiceImpl.java
  57. 95
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/controller/PublicityController.java
  58. 42
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactArticlePublishedAgencyDailyDao.java
  59. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactArticlePublishedDepartmentDailyDao.java
  60. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactArticlePublishedGridDailyDao.java
  61. 40
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagUsedAgencyMonthlyDao.java
  62. 40
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagUsedAgencyQuarterlyDao.java
  63. 40
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagUsedAgencyYearlyDao.java
  64. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyDailyDao.java
  65. 40
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyMonthlyDao.java
  66. 40
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyQuarterlyDao.java
  67. 40
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyYearlyDao.java
  68. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridDailyDao.java
  69. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridMonthlyDao.java
  70. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridQuarterlyDao.java
  71. 33
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridYearlyDao.java
  72. 91
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactArticlePublishedAgencyDailyEntity.java
  73. 91
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactArticlePublishedDepartmentDailyEntity.java
  74. 91
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactArticlePublishedGridDailyEntity.java
  75. 96
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyDailyEntity.java
  76. 76
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyMonthlyEntity.java
  77. 76
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyQuarterlyEntity.java
  78. 76
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyYearlyEntity.java
  79. 96
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridDailyEntity.java
  80. 76
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridMonthlyEntity.java
  81. 76
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridQuarterlyEntity.java
  82. 76
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridYearlyEntity.java
  83. 56
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/service/PublicityService.java
  84. 151
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/service/impl/PublicityServiceImpl.java
  85. 81
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/controller/TopicController.java
  86. 108
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/dao/TopicDao.java
  87. 51
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/TopicService.java
  88. 182
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/impl/TopicServiceImpl.java
  89. 88
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/user/controller/UserController.java
  90. 54
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/user/service/UserService.java
  91. 110
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/user/service/impl/UserServiceImpl.java
  92. 164
      epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
  93. 88
      epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml
  94. 228
      epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml
  95. 35
      epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactArticlePublishedAgencyDailyDao.xml
  96. 27
      epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactArticlePublishedDepartmentDailyDao.xml
  97. 27
      epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactArticlePublishedGridDailyDao.xml
  98. 20
      epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactTagUsedAgencyMonthlyDao.xml
  99. 22
      epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactTagUsedAgencyQuarterlyDao.xml
  100. 23
      epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactTagUsedAgencyYearlyDao.xml

9
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java

@ -107,10 +107,15 @@ public interface ServiceConstant {
/**
* 政府端-党建声音
*/
String GOV_VOICE_SERVER="gov-voice-server";
String GOV_VOICE_SERVER = "gov-voice-server";
/**
* 居民端-党建声音
*/
String RESI_VOICE_SERVER="resi-voice-server";
String RESI_VOICE_SERVER = "resi-voice-server";
/**
* 数据统计
*/
String DATA_STATISTICAL = "data_statistical";
}

38
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java

@ -76,23 +76,23 @@ public enum RequirePermissionEnum {
/**
* 基层治理-议题管理
*/
WORK_GRASSROOTS_ISSUE_VOTINGLIST("work_grassroots_issue_voting_list","表决中","表决中议题列表查询"),
WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST("work_grassroots_issue_shifted_project_list", "已转项目列表查询","已转项目议题列表查询"),
WORK_GRASSROOTS_ISSUE_CLOSED_LIST("work_grassroots_issue_closed_list","已关闭","已关闭议题列表查询"),
WORK_GRASSROOTS_ISSUE_DETAIL("work_grassroots_issue_detail", "议题详情","议题详情界面所有的api添加此校验"),
WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT("work_grassroots_issue_shift_project", "转项目","转项目(选择处理部门api也需要添加此校验)"),
WORK_GRASSROOTS_ISSUE_CLOSE("work_grassroots_issue_close","关闭议题","关闭议题"),
WORK_GRASSROOTS_ISSUE_VOTINGLIST("work_grassroots_issue_voting_list","基层治理:议题管理:表决中","表决中议题列表查询"),
WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST("work_grassroots_issue_shifted_project_list", "基层治理:议题管理:已转项目列表查询","已转项目议题列表查询"),
WORK_GRASSROOTS_ISSUE_CLOSED_LIST("work_grassroots_issue_closed_list","基层治理:议题管理:已关闭","已关闭议题列表查询"),
WORK_GRASSROOTS_ISSUE_DETAIL("work_grassroots_issue_detail", "基层治理:议题管理:议题详情","议题详情界面所有的api添加此校验"),
WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT("work_grassroots_issue_shift_project", "基层治理:议题管理:转项目","转项目(选择处理部门api也需要添加此校验)"),
WORK_GRASSROOTS_ISSUE_CLOSE("work_grassroots_issue_close","基层治理:议题管理:关闭议题","关闭议题"),
/**
* 工作-项目跟踪
*/
WORK_PROJECT_TRACE_PENDING_LIST("work_project_trace_pending_list","待处理","待处理的项目,列表查询"),
WORK_PROJECT_TRACE_CREATED_LIST("work_project_trace_created_list","我发起","我发起的项目,列表查询"),
WORK_PROJECT_TRACE_INVOLVED_LIST("work_project_trace_involved_list","我参与","我参与的项目,列表查询"),
WORK_PROJECT_TRACE_DETAIL("work_project_trace_detail","项目详情","项目详情界面所有的api添加此校验"),
WORK_PROJECT_TRACE_CLOSE("work_project_trace_close","结案","结案"),
WORK_PROJECT_TRACE_TRANSFER("work_project_trace_transfer","转其他部门","转其他部门(选择处理部门api也需要添加此校验)"),
WORK_PROJECT_TRACE_RETURN("work_project_trace_return","退回","退回"),
WORK_PROJECT_TRACE_PENDING_LIST("work_project_trace_pending_list","项目跟踪:待处理","待处理的项目,列表查询"),
WORK_PROJECT_TRACE_CREATED_LIST("work_project_trace_created_list","项目跟踪:我发起","我发起的项目,列表查询"),
WORK_PROJECT_TRACE_INVOLVED_LIST("work_project_trace_involved_list","项目跟踪:我参与","我参与的项目,列表查询"),
WORK_PROJECT_TRACE_DETAIL("work_project_trace_detail","项目跟踪:项目详情","项目详情界面所有的api添加此校验"),
WORK_PROJECT_TRACE_CLOSE("work_project_trace_close","项目跟踪:结案","结案"),
WORK_PROJECT_TRACE_TRANSFER("work_project_trace_transfer","项目跟踪:转其他部门","转其他部门(选择处理部门api也需要添加此校验)"),
WORK_PROJECT_TRACE_RETURN("work_project_trace_return","项目跟踪:退回","退回"),
/**
* 党务工作-党建声音
@ -106,7 +106,17 @@ public enum RequirePermissionEnum {
WORK_PARTY_VOICE_PUBLISH("work_party_voice_publish", "党建声音:创建文章", ""),
WORK_PARTY_VOICE_EDIT("work_party_voice_edit", "党建声音:重新编辑", ""),
WORK_PARTY_VOICE_OFFLINE("work_party_voice_offline", "党建声音:下线文章", ""),
WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录","");
WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录",""),
/**
* 基层治理-支部管理
*/
WORK_GRASSROOTS_PARTY_BRANCH_ADD("work_grassroots_party_branch_add","基层治理:支部管理:添加党支部","支部管理-添加党支部"),
WORK_GRASSROOTS_PARTY_BRANCH_EDIT("work_grassroots_party_branch_edit","基层治理:支部管理:编辑党支部","支部管理-编辑党支部信息"),
WORK_GRASSROOTS_PARTY_BRANCH_DELETE("work_grassroots_party_branch_delete","基层治理:支部管理:删除党支部","支部管理-删除党支部"),
WORK_GRASSROOTS_PARTY_MEMBER_ADD("work_grassroots_party_member_add","基层治理:支部管理:添加党员","支部管理-添加党员"),
WORK_GRASSROOTS_PARTY_MEMBER_EDIT("work_grassroots_party_member_edit","基层治理:支部管理:编辑党员","支部管理-编辑党员"),
WORK_GRASSROOTS_PARTY_MEMBER_DELETE("work_grassroots_party_member_delete","基层治理:支部管理:删除党员","支部管理-删除党员");
private String key;

8
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -37,7 +37,13 @@ public enum EpmetErrorCode {
MOBILE_GET_CODE_ERROR(8104,"获取验证码失败"),
MESSAGE_SMS_SEND_ERROR(8105, "短信发送失败"),
NOT_DEL_GRID(8106,"该网格存在工作人员,不允许删除"),
ORG_IS_NOT_NULL(8107,"党组织关系不能为空"),
CANNOT_DELETE_PARTY_BRANCH(8108,"当前支部存在党员,不允许删除"),
IDCARDNO_ALREADY_EXITS(8109,"系统已存在相同身份证号码,请重新输入"),
IDCARDNO_ERROR(8110,"身份证号格式错误,请重新输入"),
CANNOT_DELETE_PARTY_MEMBER(8111,"该用户已注册党员,不允许删除"),
CANNOT_AUDIT_WARM(8201, "请完善居民信息"),
NOT_DEL_AGENCY(8202, "该机关存在下级机关,不允许删除"),
@ -89,7 +95,7 @@ public enum EpmetErrorCode {
return epmetErrorCodeEnum.getMsg();
}
}
return null;
return EpmetErrorCode.SERVER_ERROR.getMsg();
}
public int getCode(){

15
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -14,6 +14,7 @@ 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.*;
@ -347,4 +348,18 @@ public class DateUtils {
System.out.println(666);
}
/**
* 获取日期前一天
* @author zhaoqifeng
* @date 2020/6/22 11:08
* @param date
* @return java.util.Date
*/
public static Date getBeforeDay(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, -1);
return calendar.getTime();
}
}

212
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java

@ -0,0 +1,212 @@
package com.epmet.commons.tools.validator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Hashtable;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.util.regex.Pattern.*;
/**
* 身份证号校验
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 9:59
*/
public class IdCardNoValidatorUtils {
private static Logger logger = LoggerFactory.getLogger(IdCardNoValidatorUtils.class);
/**
* 身份证验证
*
* @param idCardNo
* @return 校验信息correct为成功失败会返回对应的失败原因
*/
public static boolean checkIsIdCardNo(String idCardNo) {
String[] wf = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
String[] checkCode = {"7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"};
String iDCardNo = "";
try {
//判断号码的长度 15位或18位
if (idCardNo.length() != 15 && idCardNo.length() != 18) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证号码长度应该为15位或18位"));
return false;
}
if (idCardNo.length() == 18) {
String lastStr = idCardNo.substring(idCardNo.length() - 1);
if (!Character.isDigit(lastStr.charAt(0))) {
if (Character.isLowerCase(lastStr.charAt(0))) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "18身份证号最后一位字母需要大写"));
return false;
}
} else {
logger.info(String.format("身份证号%s最后一位为数字"));
}
}
if (idCardNo.length() == 18) {
iDCardNo = idCardNo.substring(0, 17);
} else if (idCardNo.length() == 15) {
iDCardNo = idCardNo.substring(0, 6) + "19" + idCardNo.substring(6, 15);
}
if (isStrNum(iDCardNo) == false) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证15位号码都应为数字;18位号码除最后一位外,都应为数字"));
return false;
}
//判断出生年月
String strYear = iDCardNo.substring(6, 10);// 年份
String strMonth = iDCardNo.substring(10, 12);// 月份
String strDay = iDCardNo.substring(12, 14);// 月份
if (isStrDate(strYear + "-" + strMonth + "-" + strDay) == false) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证生日无效"));
return false;
}
GregorianCalendar gc = new GregorianCalendar();
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
if ((gc.get(Calendar.YEAR) - Integer.parseInt(strYear)) > 150 || (gc.getTime().getTime() - s.parse(strYear + "-" + strMonth + "-" + strDay).getTime()) < 0) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证生日不在有效范围"));
return false;
}
if (Integer.parseInt(strMonth) > 12 || Integer.parseInt(strMonth) == 0) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证月份无效"));
return false;
}
if (Integer.parseInt(strDay) > 31 || Integer.parseInt(strDay) == 0) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证日期无效"));
return false;
}
//判断地区码
Hashtable h = GetAreaCode();
if (h.get(iDCardNo.substring(0, 2)) == null) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证地区编码错误"));
return false;
}
//判断最后一位
int theLastOne = 0;
for (int i = 0; i < 17; i++) {
theLastOne = theLastOne + Integer.parseInt(String.valueOf(iDCardNo.charAt(i))) * Integer.parseInt(checkCode[i]);
}
int modValue = theLastOne % 11;
String strVerifyCode = wf[modValue];
iDCardNo = iDCardNo + strVerifyCode;
if (idCardNo.length() == 18 && !iDCardNo.equals(idCardNo)) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证无效,不是合法的身份证号码"));
return false;
}
} catch (Exception e) {
logger.error(String.format("校验身份证号方法异常"));
e.printStackTrace();
}
return true;
}
/**
* 地区代码
*
* @return Hashtable
*/
private static Hashtable GetAreaCode() {
Hashtable<String, String> hashtable = new Hashtable<String, String>();
hashtable.put("11", "北京");
hashtable.put("12", "天津");
hashtable.put("13", "河北");
hashtable.put("14", "山西");
hashtable.put("15", "内蒙古");
hashtable.put("21", "辽宁");
hashtable.put("22", "吉林");
hashtable.put("23", "黑龙江");
hashtable.put("31", "上海");
hashtable.put("32", "江苏");
hashtable.put("33", "浙江");
hashtable.put("34", "安徽");
hashtable.put("35", "福建");
hashtable.put("36", "江西");
hashtable.put("37", "山东");
hashtable.put("41", "河南");
hashtable.put("42", "湖北");
hashtable.put("43", "湖南");
hashtable.put("44", "广东");
hashtable.put("45", "广西");
hashtable.put("46", "海南");
hashtable.put("50", "重庆");
hashtable.put("51", "四川");
hashtable.put("52", "贵州");
hashtable.put("53", "云南");
hashtable.put("54", "西藏");
hashtable.put("61", "陕西");
hashtable.put("62", "甘肃");
hashtable.put("63", "青海");
hashtable.put("64", "宁夏");
hashtable.put("65", "新疆");
hashtable.put("71", "台湾");
hashtable.put("81", "香港");
hashtable.put("82", "澳门");
hashtable.put("91", "国外");
return hashtable;
}
/**
* 判断字符串是否为数字
*
* @param str
* @return
*/
private static boolean isStrNum(String str) {
Pattern pattern = compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if (isNum.matches()) {
return true;
} else {
return false;
}
}
/**
* 判断字符串是否为日期格式
*
* @param strDate
* @return
*/
public static boolean isStrDate(String strDate) {
Pattern pattern = compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
Matcher m = pattern.matcher(strDate);
if (m.matches()) {
return true;
} else {
return false;
}
}
//根据身份证号判断性别 1男2女0未知
public static String getGender(String idCard) {
String gender = "0";
if (!IdCardNoValidatorUtils.checkIsIdCardNo(idCard)) {
return gender;
}
if (idCard.length() == 18) {
if (Integer.parseInt(idCard.substring(16).substring(0, 1)) % 2 == 0) {
gender = "2";
} else {
gender = "1";
}
} else if (idCard.length() == 15) {
String usex = idCard.substring(14, 15);
if (Integer.parseInt(usex) % 2 == 0) {
gender = "2";
} else {
gender = "1";
}
}
return gender;
}
}

2
epmet-gateway/pom.xml

@ -175,6 +175,8 @@
<!-- 27、居民端-党建声音 -->
<gateway.routes.resi-voice-server.uri>lb://resi-voice-server</gateway.routes.resi-voice-server.uri>
<!-- <gateway.routes.resi-voice-server.uri>http://localhost:8106</gateway.routes.resi-voice-server.uri>-->
<gateway.routes.data-report-server.uri>lb://data-report-server</gateway.routes.data-report-server.uri>
<!-- <gateway.routes.data-report-server.uri>http://localhost:8109</gateway.routes.data-report-server.uri>-->
</properties>
</profile>
<profile>

9
epmet-gateway/src/main/resources/bootstrap.yml

@ -259,6 +259,15 @@ spring:
filters:
- StripPrefix=1
- CpAuth=true
#政府端-数据首页
- id: data-report-server
uri: @gateway.routes.data-report-server.uri@
order: 28
predicates:
- Path=${server.servlet.context-path}/data/report/**
filters:
- StripPrefix=1
- CpAuth=true
nacos:
discovery:
server-addr: @nacos.server-addr@

14
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/constant/IssueConstant.java

@ -0,0 +1,14 @@
package com.epmet.issue.constant;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 14:07
*/
public interface IssueConstant {
String MONTH = "month";
String DATE = "date";
String VOTING_NAME = "表决中";
String SHIFT_NAME = "已转项目";
String CLOSED_NAME = "已关闭";
}

19
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/form/IssueIncrtrendFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.issue.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:32
*/
@Data
public class IssueIncrtrendFormDTO implements Serializable {
private static final long serialVersionUID = 4408419854627376175L;
/**
* 类型按日date 按月month
*/
private String type;
}

206
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueDataDTO.java

@ -0,0 +1,206 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 14:11
*/
@Data
public class IssueDataDTO implements Serializable {
private static final long serialVersionUID = 9136989870868730175L;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名
*/
private String agencyName;
/**
* 网格ID
*/
private String gridId;
/**
* 网格名
*/
private String gridName;
/**
* 年度ID
*/
private String yearId;
/**
* 年度名
*/
private String yearName;
/**
* 季度ID
*/
private String quarterId;
/**
* 季度名
*/
private String quarterName;
/**
* 月度ID
*/
private String monthId;
/**
* 月度名
*/
private String monthName;
/**
* 周ID
*/
private String weekId;
/**
* 日期ID
*/
private String dateId;
/**
* 日期名
*/
private String dateName;
/**
* 当日议题增量
*/
private Integer issueIncr;
/**
* 议题总数
*/
private Integer issueTotal;
/**
* 当日已转项目的议题数增量
*/
private Integer shiftProjectIncr;
/**
* 已转项目的议题总数
*/
private Integer shiftProjectTotal;
/**
* 已转项目所占百分比
*/
private BigDecimal shiftProjectPercent;
/**
* 当日表决中议题数增量
*/
private Integer votingIncr;
/**
* 表决中议题总数
*/
private Integer votingTotal;
/**
* 表决中议题所占百分比
*/
private BigDecimal votingPercent;
/**
* 当日已关闭议题数增量
*/
private Integer closedIncr;
/**
* 当日已关闭议题中已解决数量
*/
private Integer closedResolvedIncr;
/**
* 当日已关闭议题中无需解决数量
*/
private Integer closedUnresolvedIncr;
/**
* 已关闭议题总数
*/
private Integer closedTotal;
/**
* 已关闭议题中已解决总数
*/
private Integer closedResolvedTotal;
/**
* 已关闭议题中未解决总数
*/
private Integer closedUnresolvedTotal;
/**
* 已关闭议题所占百分比
*/
private BigDecimal closedPercent;
/**
* 已关闭议题中已解决百分比
*/
private BigDecimal closedResolvedPercent;
/**
* 已关闭议题中未解决百分比
*/
private BigDecimal closedUnresolvedPercent;
/**
* 当日已结案议题数
*/
private Integer closedCaseIncr;
/**
* 当日已结案议题中已解决数
*/
private Integer closedCaseResolvedIncr;
/**
* 当日已结案议题中未解决数
*/
private Integer closedCaseUnresolvedIncr;
/**
* 已结案议题总数
*/
private Integer closedCaseTotal;
/**
* 已结案议题中已解决总数
*/
private Integer closedCaseResolvedTotal;
/**
* 已结案议题中未解决总数
*/
private Integer closedCaseUnresolvedTotal;
/**
* 已结案议题中已解决百分比
*/
private BigDecimal closedCaseResolvedPercent;
/**
* 已结案议题中未解决百分比
*/
private BigDecimal closedCaseUnresolvedPercent;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueIncrtrendResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:30
*/
@NoArgsConstructor
@Data
public class IssueIncrtrendResultDTO implements Serializable {
private static final long serialVersionUID = 7762529188251385355L;
/**
* 日期
*/
private String date;
/**
* 状态表决中已转项目已关闭
*/
private String type;
/**
* 数量
*/
private Integer value;
}

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubAgencyResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:24
*/
@NoArgsConstructor
@Data
public class IssueSubAgencyResultDTO implements Serializable {
private static final long serialVersionUID = 2640337888693960513L;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名
*/
private String name;
/**
* 类型 表决中已转项目已关闭
*/
private String type;
/**
* 数量
*/
private Integer value;
}

27
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubGridResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:27
*/
@Data
public class IssueSubGridResultDTO implements Serializable {
private static final long serialVersionUID = -3318384216762207856L;
/**
* 网格名
*/
private String name;
/**
* 类型 表决中已转项目已关闭
*/
private String type;
/**
* 数量
*/
private Integer value;
}

54
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryInfoResultDTO.java

@ -0,0 +1,54 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:17
*/
@NoArgsConstructor
@Data
public class IssueSummaryInfoResultDTO implements Serializable {
private static final long serialVersionUID = -7959140755148294338L;
/**
* 机关ID
*/
private String agencyId;
/**
* 议题总数
*/
private Integer issueTotal;
/**
* 表决中数量
*/
private Integer votingTotal;
/**
* 已转项目数量
*/
private Integer shiftProjectTotal;
/**
* 已关闭数量
*/
private Integer closedTotal;
/**
* 表决中占比
*/
private String votingRatio;
/**
* 已转项目占比
*/
private String shiftProjectRatio;
/**
* 已关闭占比
*/
private String closedRatio;
/**
* 更新至日期
*/
private String dateName;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryPieResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:21
*/
@NoArgsConstructor
@Data
public class IssueSummaryPieResultDTO implements Serializable {
private static final long serialVersionUID = -971115426789868580L;
/**
* 名称 表决中已转项目已关闭
*/
private String name;
/**
*
*/
private Integer value;
/**
* 百分比
*/
private String ratio;
}

0
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/.gitignore

17
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java

@ -0,0 +1,17 @@
package com.epmet.project.constant;
/**
* @Author sun
* @Description 数据-项目
**/
public interface ProjectConstant {
String DATE = "date";
String MONTH = "month";
/**
* 根据Token获取组织信息失败
*/
String GET_AGENCYID = "根据Token获取组织信息失败";
}

182
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/FactAgencyProjectDailyDTO.java

@ -0,0 +1,182 @@
/**
* 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.epmet.project.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 机关下日项目数据统计 存放机关下截止到当前日期的各项总数据以及昨日新增各项数据每日定时执行先删后增
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-16
*/
@Data
public class FactAgencyProjectDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id dim_customer.id
*/
private String customerId;
/**
* 机关Id dim_agency.id
*/
private String agencyId;
/**
* 上级组织Iddim_agency.pid
*/
private String parentId;
/**
* 日维度Id dim_date.id
*/
private String dateId;
/**
* 周维度Id dim_week.id
*/
private String weekId;
/**
* 月维度Id dim_month.id
*/
private String monthId;
/**
* 季ID
*/
private String quarterId;
/**
* 年维度Id dim_year.id
*/
private String yearId;
/**
* 截止当日项目总数 当前组织及下级项目总数
*/
private Integer projectTotal;
/**
* 截止当日处理中项目数 当前组织及下级所有未结案项目总数
*/
private Integer pendingTotal;
/**
* 截止当日处理中项目占比 当前组织及下级未结案项目百分比存百分比数小数点后两位
*/
private BigDecimal pendingRatio;
/**
* 截止当日已结案项目数 当前组织及下级已结案项目总数
*/
private Integer closedTotal;
/**
* 截止当日已结案项目占比 当前组织及下级已结案项目百分比存百分比数小数点后两位
*/
private BigDecimal closedRatio;
/**
* 截止当日已结案中已解决项目数 当前组织及下级已结案项目中已解决总数
*/
private Integer resolvedTotal;
/**
* 截止当日已结案中已解决项目占比 当前组织及下级已结案项目中已解决占比
*/
private BigDecimal resolvedRatio;
/**
* 截止当日已结案中未解决项目数 当前组织及下级已结案项目中未解决总数
*/
private Integer unresolvedTotal;
/**
* 截止当日已结案中未解决项目占比 当前组织及下级已结案项目中未解决占比
*/
private BigDecimal unresolvedRatio;
/**
* 当日项目总数 当前组织及下级项目总数
*/
private Integer projectIncr;
/**
* 当日处理中项目数 当前组织及下级前一日新增处理中项目数
*/
private Integer pendingIncr;
/**
* 当日已结案项目数 当前组织及下级前一日新增结案项目数
*/
private Integer closedIncr;
/**
* 当日已结案项目中已解决数 当前组织及下级前一日新增结案中已解决项目数
*/
private Integer resolvedIncr;
/**
* 当日已结案项目组未解决数 当前组织及下级前一日新增结案中未解决项目数
*/
private Integer unresolvedIncr;
/**
* 删除标识 0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/ProjectIncrTrendFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.project.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author sun
* @Description 数据-项目-/月数据查询-接口入参
*/
@Data
public class ProjectIncrTrendFormDTO implements Serializable {
private static final long serialVersionUID = -4929038359220814068L;
public interface ProjectIncr {
}
/**
* 类型 month代表月 date代表日
*/
@NotBlank(message = "month / date 类型不能为空", groups = {ProjectIncr.class})
private String type;
}

31
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectIncrTrendResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.project.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author sun
* @Description 数据-项目-获取组织下饼图数据-接口返参
**/
@Data
public class ProjectIncrTrendResultDTO implements Serializable {
private static final long serialVersionUID = 8529179932504931368L;
/**
* 日期(2020/1/1;2020/1/2...)
*/
private String date;
/**
* 类型对应数量
*/
private Integer value;
/**
* 类型名称(处理中已结案)
*/
private String type;
}

36
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSubAgencyResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.project.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author sun
* @Description 数据-项目-获取组织下饼图数据-接口返参
**/
@Data
public class ProjectSubAgencyResultDTO implements Serializable {
private static final long serialVersionUID = 8529179932504931368L;
/**
* 机关Id
*/
private String agencyId;
/**
* 机关名称
*/
private String name;
/**
* 不同类型对应数据
*/
private Integer value;
/**
* 类型名称(处理中已结案)
*/
private String type;
}

36
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSubGridResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.project.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author sun
* @Description 数据-项目-获取组织下饼图数据-接口返参
**/
@Data
public class ProjectSubGridResultDTO implements Serializable {
private static final long serialVersionUID = 8529179932504931368L;
/**
* 机关Id
*/
private String agencyId;
/**
* 机关名称
*/
private String name;
/**
* 不同类型对应数据
*/
private Integer value;
/**
* 类型名称(处理中已结案)
*/
private String type;
}

31
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryInfoResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.project.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author sun
* @Description 数据-项目-获取组织下饼图数据-接口返参
**/
@Data
public class ProjectSummaryInfoResultDTO implements Serializable {
private static final long serialVersionUID = 8529179932504931368L;
/**
* 类型名称(处理中已结案)
*/
private String name;
/**
* 类型对应数量
*/
private Integer value;
/**
* 类型对应百分比(10% 10.1% 10.01%小数点后两位)
*/
private String ratio;
}

50
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryResultDTO.java

@ -0,0 +1,50 @@
package com.epmet.project.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author sun
* @Description 数据-项目-汇总数据-接口返参
**/
@Data
public class ProjectSummaryResultDTO implements Serializable {
private static final long serialVersionUID = 8529179932504931368L;
/**
* 机关Id
*/
private String agencyId;
/**
* 项目总数
*/
private Integer projectTotal;
/**
* 更新日期
*/
private String dateName;
/**
* 处理中总数
*/
private Integer pendingTotal;
/**
* 处理中占比
*/
private String pendingRatio;
/**
* 已结案总数
*/
private Integer closedTotal;
/**
* 已结案占比
*/
private String closedRatio;
}

29
epmet-module/data-report/data-report-client/src/main/java/com/epmet/publicity/dto/form/TagFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.publicity.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author jyy
* @CreateTime 2020/6/22 12:07
*/
@Data
public class TagFormDTO implements Serializable {
private static final long serialVersionUID = 1788937450915240575L;
public interface GroupJava {}
/**
* 获取数据条数默认为10
*/
private Integer pageSize;
/**
* 时间查询维度date:month;quarteryear
*/
@NotBlank(message = "type不能为空", groups = {GroupJava.class})
private String type;
}

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

@ -0,0 +1,63 @@
/**
* 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.epmet.publicity.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 文章引用标签阅读数量机关日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
public class FactTagAgencyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 标签名称 标签名称
*/
private String name;
/**
* 使用改标签的数量
*/
private Integer value;
/**
* 固定值文章数量
*/
private String type="文章数量";
/**
* 机关Id
*/
private String agencyId;
/**
* 标签Id
*/
private String tagId;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/constant/TopicConstant.java

@ -0,0 +1,30 @@
package com.epmet.topic.constant;
/**
* @Author zxc
* @CreateTime 2020/6/20 17:19
*/
public interface TopicConstant {
/**
* 讨论中
*/
String DISCUSSING = "discussing";
/**
* 已屏蔽
*/
String HIDDEN = "hidden";
/**
* 已关闭
*/
String CLOSED = "closed";
String RATIO = "%";
String SHIFTED = "已转议题";
String MONTH = "month";
String DATE = "date";
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/form/TopicIncrTrendFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.topic.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 16:24
*/
@Data
public class TopicIncrTrendFormDTO implements Serializable {
private static final long serialVersionUID = -4929038359220814068L;
public interface TopicIncr{}
/**
* 类型 month代表月 date代表日
*/
@NotBlank(message = "month / date 类型不能为空",groups = {TopicIncr.class})
private String type;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicIncrTrendResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.topic.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 16:09
*/
@Data
public class TopicIncrTrendResultDTO implements Serializable {
private static final long serialVersionUID = 6905657684644153197L;
/**
* 日期
*/
private String date;
/**
*
*/
private Integer value;
/**
* 类型
*/
private String type;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicShiftedCountResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.topic.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 17:32
*/
@Data
public class TopicShiftedCountResultDTO implements Serializable {
private static final long serialVersionUID = -7470748727678087785L;
/**
* 已转议题数量
*/
private Integer shiftedIssueCount;
/**
* 数据更新至 时间
*/
private String deadline;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicStatusResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.topic.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 17:10
*/
@Data
public class TopicStatusResultDTO implements Serializable {
private static final long serialVersionUID = -6461755954651271901L;
/**
* 话题数量
*/
private Integer topicCount;
/**
* 话题状态 已关闭closed已屏蔽hidden 讨论中discussing
*/
private String topicStatus;
}

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

@ -0,0 +1,35 @@
package com.epmet.topic.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 16:13
*/
@Data
public class TopicSubAgencyResultDTO implements Serializable {
private static final long serialVersionUID = 70586943923355457L;
/**
* 名称
*/
private String name;
/**
*
*/
private Integer value;
/**
* 类型
*/
private String type;
/**
* 机关Id
*/
private String agencyId;
}

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

@ -0,0 +1,35 @@
package com.epmet.topic.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 16:13
*/
@Data
public class TopicSubGridResultDTO implements Serializable {
private static final long serialVersionUID = -7251687622455341118L;
/**
* 名称
*/
private String name;
/**
*
*/
private Integer value;
/**
* 类型
*/
private String type;
/**
* 网格Id
*/
private String gridId;
}

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

@ -0,0 +1,30 @@
package com.epmet.topic.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 16:14
*/
@Data
public class TopicSummaryInfoResultDTO implements Serializable {
private static final long serialVersionUID = 1103298182001744033L;
/**
* 名称
*/
private String name;
/**
*
*/
private Integer value;
/**
* 百分比
*/
private String ratio;
}

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

@ -0,0 +1,45 @@
package com.epmet.topic.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @CreateTime 2020/6/20 16:04
*/
@Data
public class TopicSummaryResultDTO implements Serializable {
private static final long serialVersionUID = -6051892596892952025L;
/**
* 话题总数
*/
private Integer topicTotalCount;
/**
* 讨论中话题数量
*/
private Integer talkingTotalCount;
/**
* 已关闭话题数量
*/
private Integer closedTotalCount;
/**
* 已屏蔽话题数量
*/
private Integer shieldedTotalCount;
/**
* 话题已转议题数量
*/
private Integer shiftedTotalCount;
/**
* 数据更新至 时间
*/
private String deadline;
}

27
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserIncrTrendFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.user.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 按日按月查询注册用户数参与用户数增量折线图 入参
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 12:57
*/
@Data
public class UserIncrTrendFormDTO implements Serializable {
/**
* reg注册居民 parti参与用户如果值为null默认为reg
*/
@NotBlank(message = "regOrPartiFlag不能为空")
private String regOrPartiFlag;
/**
* day日维度 | month月维度 | ()
*/
@NotBlank(message = "type不能为空")
private String type;
}

22
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserSubAgencyFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.user.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 各机关注册用户数入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 12:47
*/
@Data
public class UserSubAgencyFormDTO implements Serializable {
private static final long serialVersionUID = -4558978951554887536L;
/**
* reg注册居民 parti参与用户如果值为null默认为reg
*/
@NotBlank(message = "regOrPartiFlag不能为空")
private String regOrPartiFlag;
}

22
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserSubGridFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.user.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 直属网格注册用户数 入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 12:52
*/
@Data
public class UserSubGridFormDTO implements Serializable {
private static final long serialVersionUID = -1815903503939673149L;
/**
* reg注册居民 parti参与用户如果值为null默认为reg
*/
@NotBlank(message = "regOrPartiFlag不能为空")
private String regOrPartiFlag;
}

23
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/form/UserSummaryInfoFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.user.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 用户汇总信息 入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 12:31
*/
@Data
public class UserSummaryInfoFormDTO implements Serializable {
private static final long serialVersionUID = -1802471335671321322L;
/**
* reg注册居民 parti参与用户如果值为null默认为reg
*/
@NotBlank(message = "regOrPartiFlag不能为空")
private String regOrPartiFlag;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserIncrTrendResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* 按日按月查询注册用户数参与用户数增量折线图 返参
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 13:17
*/
@Data
public class UserIncrTrendResultDTO implements Serializable {
/**
* 日期如果按日查询返回yyyy-MM-dd,如果按月返回yyyy-MM
*/
private String date;
/**
* 居民党员热心居民返回中文描述
*/
private String type;
/**
* 增量值
*/
private Integer value;
}

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserSubAgencyResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.user.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* 各机关注册用户数入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 12:49
*/
@Data
public class UserSubAgencyResultDTO implements Serializable {
private static final long serialVersionUID = 3038896791082755087L;
/**
* 辽阳路街道
*/
private String name;
/**
* 数值
*/
private Integer value;
/**
* 类型:居民党员热心居民
*/
private String type;
@JsonIgnore
private String agencyId;
}

35
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserSubGridResultDTO.java

@ -0,0 +1,35 @@
package com.epmet.user.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* 直属网格注册用户数 返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 12:54
*/
@Data
public class UserSubGridResultDTO implements Serializable {
private static final long serialVersionUID = -7432747804212305863L;
/**
* 网格名称eg:第一网格
*/
private String name;
/**
* 数值
*/
private Integer value;
/**
* 类型:居民党员热心居民
*/
private String type;
@JsonIgnore
private String gridId;
}

54
epmet-module/data-report/data-report-client/src/main/java/com/epmet/user/result/UserSummaryInfoResultDTO.java

@ -0,0 +1,54 @@
package com.epmet.user.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* 用户汇总信息 返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 12:34
*/
@Data
public class UserSummaryInfoResultDTO implements Serializable {
private static final long serialVersionUID = -4270726421611289755L;
/**
* 数据更新至yyyy.MM.dd
*/
private String currentDate;
/**
* 注册居民数
*/
private Integer regTotal;
/**
* 参与用户数
*/
private Integer partiTotal;
/**
* 党员数
*/
private Integer partymemberTotal;
/**
* 党员占比
*/
private String partymemberProportion;
/**
* 热心居民数
*/
private String warmHeartedTotal;
/**
* 热心居民占比
*/
private String warmHeartedProportion;
@JsonIgnore
private String id;
}

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

@ -112,7 +112,7 @@
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -21,7 +21,7 @@ import javax.servlet.http.HttpServletRequest;
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
@Around(value = "execution(* com.epmet.controller.*.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}

95
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/controller/IssueController.java

@ -0,0 +1,95 @@
package com.epmet.module.issue.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
import com.epmet.module.issue.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:47
*/
@RestController
@RequestMapping("issue")
public class IssueController {
@Autowired
private IssueService issueService;
/**
* 数据汇总
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<com.epmet.issue.dto.result.IssueSummaryInfoResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("summaryinfo")
public Result<IssueSummaryInfoResultDTO> getSummaryInfo(@LoginUser TokenDto tokenDto) {
return new Result<IssueSummaryInfoResultDTO>().ok(issueService.getSummaryInfo(tokenDto));
}
/**
* 数据汇总饼状图
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueSummaryPieResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("summarypie")
public Result<List<IssueSummaryPieResultDTO>> getSummaryPie(@LoginUser TokenDto tokenDto) {
return new Result<List<IssueSummaryPieResultDTO>>().ok(issueService.getSummaryPie(tokenDto));
}
/**
* 下级机关议题统计
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueSubAgencyResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("subagency")
public Result<List<IssueSubAgencyResultDTO>> getSubAgency(@LoginUser TokenDto tokenDto) {
return new Result<List<IssueSubAgencyResultDTO>>().ok(issueService.getSubAgency(tokenDto));
}
/**
* 网格议题统计
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueSubGridResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("subgrid")
public Result<List<IssueSubGridResultDTO>> getSubGrid(@LoginUser TokenDto tokenDto) {
return new Result<List<IssueSubGridResultDTO>>().ok(issueService.getSubGrid(tokenDto));
}
/**
* 议题分析
*
* @param tokenDto
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueIncrtrendResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("incrtrend")
public Result<List<IssueIncrtrendResultDTO>> getIncrtrend(@LoginUser TokenDto tokenDto, @RequestBody IssueIncrtrendFormDTO formDTO) {
return new Result<List<IssueIncrtrendResultDTO>>().ok(issueService.getIncrtrend(tokenDto, formDTO));
}
}

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

@ -0,0 +1,60 @@
package com.epmet.module.issue.dao;
import com.epmet.issue.dto.result.IssueDataDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:48
*/
@Mapper
public interface IssueDao {
/**
* 获取当前机关统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:19
* @param agencyId
* @return com.epmet.issue.dto.result.IssueDataDTO
*/
IssueDataDTO selectAgencyInfo(@Param("agencyId") String agencyId);
/**
* 获取下级机关统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:20
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectSubAgencyList(@Param("agencyId") String agencyId);
/**
* 获取机关下网格统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:21
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectGridList(@Param("agencyId") String agencyId);
/**
* 获取当前机关日增量
* @author zhaoqifeng
* @date 2020/6/22 15:22
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectAgencyIncDailyList(@Param("agencyId") String agencyId);
/**
* 获取当前机关月增量
* @author zhaoqifeng
* @date 2020/6/22 15:23
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectAgencyIncMonthlyList(@Param("agencyId") String agencyId);
}

65
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/service/IssueService.java

@ -0,0 +1,65 @@
package com.epmet.module.issue.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:48
*/
public interface IssueService {
/**
* 议题汇总
*
* @param tokenDto
* @return com.epmet.issue.dto.result.IssueSummaryInfoResultDTO
* @author zhaoqifeng
* @date 2020/6/22 16:40
*/
IssueSummaryInfoResultDTO getSummaryInfo(TokenDto tokenDto);
/**
* 议题汇总饼状图
*
* @param tokenDto
* @return com.epmet.issue.dto.result.IssueSummaryPieResultDTO
* @author zhaoqifeng
* @date 2020/6/22 16:40
*/
List<IssueSummaryPieResultDTO> getSummaryPie(TokenDto tokenDto);
/**
* 下级机关
*
* @param tokenDto
* @return java.util.List<com.epmet.issue.dto.result.IssueSubAgencyResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 16:40
*/
List<IssueSubAgencyResultDTO> getSubAgency(TokenDto tokenDto);
/**
* 网格
*
* @param tokenDto
* @return java.util.List<com.epmet.issue.dto.result.IssueSubGridResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 16:41
*/
List<IssueSubGridResultDTO> getSubGrid(TokenDto tokenDto);
/**
* 议题分析
*
* @param tokenDto
* @param formDTO
* @return java.util.List<com.epmet.issue.dto.result.IssueIncrtrendResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 16:41
*/
List<IssueIncrtrendResultDTO> getIncrtrend(TokenDto tokenDto, IssueIncrtrendFormDTO formDTO);
}

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

@ -0,0 +1,172 @@
package com.epmet.module.issue.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.issue.constant.IssueConstant;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
import com.epmet.module.issue.dao.IssueDao;
import com.epmet.module.issue.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:49
*/
@Service
public class IssueServiceImpl implements IssueService {
@Autowired
private IssueDao issueDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public IssueSummaryInfoResultDTO getSummaryInfo(TokenDto tokenDto) {
IssueSummaryInfoResultDTO result = new IssueSummaryInfoResultDTO();
String agencyId = getAgencyId(tokenDto);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId);
result.setAgencyId(agencyId);
result.setDateName(data.getDateName());
result.setIssueTotal(data.getIssueTotal());
result.setVotingTotal(data.getVotingTotal());
result.setShiftProjectTotal(data.getShiftProjectTotal());
result.setClosedTotal(data.getClosedTotal());
result.setVotingRatio(toRatio(data.getVotingPercent()));
result.setShiftProjectRatio(toRatio(data.getShiftProjectPercent()));
result.setClosedRatio(toRatio(data.getClosedPercent()));
return result;
}
@Override
public List<IssueSummaryPieResultDTO> getSummaryPie(TokenDto tokenDto) {
List<IssueSummaryPieResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId);
IssueSummaryPieResultDTO voting = new IssueSummaryPieResultDTO();
voting.setName(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingTotal());
voting.setRatio(toRatio(data.getVotingPercent()));
list.add(voting);
IssueSummaryPieResultDTO shift = new IssueSummaryPieResultDTO();
shift.setName(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectTotal());
shift.setRatio(toRatio(data.getShiftProjectPercent()));
list.add(shift);
IssueSummaryPieResultDTO closed = new IssueSummaryPieResultDTO();
closed.setName(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedTotal());
closed.setRatio(toRatio(data.getClosedPercent()));
list.add(closed);
return list;
}
@Override
public List<IssueSubAgencyResultDTO> getSubAgency(TokenDto tokenDto) {
List<IssueSubAgencyResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList = issueDao.selectSubAgencyList(agencyId);
if(null != dataList) {
dataList.forEach(data -> {
IssueSubAgencyResultDTO voting = new IssueSubAgencyResultDTO();
voting.setAgencyId(data.getAgencyId());
voting.setName(data.getAgencyName());
voting.setType(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingTotal());
list.add(voting);
IssueSubAgencyResultDTO shift = new IssueSubAgencyResultDTO();
shift.setAgencyId(data.getAgencyId());
shift.setName(data.getAgencyName());
shift.setType(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectTotal());
list.add(shift);
IssueSubAgencyResultDTO closed = new IssueSubAgencyResultDTO();
closed.setAgencyId(data.getAgencyId());
closed.setName(data.getAgencyName());
closed.setType(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedTotal());
list.add(closed);
});
}
return list;
}
@Override
public List<IssueSubGridResultDTO> getSubGrid(TokenDto tokenDto) {
List<IssueSubGridResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList = issueDao.selectGridList(agencyId);
if(null != dataList) {
dataList.forEach(data -> {
IssueSubGridResultDTO voting = new IssueSubGridResultDTO();
voting.setName(data.getGridName());
voting.setType(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingTotal());
list.add(voting);
IssueSubGridResultDTO shift = new IssueSubGridResultDTO();
shift.setName(data.getGridName());
shift.setType(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectTotal());
list.add(shift);
IssueSubGridResultDTO closed = new IssueSubGridResultDTO();
closed.setName(data.getGridName());
closed.setType(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedTotal());
list.add(closed);
});
}
return list;
}
@Override
public List<IssueIncrtrendResultDTO> getIncrtrend(TokenDto tokenDto, IssueIncrtrendFormDTO formDTO) {
List<IssueIncrtrendResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList;
if (IssueConstant.DATE.equals(formDTO.getType())) {
dataList = issueDao.selectAgencyIncDailyList(agencyId);
} else {
dataList = issueDao.selectAgencyIncMonthlyList(agencyId);
}
if (null != dataList) {
dataList.forEach(data -> {
IssueIncrtrendResultDTO voting = new IssueIncrtrendResultDTO();
voting.setDate(data.getDateName());
voting.setType(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingIncr());
list.add(voting);
IssueIncrtrendResultDTO shift = new IssueIncrtrendResultDTO();
shift.setDate(data.getDateName());
shift.setType(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectIncr());
list.add(shift);
IssueIncrtrendResultDTO closed = new IssueIncrtrendResultDTO();
closed.setDate(data.getDateName());
closed.setType(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedIncr());
list.add(closed);
});
}
return list;
}
private String getAgencyId(TokenDto tokenDto) {
LoginUserDetailsFormDTO loginUserDetailsFormDTO = new LoginUserDetailsFormDTO();
loginUserDetailsFormDTO.setApp(tokenDto.getApp());
loginUserDetailsFormDTO.setClient(tokenDto.getClient());
loginUserDetailsFormDTO.setUserId(tokenDto.getUserId());
LoginUserDetailsResultDTO userInfo = epmetUserOpenFeignClient.getLoginUserDetails(loginUserDetailsFormDTO).getData();
String[] orgIdPath = userInfo.getOrgIdPath().split(":");
return orgIdPath[orgIdPath.length - 1];
}
private String toRatio(BigDecimal data) {
return data.stripTrailingZeros().toString().concat("%");
}
}

0
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/controller/.gitignore

76
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/controller/ProjectController.java

@ -0,0 +1,76 @@
package com.epmet.module.project.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.module.project.service.ProjectService;
import com.epmet.project.dto.form.ProjectIncrTrendFormDTO;
import com.epmet.project.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Author sun
* @Description 数据-项目
**/
@RestController
@RequestMapping("project")
public class ProjectController {
@Autowired
private ProjectService projectService;
/**
* @Author sun
* @Description 数据-项目-获取汇总数据
**/
@PostMapping("projectsummary")
public Result<ProjectSummaryResultDTO> projectSummary(@LoginUser TokenDto tokenDto) {
return new Result<ProjectSummaryResultDTO>().ok(projectService.getProjectSummary(tokenDto));
}
/**
* @Author sun
* @Description 数据-项目-获取组织下饼图数据
**/
@PostMapping("summaryinfo")
public Result<List<ProjectSummaryInfoResultDTO>> summaryInfo(@LoginUser TokenDto tokenDto) {
return new Result<List<ProjectSummaryInfoResultDTO>>().ok(projectService.getSummaryInfo(tokenDto));
}
/**
* @Author sun
* @Description 数据-项目-获取下级组织柱状图数据
**/
@PostMapping("subagency")
public Result<List<ProjectSubAgencyResultDTO>> subAgency(@LoginUser TokenDto tokenDto) {
return new Result<List<ProjectSubAgencyResultDTO>>().ok(projectService.getSubAgency(tokenDto));
}
/**
* @Author sun
* @Description 数据-项目-获取机关直属网格项目数据
**/
@PostMapping("subgrid")
public Result<List<ProjectSubGridResultDTO>> subGrid(@LoginUser TokenDto tokenDto) {
return new Result<List<ProjectSubGridResultDTO>>().ok(projectService.getSubGrid(tokenDto));
}
/**
* @Author sun
* @Description 数据-项目-/月数据查询
**/
@PostMapping("incrtrend")
public Result<List<ProjectIncrTrendResultDTO>> incrTrend(@LoginUser TokenDto tokenDto, @RequestBody ProjectIncrTrendFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ProjectIncrTrendFormDTO.ProjectIncr.class);
return new Result<List<ProjectIncrTrendResultDTO>>().ok(projectService.getProjectIncrTrend(tokenDto,formDTO));
}
}

0
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/dao/.gitignore

58
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/dao/ProjectDao.java

@ -0,0 +1,58 @@
package com.epmet.module.project.dao;
import com.epmet.project.dto.FactAgencyProjectDailyDTO;
import com.epmet.project.dto.result.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author sun
* @Description 数据-项目
**/
@Mapper
public interface ProjectDao {
/**
* @Author sun
* @Description 数据-项目-获取汇总数据
**/
ProjectSummaryResultDTO selectProjectSummary(@Param("agencyId") String agencyId);
/**
* @Author sun
* @Description 数据-项目-获取汇总数据
**/
List<ProjectSummaryInfoResultDTO> selectSummaryInfo(@Param("agencyId") String agencyId);
/**
* @Author sun
* @Description 查询组织最近日期的日统计数据
**/
FactAgencyProjectDailyDTO selectAgencyProjectDaily(@Param("agencyId") String agencyId);
/**
* @Author sun
* @Description 数据-项目-获取最近日期下级组织柱状图数据(按项目总量降序)
**/
List<ProjectSubAgencyResultDTO> selectSubAgency(FactAgencyProjectDailyDTO agencyProjectDailyDTO);
/**
* @Author sun
* @Description 查询机关下直属网格最近一天的日统计数据按项目总数降序
**/
List<ProjectSubGridResultDTO> selectSubGrid(FactAgencyProjectDailyDTO agencyProjectDailyDTO);
/**
* @Author sun
* @Description 查询机关日统计近九十天数据
**/
List<ProjectIncrTrendResultDTO> selectIncrTrendDaily(@Param("agencyId") String agencyId);
/**
* @Author sun
* @Description 查询机关月统计近十二个月数据
**/
List<ProjectIncrTrendResultDTO> selectIncrTrendMonthly(@Param("agencyId") String agencyId);
}

0
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/.gitignore

44
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/ProjectService.java

@ -0,0 +1,44 @@
package com.epmet.module.project.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.project.dto.form.ProjectIncrTrendFormDTO;
import com.epmet.project.dto.result.*;
import java.util.List;
/**
* @Author sun
* @Description 数据-项目
**/
public interface ProjectService {
/**
* @Author sun
* @Description 数据-项目-获取汇总数据
**/
ProjectSummaryResultDTO getProjectSummary(TokenDto tokenDto);
/**
* @Author sun
* @Description 数据-项目-获取组织下饼图数据
**/
List<ProjectSummaryInfoResultDTO> getSummaryInfo(TokenDto tokenDto);
/**
* @Author sun
* @Description 数据-项目-获取下级组织柱状图数据
**/
List<ProjectSubAgencyResultDTO> getSubAgency(TokenDto tokenDto);
/**
* @Author sun
* @Description 数据-项目-获取机关直属网格项目数据
**/
List<ProjectSubGridResultDTO> getSubGrid(TokenDto tokenDto);
/**
* @Author sun
* @Description 数据-项目-/月数据查询
**/
List<ProjectIncrTrendResultDTO> getProjectIncrTrend(TokenDto tokenDto, ProjectIncrTrendFormDTO formDTO);
}

150
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/impl/ProjectServiceImpl.java

@ -0,0 +1,150 @@
package com.epmet.module.project.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.module.project.dao.ProjectDao;
import com.epmet.module.project.service.ProjectService;
import com.epmet.project.constant.ProjectConstant;
import com.epmet.project.dto.FactAgencyProjectDailyDTO;
import com.epmet.project.dto.form.ProjectIncrTrendFormDTO;
import com.epmet.project.dto.result.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @Author sun
* @Description 数据-项目
**/
@Service
public class ProjectServiceImpl implements ProjectService {
@Autowired
private ProjectDao projectDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
/**
* @Author sun
* @Description 数据-项目-获取汇总数据
**/
@Override
public ProjectSummaryResultDTO getProjectSummary(TokenDto tokenDto) {
//1:根据token获取agencyId
String agencyId = getLoginUserDetails(tokenDto);
//2:根据agencyId查询项目统计数据
ProjectSummaryResultDTO resultDTO = projectDao.selectProjectSummary(agencyId);
if (null != resultDTO) {
resultDTO.setPendingRatio(resultDTO.getPendingRatio() + "%");
resultDTO.setClosedRatio(resultDTO.getClosedRatio() + "%");
}
return resultDTO;
}
/**
* @Author sun
* @Description 数据-项目-获取组织下饼图数据
**/
@Override
public List<ProjectSummaryInfoResultDTO> getSummaryInfo(TokenDto tokenDto) {
List<ProjectSummaryInfoResultDTO> resultList = new ArrayList<>();
//1:根据token获取agencyId
String agencyId = getLoginUserDetails(tokenDto);
//2:根据agencyId查询各状态统计数据
resultList = projectDao.selectSummaryInfo(agencyId);
if (null != resultList && resultList.size() > NumConstant.ZERO) {
resultList.forEach(sum -> {
sum.setRatio(sum.getRatio() + "%");
});
}
return resultList;
}
/**
* @Author sun
* @Description 数据-项目-获取下级组织柱状图数据
**/
@Override
public List<ProjectSubAgencyResultDTO> getSubAgency(TokenDto tokenDto) {
List<ProjectSubAgencyResultDTO> resultList = new ArrayList<>();
//1:根据token获取agencyId
String agencyId = getLoginUserDetails(tokenDto);
//2:根据机关Id查询最近日期的日统计数据
FactAgencyProjectDailyDTO agencyProjectDailyDTO = projectDao.selectAgencyProjectDaily(agencyId);
if (null == agencyProjectDailyDTO) {
return resultList;
}
//2:获取当前组织最近日期的直属下级组织项目统计数据,按项目总量降序
resultList = projectDao.selectSubAgency(agencyProjectDailyDTO);
return resultList;
}
/**
* @Author sun
* @Description 数据-项目-获取机关直属网格项目数据
**/
@Override
public List<ProjectSubGridResultDTO> getSubGrid(TokenDto tokenDto) {
List<ProjectSubGridResultDTO> resultList = new ArrayList<>();
//1:根据token获取agencyId
String agencyId = getLoginUserDetails(tokenDto);
//2:根据机关Id查询最近日期的日统计数据
FactAgencyProjectDailyDTO agencyProjectDailyDTO = projectDao.selectAgencyProjectDaily(agencyId);
if (null == agencyProjectDailyDTO) {
return resultList;
}
//2:获取当前组织最近日期的直属下级组织项目统计数据,按项目总量降序
resultList = projectDao.selectSubGrid(agencyProjectDailyDTO);
return resultList;
}
/**
* @Author sun
* @Description 数据-项目-/月数据查询(日查询进九十天数据月查询进十二个月数据)
**/
@Override
public List<ProjectIncrTrendResultDTO> getProjectIncrTrend(TokenDto tokenDto, ProjectIncrTrendFormDTO formDTO) {
List<ProjectIncrTrendResultDTO> resultList = new ArrayList<>();
//1:根据token获取agencyId
String agencyId = getLoginUserDetails(tokenDto);
//2:查询机关过去九十天日统计数据(sql降序取前九十条)
if (ProjectConstant.DATE.equals(formDTO.getType())){
resultList = projectDao.selectIncrTrendDaily(agencyId);
}
//3:查询机关过去十二个月月统计数据
if (ProjectConstant.MONTH.equals(formDTO.getType())) {
resultList = projectDao.selectIncrTrendMonthly(agencyId);
}
return null;
}
/**
* @author sun
* @Description 获取机关ID
*/
private String getLoginUserDetails(TokenDto tokenDto) {
LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO();
BeanUtils.copyProperties(tokenDto, dto);
LoginUserDetailsResultDTO data = epmetUserOpenFeignClient.getLoginUserDetails(dto).getData();
String agencyId = data.getAgencyId();
if (null == agencyId || "".equals(agencyId)) {
throw new RenException(ProjectConstant.GET_AGENCYID);
}
return agencyId;
}
}

95
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/controller/PublicityController.java

@ -0,0 +1,95 @@
/**
* 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.epmet.module.publicity.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.module.publicity.service.PublicityService;
import com.epmet.publicity.dto.form.TagFormDTO;
import com.epmet.publicity.dto.result.FactArticlePublishedAgencyDailyDTO;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 文章发布数量机关日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@RestController
@RequestMapping("publicity")
public class PublicityController {
@Autowired
private PublicityService publicityService;//
/**
* @param tokenDTO
* @return
* @Author jyy
* @Description 宣传能力工作端当前机关累计发文和当前发文
**/
@PostMapping("summaryinfo")
public Result<FactArticlePublishedAgencyDailyDTO> summaryInfo(@LoginUser TokenDto tokenDto) {
return new Result<FactArticlePublishedAgencyDailyDTO>().ok(publicityService.summaryInfo(tokenDto));
}
/**
* @param tokenDto
* @Description 宣传能力工作端宣传能力-获取阅读最多的分类数据
* @author jyy
*/
@PostMapping("tagviewed")
public Result<List<FactTagAgencyDTO>> tagviewed(@LoginUser TokenDto tokenDto, @RequestBody TagFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, TagFormDTO.GroupJava.class);
Integer pageSize = formDTO.getPageSize();
if (pageSize == null) {
pageSize = NumConstant.TEN;
}
String type = formDTO.getType();
return new Result<List<FactTagAgencyDTO>>().ok(publicityService.tagviewed(tokenDto, pageSize, type));
}
/**
* @param tokenDto
* @Description 宣传能力工作端宣传能力-获取发表最多的分类数据
* @author jyy
*/
@PostMapping("tagused")
public Result<List<FactTagAgencyDTO>> tagused(@LoginUser TokenDto tokenDto, @RequestBody TagFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, TagFormDTO.GroupJava.class);
Integer pageSize = formDTO.getPageSize();
if (pageSize == null) {
pageSize = NumConstant.TEN;
}
String type = formDTO.getType();
return new Result<List<FactTagAgencyDTO>>().ok(publicityService.tagused(tokenDto, pageSize, type));
}
}

42
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactArticlePublishedAgencyDailyDao.java

@ -0,0 +1,42 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.publicity.dto.result.FactArticlePublishedAgencyDailyDTO;
import com.epmet.entity.FactArticlePublishedAgencyDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 文章发布数量机关日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactArticlePublishedAgencyDailyDao extends BaseDao<FactArticlePublishedAgencyDailyEntity> {
/**
* @Description 宣传能力工作端当前机关累计发文和当前发文
* @param agencyId
* @author jyy
*/
FactArticlePublishedAgencyDailyDTO summaryInfo(@Param("agencyId") String agencyId);
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactArticlePublishedDepartmentDailyDao.java

@ -0,0 +1,33 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.FactArticlePublishedDepartmentDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 文章发布数量部门日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactArticlePublishedDepartmentDailyDao extends BaseDao<FactArticlePublishedDepartmentDailyEntity> {
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactArticlePublishedGridDailyDao.java

@ -0,0 +1,33 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.FactArticlePublishedGridDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 文章发布数量网格日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactArticlePublishedGridDailyDao extends BaseDao<FactArticlePublishedGridDailyEntity> {
}

40
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagUsedAgencyMonthlyDao.java

@ -0,0 +1,40 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章引用标签阅读数量机关月统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagUsedAgencyMonthlyDao {
/**
* @param agencyId monthId
* @Description 根据标签分组获取当月每个标签数量按照数量降序取前pagesize个
* @author zxc
*/
List<FactTagAgencyDTO> getMonthlyCountByTag(@Param("agencyId") String agencyId, @Param("monthId") String monthId, @Param("pageSize") Integer pageSize);
}

40
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagUsedAgencyQuarterlyDao.java

@ -0,0 +1,40 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章引用标签阅读数量机关季度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagUsedAgencyQuarterlyDao {
/**
* @param agencyId monthId
* @Description 根据标签分组获取当月每个标签数量按照数量降序取前pagesize个
* @author zxc
*/
List<FactTagAgencyDTO> getQuarterlyCountByTag(@Param("agencyId") String agencyId, @Param("quarterId") String quarterId, @Param("pageSize") Integer pageSize);
}

40
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagUsedAgencyYearlyDao.java

@ -0,0 +1,40 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章引用标签阅读数量机关年度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagUsedAgencyYearlyDao {
/**
* @param agencyId monthId
* @Description 根据标签分组获取当月每个标签数量按照数量降序取前pagesize个
* @author zxc
*/
List<FactTagAgencyDTO> getYearlyCountByTag(@Param("agencyId") String agencyId, @Param("yearId") String yearId, @Param("pageSize") Integer pageSize);
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyDailyDao.java

@ -0,0 +1,33 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.FactTagViewedAgencyDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 文章引用标签阅读数量机关日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedAgencyDailyDao extends BaseDao<FactTagViewedAgencyDailyEntity> {
}

40
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyMonthlyDao.java

@ -0,0 +1,40 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章引用标签阅读数量机关月统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedAgencyMonthlyDao {
/**
* @param agencyId monthId
* @Description 根据标签分组获取当月每个标签数量按照数量降序取前pagesize个
* @author zxc
*/
List<FactTagAgencyDTO> getMonthlyCountByTag(@Param("agencyId") String agencyId, @Param("monthId") String monthId, @Param("pageSize") Integer pageSize);
}

40
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyQuarterlyDao.java

@ -0,0 +1,40 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章引用标签阅读数量机关季度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedAgencyQuarterlyDao {
/**
* @param agencyId monthId
* @Description 根据标签分组获取当月每个标签数量按照数量降序取前pagesize个
* @author zxc
*/
List<FactTagAgencyDTO> getQuarterlyCountByTag(@Param("agencyId") String agencyId, @Param("quarterId") String quarterId, @Param("pageSize") Integer pageSize);
}

40
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedAgencyYearlyDao.java

@ -0,0 +1,40 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章引用标签阅读数量机关年度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedAgencyYearlyDao {
/**
* @param agencyId monthId
* @Description 根据标签分组获取当月每个标签数量按照数量降序取前pagesize个
* @author zxc
*/
List<FactTagAgencyDTO> getYearlyCountByTag(@Param("agencyId") String agencyId, @Param("yearId") String yearId, @Param("pageSize") Integer pageSize);
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridDailyDao.java

@ -0,0 +1,33 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.FactTagViewedGridDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 文章引用标签阅读数量网格日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedGridDailyDao extends BaseDao<FactTagViewedGridDailyEntity> {
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridMonthlyDao.java

@ -0,0 +1,33 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.FactTagViewedGridMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 文章引用标签阅读数量网格月统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedGridMonthlyDao extends BaseDao<FactTagViewedGridMonthlyEntity> {
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridQuarterlyDao.java

@ -0,0 +1,33 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.FactTagViewedGridQuarterlyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 文章引用标签阅读数量网格季度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedGridQuarterlyDao extends BaseDao<FactTagViewedGridQuarterlyEntity> {
}

33
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/dao/FactTagViewedGridYearlyDao.java

@ -0,0 +1,33 @@
/**
* 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.epmet.module.publicity.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.FactTagViewedGridYearlyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 文章引用标签阅读数量网格年度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Mapper
public interface FactTagViewedGridYearlyDao extends BaseDao<FactTagViewedGridYearlyEntity> {
}

91
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactArticlePublishedAgencyDailyEntity.java

@ -0,0 +1,91 @@
/**
* 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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章发布数量机关日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_article_published_agency_daily")
public class FactArticlePublishedAgencyDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 上级机关ID 上级机关ID
*/
private String pid;
/**
* 机关ID
*/
private String agencyId;
/**
* 文章累计发文数量 文章数量
*/
private Integer articleTotalCount;
/**
* 当前发文数量 当前未下线的文章数量
*/
private Integer articlePublishedCount;
/**
* 日期ID 日期ID
*/
private String dateId;
/**
* 周ID 周ID eg2020W01 = 2020年第一周
*/
private String weekId;
/**
* 月份ID 月份ID eg202006 = 2020年6月2020-07 = 2020年7月
*/
private String monthId;
/**
* 季度ID 季度ID eg2020Q1 = 2020年第一季度2020Q2 = 2020年第二季度2020Q3 = 2020年第三季度2020Q4 = 2020年第四季度
*/
private String quarterId;
/**
* 年度ID 年度ID eg2020 = 2020年2021 = 2021年
*/
private String yearId;
}

91
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactArticlePublishedDepartmentDailyEntity.java

@ -0,0 +1,91 @@
/**
* 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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章发布数量部门日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_article_published_department_daily")
public class FactArticlePublishedDepartmentDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 发布文章单位所属机关ID 发布文章单位所属机关ID
*/
private String agencyId;
/**
* 部门ID
*/
private String departmentId;
/**
* 文章累计发文数量 文章数量
*/
private Integer articleTotalCount;
/**
* 当前发文数量 当前未下线的文章数量
*/
private Integer articlePublishedCount;
/**
* 日期ID 日期ID
*/
private String dateId;
/**
* 周ID 周ID eg2020W01 = 2020年第一周
*/
private String weekId;
/**
* 月份ID 月份ID eg202006 = 2020年6月2020-07 = 2020年7月
*/
private String monthId;
/**
* 季度ID 季度ID eg2020Q1 = 2020年第一季度2020Q2 = 2020年第二季度2020Q3 = 2020年第三季度2020Q4 = 2020年第四季度
*/
private String quarterId;
/**
* 年度ID 年度ID eg2020 = 2020年2021 = 2021年
*/
private String yearId;
}

91
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactArticlePublishedGridDailyEntity.java

@ -0,0 +1,91 @@
/**
* 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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章发布数量网格日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_article_published_grid_daily")
public class FactArticlePublishedGridDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 发布单位所属机关ID 发布单位所属机关ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 文章累计发文数量 文章数量
*/
private Integer articleTotalCount;
/**
* 当前发文数量 当前未下线的文章数量
*/
private Integer articlePublishedCount;
/**
* 日期ID 日期ID
*/
private String dateId;
/**
* 周ID 周ID eg2020W01 = 2020年第一周
*/
private String weekId;
/**
* 月份ID 月份ID eg202006 = 2020年6月2020-07 = 2020年7月
*/
private String monthId;
/**
* 季度ID 季度ID eg2020Q1 = 2020年第一季度2020Q2 = 2020年第二季度2020Q3 = 2020年第三季度2020Q4 = 2020年第四季度
*/
private String quarterId;
/**
* 年度ID 年度ID eg2020 = 2020年2021 = 2021年
*/
private String yearId;
}

96
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyDailyEntity.java

@ -0,0 +1,96 @@
/**
* 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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量机关日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_agency_daily")
public class FactTagViewedAgencyDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 上级机关ID 上级机关ID
*/
private String pid;
/**
* 机关ID
*/
private String agencyId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 日期ID 天数ID eg20200601 = 2020年6月1日20200602 = 2020年6月2日
*/
private String dateId;
/**
* 周ID 周ID eg2020W01 = 2020年第一周
*/
private String weekId;
/**
* 月份ID 月份ID eg202006 = 2020年6月2020-07 = 2020年7月
*/
private String monthId;
/**
* 季度ID 季度ID eg2020Q1 = 2020年第一季度2020Q2 = 2020年第二季度2020Q3 = 2020年第三季度2020Q4 = 2020年第四季度
*/
private String quarterId;
/**
* 年度ID 年度ID eg2020 = 2020年2021 = 2021年
*/
private String yearId;
}

76
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyMonthlyEntity.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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量机关月统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_agency_monthly")
public class FactTagViewedAgencyMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 上级机关ID 上级机关ID
*/
private String pid;
/**
* 机关ID
*/
private String agencyId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 月份ID 月份ID eg2020-06 = 2020年6月2020-07 = 2020年7月
*/
private String monthId;
}

76
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyQuarterlyEntity.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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量机关季度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_agency_quarterly")
public class FactTagViewedAgencyQuarterlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 上级机关ID 上级机关ID
*/
private String pid;
/**
* 机关ID
*/
private String agencyId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 季度ID 季度ID eg2020Q1 = 2020年第一季度2020Q2 = 2020年第二季度2020Q3 = 2020年第三季度2020Q4 = 2020年第四季度
*/
private String quarterId;
}

76
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedAgencyYearlyEntity.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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量机关年度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_agency_yearly")
public class FactTagViewedAgencyYearlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 上级机关ID 上级机关ID
*/
private String pid;
/**
* 机关ID
*/
private String agencyId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 年度ID 年度ID eg2020 = 2020年2021 = 2021年
*/
private String yearId;
}

96
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridDailyEntity.java

@ -0,0 +1,96 @@
/**
* 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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量网格日统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_grid_daily")
public class FactTagViewedGridDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 文章发布所属机关ID 文章发布所属机关ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 日期ID 天数ID eg20200601 = 2020年6月1日20200602 = 2020年6月2日
*/
private String dateId;
/**
* 周ID 周ID eg2020W01 = 2020年第一周
*/
private String weekId;
/**
* 月份ID 月份ID eg202006 = 2020年6月2020-07 = 2020年7月
*/
private String monthId;
/**
* 季度ID 季度ID eg2020Q1 = 2020年第一季度2020Q2 = 2020年第二季度2020Q3 = 2020年第三季度2020Q4 = 2020年第四季度
*/
private String quarterId;
/**
* 年度ID 年度ID eg2020 = 2020年2021 = 2021年
*/
private String yearId;
}

76
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridMonthlyEntity.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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量网格月统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_grid_monthly")
public class FactTagViewedGridMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 文章发布所属机关ID 文章发布所属机关ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 月份ID 月份ID eg2020-06 = 2020年6月2020-07 = 2020年7月
*/
private String monthId;
}

76
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridQuarterlyEntity.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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量网格季度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_grid_quarterly")
public class FactTagViewedGridQuarterlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 文章发布所属机关ID 文章发布所属机关ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 季度ID 季度ID eg2020Q1 = 2020年第一季度2020Q2 = 2020年第二季度2020Q3 = 2020年第三季度2020Q4 = 2020年第四季度
*/
private String quarterId;
}

76
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/entity/FactTagViewedGridYearlyEntity.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.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 文章引用标签阅读数量网格年度统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_tag_viewed_grid_yearly")
public class FactTagViewedGridYearlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID 客户ID
*/
private String customerId;
/**
* 文章发布所属机关ID 文章发布所属机关ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 标签ID 标签ID
*/
private String tagId;
/**
* 标签名称 标签名称
*/
private String tagName;
/**
* 文章引用标签阅读数 文章引用标签阅读数
*/
private Integer tagReadCount;
/**
* 年度ID 年度ID eg2020 = 2020年2021 = 2021年
*/
private String yearId;
}

56
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/service/PublicityService.java

@ -0,0 +1,56 @@
/**
* 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.epmet.module.publicity.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.publicity.dto.result.FactArticlePublishedAgencyDailyDTO;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import java.util.List;
/**
* 文章引用标签阅读数量机关月统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
public interface PublicityService {
/**
* @Description 宣传能力工作端当前机关累计发文和当前发文
* @param tokenDto
* @author jyy
*/
FactArticlePublishedAgencyDailyDTO summaryInfo(TokenDto tokenDto);
/**
* @Description 宣传能力工作端宣传能力-获取阅读最多的分类数据
* @param tokenDto,formDTO
* @author jyy
*/
public List<FactTagAgencyDTO> tagviewed(TokenDto tokenDto, Integer pageSize, String type) ;
/**
* @Description 宣传能力工作端宣传能力-获取发表最多的分类数据
* @param tokenDto,pageSize,type
* @author jyy
*/
public List<FactTagAgencyDTO> tagused(TokenDto tokenDto, Integer pageSize, String type) ;
}

151
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/publicity/service/impl/PublicityServiceImpl.java

@ -0,0 +1,151 @@
/**
* 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.epmet.module.publicity.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.module.publicity.dao.FactArticlePublishedAgencyDailyDao;
import com.epmet.module.publicity.dao.FactTagViewedAgencyMonthlyDao;
import com.epmet.module.publicity.dao.FactTagViewedAgencyQuarterlyDao;
import com.epmet.module.publicity.dao.FactTagViewedAgencyYearlyDao;
import com.epmet.module.publicity.service.PublicityService;
import com.epmet.publicity.dto.result.FactArticlePublishedAgencyDailyDTO;
import com.epmet.publicity.dto.result.FactTagAgencyDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* 文章引用标签阅读数量机关月统计表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-19
*/
@Service
public class PublicityServiceImpl implements PublicityService {
@Autowired
private FactArticlePublishedAgencyDailyDao factArticlePublishedAgencyDailyDao;//机关每日发文
@Autowired
private FactTagViewedAgencyMonthlyDao factTagViewedAgencyMonthlyDao;//机关-每月-阅读
@Autowired
private FactTagViewedAgencyQuarterlyDao factTagViewedAgencyQuarterlyDao;//机关-每季度-阅读
@Autowired
private FactTagViewedAgencyYearlyDao factTagViewedAgencyYearlyDao;//机关-每年-阅读
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
/**
* @param tokenDto
* @Description 宣传能力工作端当前机关累计发文和当前发文
* @author jyy
*/
@Override
public FactArticlePublishedAgencyDailyDTO summaryInfo(TokenDto tokenDto) {
String agencyId = this.getLoginUserDetails(tokenDto);
return factArticlePublishedAgencyDailyDao.summaryInfo(agencyId);
}
/**
* @param tokenDto,formDTO
* @Description 宣传能力工作端宣传能力-获取阅读最多的分类数据
* @author jyy
*/
@Override
public List<FactTagAgencyDTO> tagviewed(TokenDto tokenDto, Integer pageSize, String type) {
// String agencyId = this.getLoginUserDetails(tokenDto);
String agencyId = "0d2ffe9fce682b602b9d451226d08fae";
Date date = new Date();
String strDate = DateUtils.format(date, DateUtils.DATE_PATTERN);
String yearId = strDate.substring(0, 4);
if (StringUtils.equals("month", type)) {//当月
String monthId = strDate.substring(0, 4) + strDate.substring(5, 7);
return factTagViewedAgencyMonthlyDao.getMonthlyCountByTag(agencyId, monthId, pageSize);
} else if (StringUtils.equals("quarter", type)) {//当季
String quarterId = strDate + "Q" + DateUtils.getQuarterIndex(date);
return factTagViewedAgencyQuarterlyDao.getQuarterlyCountByTag(agencyId, quarterId, pageSize);
} else if (StringUtils.equals("year", type)) {//当年
return factTagViewedAgencyYearlyDao.getYearlyCountByTag(agencyId, yearId, pageSize);
} else {
return null;
}
}
/**
* @param tokenDto,pageSize,type
* @Description 宣传能力工作端宣传能力-获取发表最多的分类数据
* @author jyy
*/
@Override
public List<FactTagAgencyDTO> tagused(TokenDto tokenDto, Integer pageSize, String type) {
// String agencyId = this.getLoginUserDetails(tokenDto);
String agencyId = "0d2ffe9fce682b602b9d451226d08fae";
Date date = new Date();
String strDate = DateUtils.format(date, DateUtils.DATE_PATTERN);
String yearId = strDate.substring(0, 4);
if (StringUtils.equals("month", type)) {//当月
String monthId = strDate.substring(0, 4) + strDate.substring(5, 7);
return factTagViewedAgencyMonthlyDao.getMonthlyCountByTag(agencyId, monthId, pageSize);
} else if (StringUtils.equals("quarter", type)) {//当季
String quarterId = strDate + "Q" + DateUtils.getQuarterIndex(date);
return factTagViewedAgencyQuarterlyDao.getQuarterlyCountByTag(agencyId, quarterId, pageSize);
} else if (StringUtils.equals("year", type)) {//当年
return factTagViewedAgencyYearlyDao.getYearlyCountByTag(agencyId, yearId, pageSize);
} else {
return null;
}
}
/**
* @param tokenDto
* @Description 获取机关ID
* @author zxc
*/
public String getLoginUserDetails(TokenDto tokenDto) {
LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO();
BeanUtils.copyProperties(tokenDto, dto);
LoginUserDetailsResultDTO data = epmetUserOpenFeignClient.getLoginUserDetails(dto).getData();
return data.getAgencyId();
}
}

81
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/controller/TopicController.java

@ -0,0 +1,81 @@
package com.epmet.module.topic.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.module.topic.service.TopicService;
import com.epmet.topic.dto.form.TopicIncrTrendFormDTO;
import com.epmet.topic.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Author zxc
* @CreateTime 2020/6/20 15:55
*/
@RestController
@RequestMapping("topic")
public class TopicController {
@Autowired
private TopicService topicService;
/**
* @Description 话题话题总数讨论中话题数量已关闭话题数量已屏蔽话题数量话题已转议题数量数据更新至2020-06-17
* @param tokenDto
* @author zxc
*/
@PostMapping("topicsummary")
public Result<TopicSummaryResultDTO> topicSummary(@LoginUser TokenDto tokenDto){
return new Result<TopicSummaryResultDTO>().ok(topicService.topicSummary(tokenDto));
}
/**
* @Description 话题话题分析
* @param tokenDto
* @param formDTO
* @author zxc
*/
@PostMapping("incrtrend")
public Result<List<TopicIncrTrendResultDTO>> topicIncrTrend(@LoginUser TokenDto tokenDto, @RequestBody TopicIncrTrendFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, TopicIncrTrendFormDTO.TopicIncr.class);
return new Result<List<TopicIncrTrendResultDTO>>().ok(topicService.topicIncrTrend(tokenDto,formDTO));
}
/**
* @Description 话题直属网格话题数
* @param tokenDto
* @author zxc
*/
@PostMapping("subgrid")
public Result<List<TopicSubGridResultDTO>> topicSubGrid(@LoginUser TokenDto tokenDto){
return new Result<List<TopicSubGridResultDTO>>().ok(topicService.topicSubGrid(tokenDto));
}
/**
* @Description 话题下级机关话题数
* @param tokenDto
* @author zxc
*/
@PostMapping("subagency")
public Result<List<TopicSubAgencyResultDTO>> topicSubAgency(@LoginUser TokenDto tokenDto){
return new Result<List<TopicSubAgencyResultDTO>>().ok(topicService.topicSubAgency(tokenDto));
}
/**
* @Description 话题话题分析表
* @param tokenDto
* @author zxc
*/
@PostMapping("summaryinfo")
public Result<List<TopicSummaryInfoResultDTO>> topicSummaryInfo(@LoginUser TokenDto tokenDto){
return new Result<List<TopicSummaryInfoResultDTO>>().ok(topicService.topicSummaryInfo(tokenDto));
}
}

108
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/dao/TopicDao.java

@ -0,0 +1,108 @@
package com.epmet.module.topic.dao;
import com.epmet.group.dto.result.GroupIncrTrendResultDTO;
import com.epmet.topic.dto.result.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author zxc
* @CreateTime 2020/6/20 15:55
*/
@Mapper
public interface TopicDao {
/**
* @Description 获取话题数量及状态
* @param agencyId
* @author zxc
*/
List<TopicStatusResultDTO> getTopicStatus(@Param("agencyId")String agencyId);
/**
* @Description 获取机关下已转议题数量
* @param agencyId
* @author zxc
*/
TopicShiftedCountResultDTO getShiftedCount(@Param("agencyId")String agencyId);
/**
* @Description 获取话题信息状态数量百分比
* @param agencyId
* @author zxc
*/
List<TopicSummaryInfoResultDTO> topicSummaryInfo(@Param("agencyId")String agencyId);
/**
* @Description 根据当前机关判断是否有下级机关
* @param agencyId
* @author zxc
*/
List<String> getSubAgencyIdList(@Param("agencyId")String agencyId);
/**
* @Description 获取最后一天的所有话题数据 fact_topic_status_agency_daily
* @param
* @author zxc
*/
List<TopicSubAgencyResultDTO> getAllTopicInfoLastDay();
/**
* @Description 获取最后一天的所有话题已转议题数据
* @param
* @author zxc
*/
List<TopicSubAgencyResultDTO> getAllTopicShiftedInfoLastDay();
/**
* @Description 校验机关下是否存在直属网格
* @param agencyId
* @author zxc
*/
List<String> getSubGridIdList(@Param("agencyId")String agencyId);
/**
* @Description 获取最后一天的所有话题数据 fact_topic_status_grid_dailygrid
* @param
* @author zxc
*/
List<TopicSubGridResultDTO> getGridAllTopicInfoLastDay();
/**
* @Description 获取最后一天的所有话题已转议题数据grid
* @param
* @author zxc
*/
List<TopicSubGridResultDTO> getGridAllTopicShiftedInfoLastDay();
/**
* @Description 话题日增长
* @param agencyId
* @author zxc
*/
List<TopicIncrTrendResultDTO> getTopicIncrDaily(@Param("agencyId") String agencyId);
/**
* @Description 话题转议题日增长
* @param agencyId
* @author zxc
*/
List<TopicIncrTrendResultDTO> getTopicShiftedIncrDaily(@Param("agencyId") String agencyId);
/**
* @Description 话题月增长
* @param agencyId
* @author zxc
*/
List<TopicIncrTrendResultDTO> getTopicIncrMonthly(@Param("agencyId") String agencyId);
/**
* @Description 话题转议题月增长
* @param agencyId
* @author zxc
*/
List<TopicIncrTrendResultDTO> getTopicShiftedIncrMonthly(@Param("agencyId") String agencyId);
}

51
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/TopicService.java

@ -0,0 +1,51 @@
package com.epmet.module.topic.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.topic.dto.form.TopicIncrTrendFormDTO;
import com.epmet.topic.dto.result.*;
import java.util.List;
/**
* @Author zxc
* @CreateTime 2020/6/20 15:58
*/
public interface TopicService {
/**
* @Description 话题话题总数讨论中话题数量已关闭话题数量已屏蔽话题数量话题已转议题数量数据更新至2020-06-17
* @param tokenDto
* @author zxc
*/
TopicSummaryResultDTO topicSummary(TokenDto tokenDto);
/**
* @Description 话题话题分析
* @param tokenDto
* @param formDTO
* @author zxc
*/
List<TopicIncrTrendResultDTO> topicIncrTrend(TokenDto tokenDto, TopicIncrTrendFormDTO formDTO);
/**
* @Description 话题直属网格话题数
* @param tokenDto
* @author zxc
*/
List<TopicSubGridResultDTO> topicSubGrid( TokenDto tokenDto);
/**
* @Description 话题下级机关话题数
* @param tokenDto
* @author zxc
*/
List<TopicSubAgencyResultDTO> topicSubAgency(TokenDto tokenDto);
/**
* @Description 话题话题分析表
* @param tokenDto
* @author zxc
*/
List<TopicSummaryInfoResultDTO> topicSummaryInfo(TokenDto tokenDto);
}

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

@ -0,0 +1,182 @@
package com.epmet.module.topic.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.module.topic.dao.TopicDao;
import com.epmet.module.topic.service.TopicService;
import com.epmet.topic.constant.TopicConstant;
import com.epmet.topic.dto.form.TopicIncrTrendFormDTO;
import com.epmet.topic.dto.result.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author zxc
* @CreateTime 2020/6/20 15:58
*/
@Service
public class TopicServiceImpl implements TopicService {
@Autowired
private TopicDao topicDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
/**
* @Description 话题话题总数讨论中话题数量已关闭话题数量已屏蔽话题数量话题已转议题数量数据更新至2020-06-17
* @param tokenDto
* @author zxc
*/
@Override
public TopicSummaryResultDTO topicSummary(TokenDto tokenDto) {
TopicSummaryResultDTO result = new TopicSummaryResultDTO();
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicStatusResultDTO> topicStatus = topicDao.getTopicStatus(agencyId);
if (topicStatus.size() != NumConstant.ZERO){
topicStatus.forEach(topic -> {
if (topic.getTopicStatus().equals(TopicConstant.DISCUSSING)){
result.setTalkingTotalCount(topic.getTopicCount());
}else if (topic.getTopicStatus().equals(TopicConstant.CLOSED)){
result.setClosedTotalCount(topic.getTopicCount());
}else {
result.setShieldedTotalCount(topic.getTopicCount());
}
});
result.setTopicTotalCount(topicStatus.stream().collect(Collectors.summingInt(TopicStatusResultDTO::getTopicCount)));
}
TopicShiftedCountResultDTO shiftedCount = topicDao.getShiftedCount(agencyId);
if (shiftedCount != null){
result.setShiftedTotalCount(shiftedCount.getShiftedIssueCount());
result.setDeadline(shiftedCount.getDeadline());
}
return result;
}
/**
* @Description 话题话题分析
* @param tokenDto
* @param formDTO
* @author zxc
*/
@Override
public List<TopicIncrTrendResultDTO> topicIncrTrend(TokenDto tokenDto, TopicIncrTrendFormDTO formDTO) {
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicIncrTrendResultDTO> result = new ArrayList<>();
if (formDTO.getType().equals(TopicConstant.DATE)){
List<TopicIncrTrendResultDTO> topicIncrDaily = topicDao.getTopicIncrDaily(agencyId);
List<TopicIncrTrendResultDTO> topicShiftedIncrDaily = topicDao.getTopicShiftedIncrDaily(agencyId);
topicIncrDaily.addAll(topicShiftedIncrDaily);
result = topicIncrDaily.stream().sorted(Comparator.comparing(TopicIncrTrendResultDTO::getDate).reversed()).collect(Collectors.toList());
}else {
List<TopicIncrTrendResultDTO> topicIncrMonthly = topicDao.getTopicIncrMonthly(agencyId);
List<TopicIncrTrendResultDTO> topicShiftedIncrMonthly = topicDao.getTopicShiftedIncrMonthly(agencyId);
topicIncrMonthly.addAll(topicShiftedIncrMonthly);
result = topicIncrMonthly.stream().sorted(Comparator.comparing(TopicIncrTrendResultDTO::getDate).reversed()).collect(Collectors.toList());
}
return result;
}
/**
* @Description 话题直属网格话题数
* @param tokenDto
* @author zxc
*/
@Override
public List<TopicSubGridResultDTO> topicSubGrid(TokenDto tokenDto) {
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicSubGridResultDTO> result = new ArrayList<>();
List<String> subGridIdList = topicDao.getSubGridIdList(agencyId);
if (subGridIdList.size() != NumConstant.ZERO){
List<TopicSubGridResultDTO> gridAllTopicInfoLastDay = topicDao.getGridAllTopicInfoLastDay();
List<TopicSubGridResultDTO> gridAllTopicShiftedInfoLastDay = topicDao.getGridAllTopicShiftedInfoLastDay();
subGridIdList.forEach(gridId -> {
gridAllTopicInfoLastDay.forEach(gridTopic -> {
if (gridId.equals(gridTopic.getGridId())){
result.add(gridTopic);
}
});
gridAllTopicShiftedInfoLastDay.forEach(gridShift -> {
if (gridId.equals(gridShift.getGridId())){
result.add(gridShift);
}
});
});
return result;
}
return new ArrayList<>();
}
/**
* @Description 话题下级机关话题数
* @param tokenDto
* @author zxc
*/
@Override
public List<TopicSubAgencyResultDTO> topicSubAgency(TokenDto tokenDto) {
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicSubAgencyResultDTO> result = new ArrayList<>();
List<String> subAgencyIdList = topicDao.getSubAgencyIdList(agencyId);
//存在下级机关
if (subAgencyIdList.size() != NumConstant.ZERO){
List<TopicSubAgencyResultDTO> allTopicInfoLastDay = topicDao.getAllTopicInfoLastDay();
List<TopicSubAgencyResultDTO> allTopicShiftedInfoLastDay = topicDao.getAllTopicShiftedInfoLastDay();
//话题状态为 已关闭、讨论中、已屏蔽
subAgencyIdList.forEach(agencyIdOne -> {
allTopicInfoLastDay.forEach(agency -> {
if (agencyIdOne.equals(agency.getAgencyId())){
result.add(agency);
}
});
allTopicShiftedInfoLastDay.forEach(shiftTopic -> {
if (agencyIdOne.equals(shiftTopic.getAgencyId())){
result.add(shiftTopic);
}
});
});
return result;
}
//不存在
return new ArrayList<>();
}
/**
* @Description 话题话题分析表
* @param tokenDto
* @author zxc
*/
@Override
public List<TopicSummaryInfoResultDTO> topicSummaryInfo(TokenDto tokenDto) {
String agencyId = this.getLoginUserDetails(tokenDto);
List<TopicSummaryInfoResultDTO> topicSummaryInfo = topicDao.topicSummaryInfo(agencyId);
TopicShiftedCountResultDTO shiftedCount = topicDao.getShiftedCount(agencyId);
int i = (shiftedCount.getShiftedIssueCount() / topicSummaryInfo.stream().collect(Collectors.summingInt(TopicSummaryInfoResultDTO::getValue))) * NumConstant.ONE_HUNDRED;
String ratio = String.valueOf(i) + TopicConstant.RATIO;
TopicSummaryInfoResultDTO result = new TopicSummaryInfoResultDTO();
result.setName(TopicConstant.SHIFTED);
result.setRatio(ratio);
result.setValue(shiftedCount.getShiftedIssueCount());
topicSummaryInfo.add(result);
return topicSummaryInfo;
}
/**
* @Description 获取机关ID
* @param tokenDto
* @author zxc
*/
public String getLoginUserDetails(TokenDto tokenDto){
LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO();
BeanUtils.copyProperties(tokenDto,dto);
LoginUserDetailsResultDTO data = epmetUserOpenFeignClient.getLoginUserDetails(dto).getData();
return data.getAgencyId();
}
}

88
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/user/controller/UserController.java

@ -0,0 +1,88 @@
package com.epmet.module.user.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.module.user.service.UserService;
import com.epmet.user.form.UserIncrTrendFormDTO;
import com.epmet.user.form.UserSubAgencyFormDTO;
import com.epmet.user.form.UserSubGridFormDTO;
import com.epmet.user.form.UserSummaryInfoFormDTO;
import com.epmet.user.result.UserIncrTrendResultDTO;
import com.epmet.user.result.UserSubAgencyResultDTO;
import com.epmet.user.result.UserSubGridResultDTO;
import com.epmet.user.result.UserSummaryInfoResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 组织能力用户相关接口入口
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 13:22
*/
@RestController
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userService;
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.user.result.UserSummaryInfoResultDTO>
* @author yinzuomei
* @description 用户汇总信息查询
* @Date 2020/6/22 13:27
**/
@PostMapping("summaryinfo")
public Result<UserSummaryInfoResultDTO> summaryInfo(@RequestBody UserSummaryInfoFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
UserSummaryInfoResultDTO userSummaryInfoResultDTO = userService.summaryInfo(formDTO);
return new Result<UserSummaryInfoResultDTO>().ok(userSummaryInfoResultDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.user.result.UserSubAgencyResultDTO>
* @author yinzuomei
* @description 直属机关柱状图查询
* @Date 2020/6/22 13:30
**/
@PostMapping("subagency")
public Result<UserSubAgencyResultDTO> subAgency(@RequestBody UserSubAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
UserSubAgencyResultDTO userSubAgencyResultDTO = userService.subAgency(formDTO);
return new Result<UserSubAgencyResultDTO>().ok(userSubAgencyResultDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.user.result.UserSubGridResultDTO>
* @author yinzuomei
* @description 直属网格柱状图查询
* @Date 2020/6/22 13:33
**/
@PostMapping("subgrid")
public Result<UserSubGridResultDTO> subGrid(@RequestBody UserSubGridFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
UserSubGridResultDTO userSubGridResultDTO = userService.subGrid(formDTO);
return new Result<UserSubGridResultDTO>().ok(userSubGridResultDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.user.result.UserIncrTrendResultDTO>
* @author yinzuomei
* @description 按日按月查询注册用户数参与用户数增量折线图
* @Date 2020/6/22 13:36
**/
@PostMapping("incrtrend")
public Result<UserIncrTrendResultDTO> incrTrend(@RequestBody UserIncrTrendFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
UserIncrTrendResultDTO userIncrTrendResultDTO = userService.incrTrend(formDTO);
return new Result<UserIncrTrendResultDTO>().ok(userIncrTrendResultDTO);
}
}

54
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/user/service/UserService.java

@ -0,0 +1,54 @@
package com.epmet.module.user.service;
import com.epmet.user.form.UserIncrTrendFormDTO;
import com.epmet.user.form.UserSubAgencyFormDTO;
import com.epmet.user.form.UserSubGridFormDTO;
import com.epmet.user.form.UserSummaryInfoFormDTO;
import com.epmet.user.result.UserIncrTrendResultDTO;
import com.epmet.user.result.UserSubAgencyResultDTO;
import com.epmet.user.result.UserSubGridResultDTO;
import com.epmet.user.result.UserSummaryInfoResultDTO;
/**
* 组织能力用户相关接口
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 13:23
*/
public interface UserService {
/**
* @param formDTO
* @return com.epmet.user.result.UserSummaryInfoResultDTO
* @author yinzuomei
* @description 用户汇总信息查询
* @Date 2020/6/22 13:41
**/
UserSummaryInfoResultDTO summaryInfo(UserSummaryInfoFormDTO formDTO);
/**
* @param formDTO
* @return com.epmet.user.result.UserSubAgencyResultDTO
* @author yinzuomei
* @description 直属机关柱状图查询
* @Date 2020/6/22 13:42
**/
UserSubAgencyResultDTO subAgency(UserSubAgencyFormDTO formDTO);
/**
* @param formDTO
* @return com.epmet.user.result.UserSubGridResultDTO
* @author yinzuomei
* @description 直属网格柱状图查询
* @Date 2020/6/22 13:42
**/
UserSubGridResultDTO subGrid(UserSubGridFormDTO formDTO);
/**
* @param formDTO
* @return com.epmet.user.result.UserIncrTrendResultDTO
* @author yinzuomei
* @description 按日按月查询注册用户数参与用户数增量折线图
* @Date 2020/6/22 13:42
**/
UserIncrTrendResultDTO incrTrend(UserIncrTrendFormDTO formDTO);
}

110
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/user/service/impl/UserServiceImpl.java

@ -0,0 +1,110 @@
package com.epmet.module.user.service.impl;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.module.user.service.UserService;
import com.epmet.user.form.UserIncrTrendFormDTO;
import com.epmet.user.form.UserSubAgencyFormDTO;
import com.epmet.user.form.UserSubGridFormDTO;
import com.epmet.user.form.UserSummaryInfoFormDTO;
import com.epmet.user.result.UserIncrTrendResultDTO;
import com.epmet.user.result.UserSubAgencyResultDTO;
import com.epmet.user.result.UserSubGridResultDTO;
import com.epmet.user.result.UserSummaryInfoResultDTO;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 组织能力用户相关接口
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/22 13:23
*/
@Service
public class UserServiceImpl implements UserService {
private static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class);
@Autowired
private LoginUserUtil loginUserUtil;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
/**
* @return java.lang.String
* @param
* @author yinzuomei
* @description 查询当前用户直属机关单位id
* @Date 2020/6/22 14:19
**/
public String getMyAgency(){
LoginUserDetailsFormDTO loginUserDetailsFormDTO=new LoginUserDetailsFormDTO();
loginUserDetailsFormDTO.setApp(loginUserUtil.getLoginUserApp());
loginUserDetailsFormDTO.setClient(loginUserUtil.getLoginUserClient());
loginUserDetailsFormDTO.setUserId(loginUserUtil.getLoginUserId());
Result<LoginUserDetailsResultDTO> result=epmetUserOpenFeignClient.getLoginUserDetails(loginUserDetailsFormDTO);
if(!result.success()){
throw new RenException("查询用户所属组织信息失败");
}
if(result.success()){
if (null == result.getData() || StringUtils.isBlank(result.getData().getAgencyId())) {
throw new RenException("查询用户所属组织信息失败");
}
}
return result.getData().getAgencyId();
}
/**
* @param formDTO
* @return com.epmet.user.result.UserSummaryInfoResultDTO
* @author yinzuomei
* @description 用户汇总信息查询
* @Date 2020/6/22 13:41
**/
@Override
public UserSummaryInfoResultDTO summaryInfo(UserSummaryInfoFormDTO formDTO) {
String myAgencyId=this.getMyAgency();
//TODO
return null;
}
/**
* @param formDTO
* @return com.epmet.user.result.UserSubAgencyResultDTO
* @author yinzuomei
* @description 直属机关柱状图查询
* @Date 2020/6/22 13:42
**/
@Override
public UserSubAgencyResultDTO subAgency(UserSubAgencyFormDTO formDTO) {
return null;
}
/**
* @param formDTO
* @return com.epmet.user.result.UserSubGridResultDTO
* @author yinzuomei
* @description 直属网格柱状图查询
* @Date 2020/6/22 13:42
**/
@Override
public UserSubGridResultDTO subGrid(UserSubGridFormDTO formDTO) {
return null;
}
/**
* @param formDTO
* @return com.epmet.user.result.UserIncrTrendResultDTO
* @author yinzuomei
* @description 按日按月查询注册用户数参与用户数增量折线图
* @Date 2020/6/22 13:42
**/
@Override
public UserIncrTrendResultDTO incrTrend(UserIncrTrendFormDTO formDTO) {
return null;
}
}

164
epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml

@ -0,0 +1,164 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<property name="log.path" value="logs/data-report"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<!-- 日志上下文名称 -->
<contextName>${appname}</contextName>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!--1. 输出到控制台-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
<encoder>
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<!-- 设置字符集 -->
<charset>UTF-8</charset>
</encoder>
</appender>
<!--2. 输出到文档-->
<!-- 2.1 level为 DEBUG 日志,时间滚动输出 -->
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/debug.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志归档 -->
<fileNamePattern>${log.path}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录debug级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>debug</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.2 level为 INFO 日志,时间滚动输出 -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/info.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天日志归档路径以及格式 -->
<fileNamePattern>${log.path}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录info级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.3 level为 WARN 日志,时间滚动输出 -->
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/warn.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录warn级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.4 level为 ERROR 日志,时间滚动输出 -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/error.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录ERROR级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.module.publicity.dao" level="INFO"/>
<logger name="com.epmet.module.publicity.dao" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.module.publicity.dao" level="INFO"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
</configuration>

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

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.module.issue.dao.IssueDao">
<!-- 获取当前机关统计信息-->
<select id="selectAgencyInfo" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
ISSUE_TOTAL,
VOTING_TOTAL,
VOTING_PERCENT,
SHIFT_PROJECT_TOTAL,
SHIFT_PROJECT_PERCENT,
CLOSED_TOTAL,
CLOSED_PERCENT,
MAX(DATE_ID) AS DATE_ID,
DATE_FORMAT(DATE_ID, '%Y.%m.%d') AS DATE_NAME
FROM
fact_issue_agency_daily fiad
WHERE DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
</select>
<!-- 获取下级机关统计信息-->
<select id="selectSubAgencyList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
da.AGENCY_NAME,
ISSUE_TOTAL,
VOTING_TOTAL,
SHIFT_PROJECT_TOTAL,
CLOSED_TOTAL,
MAX(DATE_ID) AS DATE_ID
FROM
fact_issue_agency_daily fiad
INNER JOIN
dim_agency da ON fiad.AGENCY_ID = da.ID
WHERE fiad.DEL_FLAG = '0'
AND PID = #{agencyId}
GROUP BY AGENCY_ID
</select>
<!-- 获取机关下网格统计信息-->
<select id="selectGridList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT GRID_ID,
dg.GRID_NAME,
ISSUE_TOTAL,
VOTING_TOTAL,
SHIFT_PROJECT_TOTAL,
CLOSED_TOTAL,
MAX(DATE_ID) AS DATE_ID
FROM
fact_issue_grid_daily figd
INNER JOIN
dim_grid dg ON figd.GRID_ID = dg.ID
WHERE figd.DEL_FLAG = '0'
AND figd.AGENCY_ID = #{agencyId}
GROUP BY GRID_ID
</select>
<!-- 获取当前机关日增量-->
<select id="selectAgencyIncDailyList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
ISSUE_INCR,
VOTING_INCR,
SHIFT_PROJECT_INCR,
CLOSED_INCR,
DATE_FORMAT(DATE_ID, '%Y/%m/%d')
FROM
fact_issue_agency_daily fiad
WHERE DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
ORDER BY
DATE_ID DESC
LIMIT 90
</select>
<!-- 获取当前机关月增量-->
<select id="selectAgencyIncMonthlyList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
ISSUE_INCR,
VOTING_INCR,
SHIFT_PROJECT_INCR,
CLOSED_INCR,
DATE_FORMAT(STR_TO_DATE(MONTH_ID,'%Y%m'), '%Y/%m') AS MONTH_ID
FROM
fact_issue_agency_monthly fiam
WHERE DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
ORDER BY
MONTH_ID DESC
LIMIT 12
</select>
</mapper>

228
epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml

@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.module.project.dao.ProjectDao">
<select id="selectProjectSummary" resultType="com.epmet.project.dto.result.ProjectSummaryResultDTO">
SELECT
agency_id AS "agencyId",
project_total AS "projectTotal",
DATE_FORMAT(date_id, '%Y.%m.%d') AS "dateName",
pending_total AS "pendingTotal",
CAST(pending_ratio AS DECIMAL (9, 2)) AS "pendingRatio",
closed_total AS "closedTotal",
CAST(closed_ratio AS DECIMAL(9, 2)) AS "closedRatio"
FROM
fact_agency_project_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY date_id DESC
LIMIT 1
</select>
<select id="selectSummaryInfo" resultType="com.epmet.project.dto.result.ProjectSummaryInfoResultDTO">
(
SELECT
"处理中" AS "name",
pending_total AS "value",
CAST(PENDING_RATIO AS DECIMAL (9, 2)) AS "ratio"
FROM
fact_agency_project_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
date_id DESC
LIMIT 1
)
UNION ALL
(
SELECT
"已结案" AS "name",
closed_total AS "value",
CAST(closed_ratio AS DECIMAL(9, 2)) AS "ratio"
FROM
fact_agency_project_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
date_id DESC
LIMIT 1
)
</select>
<select id="selectAgencyProjectDaily" resultType="com.epmet.project.dto.FactAgencyProjectDailyDTO">
SELECT
id,
customer_id,
agency_id,
parent_id,
date_id,
week_id,
month_id,
quarter_id,
year_id
FROM
fact_agency_project_daily fapd
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
date_id DESC
LIMIT 1
</select>
<select id="selectSubAgency" resultType="com.epmet.project.dto.result.ProjectSubAgencyResultDTO">
SELECT
*
FROM (
(
SELECT
da.id AS "agencyId",
da.agency_name AS "name",
fapd.pending_total AS "value",
"处理中" AS "type",
fapd.project_total
FROM
fact_agency_project_daily fapd
LEFT JOIN dim_agency da ON fapd.agency_id = da.id
WHERE
fapd.del_flag = '0'
AND fapd.parent_id = #{agencyId}
AND fapd.date_id = #{dateId}
)
UNION ALL
(
SELECT
da.id AS "agencyId",
da.agency_name AS "name",
fapd.closed_total AS "value",
"已结案" AS "type",
fapd.project_total
FROM
fact_agency_project_daily fapd
LEFT JOIN dim_agency da ON fapd.agency_id = da.id
WHERE
fapd.del_flag = '0'
AND fapd.parent_id = #{agencyId}
AND fapd.date_id = #{dateId}
)
) a
ORDER BY
a.project_total DESC
</select>
<select id="selectSubGrid" resultType="com.epmet.project.dto.result.ProjectSubGridResultDTO">
SELECT
*
FROM (
(
SELECT
da.id AS "agencyId",
da.agency_name AS "name",
fgpd.pending_total AS "value",
"处理中" AS "type",
fgpd.project_total
FROM
fact_grid_project_daily fgpd
LEFT JOIN dim_agency da ON fgpd.agency_id = da.id
WHERE
fgpd.del_flag = '0'
AND fgpd.agency_id = #{agencyId}
AND fgpd.date_id = #{dateId}
)
UNION ALL
(
SELECT
da.id AS "agencyId",
da.agency_name AS "name",
fgpd.closed_total AS "value",
"已结案" AS "type",
fgpd.project_total
FROM
fact_grid_project_daily fgpd
LEFT JOIN dim_agency da ON fgpd.agency_id = da.id
WHERE
fgpd.del_flag = '0'
AND fgpd.agency_id = #{agencyId}
AND fgpd.date_id = #{dateId}
)
) a
ORDER BY
a.project_total DESC
</select>
<select id="selectIncrTrendDaily" resultType="com.epmet.project.dto.result.ProjectIncrTrendResultDTO">
SELECT * FROM(
(
SELECT
DATE_FORMAT(DATE_ID, "%Y/%m/%d") AS "date",
PENDING_INCR AS "value",
"处理中" AS "type"
FROM
fact_agency_project_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
date_id DESC
LIMIT 90
)
UNION ALL
(
SELECT
DATE_FORMAT(DATE_ID, "%Y/%m/%d") AS "date",
CLOSED_INCR AS "value",
"已结案" AS "type"
FROM
fact_agency_project_daily
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
date_id DESC
LIMIT 90
)
) a ORDER BY a.DATE_ID DESC, a.type ASC
</select>
<select id="selectIncrTrendMonthly" resultType="com.epmet.project.dto.result.ProjectIncrTrendResultDTO">
SELECT * FROM(
(
SELECT
DATE_FORMAT(CONCAT(month_id,"00"), "%Y/%m") AS "date",
pending_incr AS "value",
"处理中" AS "type",
month_id
FROM
fact_agency_project_monthly
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
month_id DESC
LIMIT 12
)
UNION ALL
(
SELECT
DATE_FORMAT(CONCAT(month_id,"00"), "%Y/%m") AS "date",
closed_incr AS "value",
"已结案" AS "type",
month_id
FROM
fact_agency_project_monthly
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY
month_id DESC
LIMIT 12
)
)a ORDER BY a.month_id DESC,a.type ASC
</select>
</mapper>

35
epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactArticlePublishedAgencyDailyDao.xml

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.FactArticlePublishedAgencyDailyDao">
<resultMap type="com.epmet.entity.FactArticlePublishedAgencyDailyEntity" id="factArticlePublishedAgencyDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="pid" column="PID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="articleTotalCount" column="ARTICLE_TOTAL_COUNT"/>
<result property="articlePublishedCount" column="ARTICLE_PUBLISHED_COUNT"/>
<result property="dateId" column="DATE_ID"/>
<result property="weekId" column="WEEK_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="quarterId" column="QUARTER_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 机关每日发文:文章累计发文数量、当前发文数量、数据截止日期 -->
<select id="summaryInfo" parameterType="java.lang.String" resultType="com.epmet.publicity.dto.result.FactArticlePublishedAgencyDailyDTO">
SELECT
article_total_count AS publishedTotal,
article_published_count AS publishingTotal,
DATE_FORMAT( date_id, '%Y-%m-%d' ) AS dateName
FROM fact_article_published_agency_daily
AND agency_id = #{agencyId}
</select>
</mapper>

27
epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactArticlePublishedDepartmentDailyDao.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.FactArticlePublishedDepartmentDailyDao">
<resultMap type="com.epmet.entity.FactArticlePublishedDepartmentDailyEntity" id="factArticlePublishedDepartmentDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="departmentId" column="DEPARTMENT_ID"/>
<result property="articleTotalCount" column="ARTICLE_TOTAL_COUNT"/>
<result property="articlePublishedCount" column="ARTICLE_PUBLISHED_COUNT"/>
<result property="dateId" column="DATE_ID"/>
<result property="weekId" column="WEEK_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="quarterId" column="QUARTER_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

27
epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactArticlePublishedGridDailyDao.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.FactArticlePublishedGridDailyDao">
<resultMap type="com.epmet.entity.FactArticlePublishedGridDailyEntity" id="factArticlePublishedGridDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="articleTotalCount" column="ARTICLE_TOTAL_COUNT"/>
<result property="articlePublishedCount" column="ARTICLE_PUBLISHED_COUNT"/>
<result property="dateId" column="DATE_ID"/>
<result property="weekId" column="WEEK_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="quarterId" column="QUARTER_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

20
epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactTagUsedAgencyMonthlyDao.xml

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.module.publicity.dao.FactTagUsedAgencyMonthlyDao">
<select id="getMonthlyCountByTag" resultType="com.epmet.publicity.dto.result.FactTagAgencyDTO">
SELECT
tag_name AS name,
agency_id AS agencyId,
tag_id AS tagId,
COUNT(tag_read_count) AS value
FROM fact_tag_viewed_agency_monthly
where agency_id = #{agencyId}
AND month_id = #{monthId}
GROUP BY TAG_ID
ORDER BY value DESC
LIMIT #{pageSize}
</select>
</mapper>

22
epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactTagUsedAgencyQuarterlyDao.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.module.publicity.dao.FactTagUsedAgencyQuarterlyDao">
<select id="getQuarterlyCountByTag" parameterType="java.lang.String"
resultType="com.epmet.publicity.dto.result.FactTagAgencyDTO">
SELECT
tag_name AS name,
agency_id AS agencyId,
tag_id AS tagId,
COUNT(tag_read_count) AS value
FROM fact_tag_viewed_agency_quarterly
where agency_id = #{agencyId}
AND quarter_id = #{quarterId}
GROUP BY TAG_ID
ORDER BY value DESC
LIMIT #{pageSize}
</select>
</mapper>

23
epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/FactTagUsedAgencyYearlyDao.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.module.publicity.dao.FactTagUsedAgencyYearlyDao">
<select id="getYearlyCountByTag" parameterType="map"
resultType="com.epmet.publicity.dto.result.FactTagAgencyDTO">
SELECT
tag_name AS name,
agency_id AS agencyId,
tag_id AS tagId,
COUNT(tag_read_count) AS value
FROM fact_tag_viewed_agency_yearly
where agency_id = #{agencyId}
AND year_id = #{yearId}
GROUP BY tag_id
ORDER BY value DESC
LIMIT #{pageSize}
</select>
</mapper>

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

Loading…
Cancel
Save