Browse Source

合并master到heart&tag

feature/dangjian
yujintao 6 years ago
parent
commit
1536068b99
  1. 2
      esua-epdc/docker-compose/test/app/admin/docker-compose.yml
  2. 2
      esua-epdc/docker-compose/test/app/analysis/docker-compose.yml
  3. 2
      esua-epdc/docker-compose/test/app/api/docker-compose.yml
  4. 2
      esua-epdc/docker-compose/test/app/auth/docker-compose.yml
  5. 2
      esua-epdc/docker-compose/test/app/custom/docker-compose.yml
  6. 2
      esua-epdc/docker-compose/test/app/events/docker-compose.yml
  7. 2
      esua-epdc/docker-compose/test/app/gateway/docker-compose.yml
  8. 2
      esua-epdc/docker-compose/test/app/group/docker-compose.yml
  9. 2
      esua-epdc/docker-compose/test/app/heart/docker-compose.yml
  10. 2
      esua-epdc/docker-compose/test/app/kpi/docker-compose.yml
  11. 2
      esua-epdc/docker-compose/test/app/message/docker-compose.yml
  12. 2
      esua-epdc/docker-compose/test/app/news/docker-compose.yml
  13. 2
      esua-epdc/docker-compose/test/app/oss/docker-compose.yml
  14. 2
      esua-epdc/docker-compose/test/app/user/docker-compose.yml
  15. 2
      esua-epdc/docker-compose/test/app/webservice/docker-compose.yml
  16. 2
      esua-epdc/docker-compose/test/app/websocket/docker-compose.yml
  17. 20
      esua-epdc/dockerfile/Dockerfile
  18. 141
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisMenuDTO.java
  19. 61
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisRoleMenuDTO.java
  20. 5
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysRoleDTO.java
  21. 6
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java
  22. 1
      esua-epdc/epdc-admin/epdc-admin-server/pom.xml
  23. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppMenuController.java
  24. 132
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisMenuController.java
  25. 94
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisRoleMenuController.java
  26. 10
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java
  27. 10
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AppMenuDao.java
  28. 84
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisMenuDao.java
  29. 50
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisRoleMenuDao.java
  30. 120
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisMenuEntity.java
  31. 63
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisRoleMenuEntity.java
  32. 83
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisMenuExcel.java
  33. 50
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisRoleMenuExcel.java
  34. 47
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisMenuRedis.java
  35. 47
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisRoleMenuRedis.java
  36. 9
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AppMenuService.java
  37. 125
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisMenuService.java
  38. 111
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisRoleMenuService.java
  39. 9
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AppMenuServiceImpl.java
  40. 162
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisMenuServiceImpl.java
  41. 150
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisRoleMenuServiceImpl.java
  42. 7
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java
  43. 1
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml
  44. 39
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppMenuDao.xml
  45. 132
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysAnalysisMenuDao.xml
  46. 21
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysAnalysisRoleMenuDao.xml
  47. 1
      esua-epdc/epdc-auth/pom.xml
  48. 26
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
  49. 146
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java
  50. 127
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserPartyRankDTO.java
  51. 137
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserRegisterRankDTO.java
  52. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java
  53. 81
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java
  54. 1
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java
  55. 9
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java
  56. 55
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java
  57. 104
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java
  58. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserPartyRankController.java
  59. 104
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserRegisterRankController.java
  60. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
  61. 45
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java
  62. 46
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserPartyRankDao.java
  63. 55
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserRegisterRankDao.java
  64. 86
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
  65. 116
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java
  66. 97
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserPartyRankEntity.java
  67. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserRegisterRankEntity.java
  68. 80
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java
  69. 70
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserPartyRankExcel.java
  70. 76
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserRegisterRankExcel.java
  71. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java
  72. 105
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserPartyRankService.java
  73. 105
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserRegisterRankService.java
  74. 44
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
  75. 138
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java
  76. 140
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserPartyRankServiceImpl.java
  77. 147
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserRegisterRankServiceImpl.java
  78. 81
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
  79. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml
  80. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-prod.yml
  81. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-test.yml
  82. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserGridOpiningDao.xml
  83. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserPartyRankDao.xml
  84. 71
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserRegisterRankDao.xml
  85. 301
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
  86. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-client/pom.xml
  87. 9
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateInfoDao.java
  88. 10
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateInfoServiceImpl.java
  89. 12
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateInfoDao.xml
  90. 41
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClint.java
  91. 31
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClintFallback.java
  92. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobUserService.java
  93. 29
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobUserServiceImpl.java
  94. 18
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTask.java
  95. 21
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTaskImpl.java
  96. 4
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java
  97. 17
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java
  98. 31
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java
  99. 20
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyMembersService.java
  100. 41
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java

2
esua-epdc/docker-compose/test/app/admin/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-admin-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-admin-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-admin-server:test
container_name: epdc-admin-server-01
ports:
- 10001:10001

2
esua-epdc/docker-compose/test/app/analysis/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-analysis-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-analysis-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-analysis-server:test
container_name: epdc-analysis-server-01
ports:
- 10003:10003

2
esua-epdc/docker-compose/test/app/api/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-api-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-api-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-api-server:test
container_name: epdc-api-server-01
ports:
- 10004:10004

2
esua-epdc/docker-compose/test/app/auth/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-auth:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-auth:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-auth:test
container_name: epdc-auth-server-01
ports:
- 10002:10002

2
esua-epdc/docker-compose/test/app/custom/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-custom-server-01:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-custom-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-custom-server:test
container_name: epdc-custom-server-01
ports:
- 10005:10005

2
esua-epdc/docker-compose/test/app/events/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-events-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-events-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-events-server:test
container_name: epdc-events-server-01
ports:
- 10006:10006

2
esua-epdc/docker-compose/test/app/gateway/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-gateway:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-gateway:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-gateway:test
container_name: epdc-gateway-server-01
ports:
- 10000:10000

2
esua-epdc/docker-compose/test/app/group/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-group-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-group-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-group-server:test
container_name: epdc-group-server-01
ports:
- 10007:10007

2
esua-epdc/docker-compose/test/app/heart/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-heart-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-heart-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-heart-server:test
container_name: epdc-heart-server-01
ports:
- 10008:10008

2
esua-epdc/docker-compose/test/app/kpi/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-kpi-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-kpi-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-kpi-server:test
container_name: epdc-kpi-server-01
ports:
- 10009:10009

2
esua-epdc/docker-compose/test/app/message/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-message-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-message-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-message-server:test
container_name: epdc-message-server-01
ports:
- 10010:10010

2
esua-epdc/docker-compose/test/app/news/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-news-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-news-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-news-server:test
container_name: epdc-news-server-01
ports:
- 10011:10011

2
esua-epdc/docker-compose/test/app/oss/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-oss-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-oss-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-oss-server:test
container_name: epdc-oss-server-01
ports:
- 10012:10012

2
esua-epdc/docker-compose/test/app/user/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-user-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-user-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-user-server:test
container_name: epdc-user-server-01
ports:
- 10014:10014

2
esua-epdc/docker-compose/test/app/webservice/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-websocket-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-webservice:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-webservice:test
container_name: epdc-webservice-01
ports:
- 10015:10015

2
esua-epdc/docker-compose/test/app/websocket/docker-compose.yml

@ -1,7 +1,7 @@
version: '3.7'
services:
epdc-websocket-server:
image: registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-websocket-server:test
image: registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/epdc-websocket-server:test
container_name: epdc-websocket-server-01
ports:
- 10016:10016

20
esua-epdc/dockerfile/Dockerfile

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

141
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisMenuDTO.java

@ -0,0 +1,141 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
public class SysAnalysisMenuDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@NotNull(message = "{id.require}", groups = UpdateGroup.class)
private Long id;
/**
* 上级ID一级菜单为0
*/
@NotNull(message = "{sysmenu.pid.require}", groups = DefaultGroup.class)
private Long pid;
/**
* 类型 0菜单 1按钮
*/
@Range(min = 0, max = 1, message = "{sysmenu.type.range}", groups = DefaultGroup.class)
private Integer type;
/**
* 菜单图标
*/
private String icon;
/**
* 样式名称
*/
private String className;
/**
* 排序
*/
@Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
private Integer sort;
/**
* 删除标识 0未删除 1删除
*/
private Integer delFlag;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Date createDate;
/**
* 更新者
*/
private Long updater;
/**
* 更新时间
*/
private Date updateDate;
/**
* 菜单编码
*/
private String menuCode;
/**
* 备注
*/
private String remark;
/**
* 子模板ID
*/
private String templateId;
@NotBlank(message = "{sysmenu.name.require}", groups = DefaultGroup.class)
private String name;
/**
* 是否显示数字 0否 1是
*/
private String numFlag;
//虚字段
/**
* 上级菜单名称
*/
private String parentName;
/**
* 模块名称
*/
private String modelname;
}

61
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisRoleMenuDTO.java

@ -0,0 +1,61 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 角色菜单关系
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
public class SysAnalysisRoleMenuDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 角色ID
*/
private Long roleId;
/**
* 菜单ID
*/
private Long menuId;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
private Date createDate;
}

5
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysRoleDTO.java

@ -72,4 +72,9 @@ public class SysRoleDTO implements Serializable {
* app菜单ID列表
*/
private List<Long> appMenuIdList;
/**
* 数据端菜单ID列表
*/
private List<Long> analysisMenuIdList;
}

6
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java

@ -22,7 +22,11 @@ public enum MenuTableEnum {
/**
* 非菜单资源
*/
APP("sys_app_menu");
APP("sys_app_menu"),
/**
* 领导端资源
*/
ANALYSIS("sys_analysis_menu");
private String value;

1
esua-epdc/epdc-admin/epdc-admin-server/pom.xml

@ -137,6 +137,7 @@
<properties>
<server.port>9092</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<docker.tag>dev</docker.tag>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppMenuController.java

@ -27,6 +27,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.excel.AppMenuExcel;
import com.elink.esua.epdc.service.AppMenuService;
@ -126,4 +127,15 @@ public class AppMenuController {
public Result<List<EpdcAppIndexPanelResultDTO>> indexPanel(@PathVariable("mobile") String mobile) {
return appMenuService.indexPanel(mobile);
}
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
* @Author lpf
* @Description 首页面板 获取数据端APP菜单
* @Date 2020/03/18 10:42
**/
@GetMapping("/analysisIndexPanel/{userId}")
public Result<List<EpdcAppChildNavResultDTO>> analysisIndexPanel(@PathVariable("userId") String userId) {
return appMenuService.getAnalysisIndexPanel(userId);
}
}

132
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisMenuController.java

@ -0,0 +1,132 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.excel.*;
import com.elink.esua.epdc.service.SysAnalysisMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@RestController
@RequestMapping("analysismenu")
public class SysAnalysisMenuController {
@Autowired
private SysAnalysisMenuService sysAnalysisMenuService;
/**
* 获取APP菜单列表
*
* @param type 菜单类型 0菜单 1按钮 null全部
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.AppMenuDTO>>
* @author work@yujt.net.cn
* @date 2019/11/19 13:26
*/
@GetMapping("list")
public Result<List<AppMenuDTO>> list(Integer type) {
List<AppMenuDTO> list = sysAnalysisMenuService.getAnalysisMenuList(type);
return new Result<List<AppMenuDTO>>().ok(list);
}
@GetMapping("page")
public Result<PageData<SysAnalysisMenuDTO>> page(@RequestParam Map<String, Object> params){
PageData<SysAnalysisMenuDTO> page = sysAnalysisMenuService.page(params);
return new Result<PageData<SysAnalysisMenuDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<SysAnalysisMenuDTO> get(@PathVariable("id") String id){
SysAnalysisMenuDTO data = sysAnalysisMenuService.get(id);
return new Result<SysAnalysisMenuDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody SysAnalysisMenuDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
sysAnalysisMenuService.save(dto);
return new Result();
}
@GetMapping("select")
public Result<List<AppMenuDTO>> select(UserDetail userDetail) {
List<AppMenuDTO> list = sysAnalysisMenuService.getUserMenuList(userDetail, null);
return new Result<List<AppMenuDTO>>().ok(list);
}
@PutMapping
public Result update(@RequestBody SysAnalysisMenuDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
sysAnalysisMenuService.update(dto);
return new Result();
}
@DeleteMapping("{id}")
public Result delete(@PathVariable("id") Long id){
//效验数据
AssertUtils.isNull(id, "id");
//判断是否有子菜单或按钮
if(sysAnalysisMenuService.hasChileMenu(id)){
return new Result().error(ErrorCode.SUB_MENU_EXIST);
}
sysAnalysisMenuService.delete(id);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<SysAnalysisMenuDTO> list = sysAnalysisMenuService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, SysAnalysisMenuExcel.class);
}
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
* @Author lpf
* @Description 首页面板 获取数据端APP菜单
* @Date 2020/03/18 10:42
**/
@GetMapping("/analysisIndexPanel/{userId}")
public Result<List<EpdcAppChildNavResultDTO>> analysisIndexPanel(@PathVariable("userId") String userId) {
return sysAnalysisMenuService.getAnalysisIndexPanel(userId);
}
}

94
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisRoleMenuController.java

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

10
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java

@ -18,10 +18,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.SysRoleDTO;
import com.elink.esua.epdc.service.AppRoleMenuService;
import com.elink.esua.epdc.service.SysRoleDataScopeService;
import com.elink.esua.epdc.service.SysRoleMenuService;
import com.elink.esua.epdc.service.SysRoleService;
import com.elink.esua.epdc.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@ -52,6 +49,8 @@ public class SysRoleController {
private SysRoleDataScopeService sysRoleDataScopeService;
@Autowired
private AppRoleMenuService appRoleMenuService;
@Autowired
private SysAnalysisRoleMenuService sysAnalysisRoleMenuService;
@GetMapping("page")
@ApiOperation("分页")
@ -92,6 +91,9 @@ public class SysRoleController {
//查询角色对应app菜单权限
List<Long> appMenuIdList = appRoleMenuService.getAppMenuIdList(id);
data.setAppMenuIdList(appMenuIdList);
//查询角色对应数据端菜单权限
List<Long> analysisMenuIdList = sysAnalysisRoleMenuService.getAnalysisMenuIdList(id);
data.setAnalysisMenuIdList(analysisMenuIdList);
return new Result<SysRoleDTO>().ok(data);
}

10
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AppMenuDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import org.apache.ibatis.annotations.Mapper;
@ -78,4 +79,13 @@ public interface AppMenuDao extends BaseDao<AppMenuEntity> {
* @Date 2019/11/20 11:10
**/
List<EpdcAppIndexPanelResultDTO> indexPanelByMobile(String mobile);
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
* @Author lpf
* @Description 首页面板 获取数据端APP菜单
* @Date 2020/03/18 10:42
**/
List<EpdcAppChildNavResultDTO> getAnalysisIndexPanel(String userId);
}

84
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisMenuDao.java

@ -0,0 +1,84 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.SysAnalysisMenuDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import com.elink.esua.epdc.entity.SysAnalysisMenuEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Mapper
public interface SysAnalysisMenuDao extends BaseDao<SysAnalysisMenuEntity> {
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
* @Author lpf
* @Description 首页面板 获取数据端APP菜单
* @Date 2020/03/18 10:42
**/
List<EpdcAppChildNavResultDTO> getAnalysisIndexPanel(String userId);
/**
* 获取菜单详细信息
* @param id
* @return
*/
SysAnalysisMenuDTO selectByIdDIY(@Param("id") String id, @Param("language") String language);
/**
* 查询所有菜单列表
*
* @param type 菜单类型
* @param language 语言
*/
List<AppMenuEntity> getMenuList(@Param("type") Integer type, @Param("language") String language);
/**
* 查询用户菜单列表
*
* @param userId 用户ID
* @param type 菜单类型
* @param language 语言
*/
List<AppMenuEntity> getUserMenuList(@Param("userId") Long userId, @Param("type") Integer type, @Param("language") String language);
/**
* 获取app菜单列表
*
* @param type 菜单类型
* @param language 语言
* @return java.util.List<com.elink.esua.epdc.dto.AppMenuDTO>
* @author work@yujt.net.cn
* @date 2019/11/19 13:43
*/
List<AppMenuDTO> selectListAppMenu(@Param("type") Integer type, @Param("language") String language);
}

50
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisRoleMenuDao.java

@ -0,0 +1,50 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.SysAnalysisRoleMenuEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 角色菜单关系
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Mapper
public interface SysAnalysisRoleMenuDao extends BaseDao<SysAnalysisRoleMenuEntity> {
/**
* 根据角色id删除角色数据权限关系
*
* @param roleId 角色id
*/
void deleteByRoleId(Long roleId);
/**
* 根据角色ID获取菜单ID列表
*
* @param id
* @return
*/
List<Long> getAnalysisMenuIdList(Long id);
}

120
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisMenuEntity.java

@ -0,0 +1,120 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_analysis_menu")
public class SysAnalysisMenuEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 上级ID一级菜单为0
*/
private Long pid;
/**
* 菜单名称
*/
@TableField(exist = false)
private String name;
/**
* 类型 0菜单 1按钮
*/
private Integer type;
/**
* 菜单图标
*/
private String icon;
/**
* 样式名称
*/
private String className;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识 0未删除 1删除
*/
@TableField(fill = FieldFill.INSERT)
private Integer delFlag;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateDate;
/**
* 上级菜单名称
*/
@TableField(exist = false)
private String parentName;
/**
* 菜单编码
*/
private String menuCode;
/**
* 备注
*/
private String remark;
/**
* 子模板ID
*/
private String templateId;
/**
* 是否显示数字 0否 1是
*/
private String numFlag;
}

63
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisRoleMenuEntity.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.elink.esua.epdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 角色菜单关系
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_analysis_role_menu")
public class SysAnalysisRoleMenuEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
private Long roleId;
/**
* 菜单ID
*/
private Long menuId;
/**
* 创建者
*/
private Long creator;
/**
* 创建时间
*/
private Date createDate;
}

83
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisMenuExcel.java

@ -0,0 +1,83 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
public class SysAnalysisMenuExcel {
@Excel(name = "id")
private Long id;
@Excel(name = "上级ID,一级菜单为0")
private Long pid;
@Excel(name = "类型 0:菜单 1:按钮")
private Integer type;
@Excel(name = "模块名称")
private String modelname;
@Excel(name = "菜单图标")
private String icon;
@Excel(name = "样式名称")
private String className;
@Excel(name = "菜单编码(议题管理-待回应:10001,议题管理-待处理:10002,项目管理-待处理:10003,用户管理-待认证居民:10004,消息:10005)")
private String menuCode;
@Excel(name = "模板ID")
private String templateId;
@Excel(name = "是否显示数字 0否 1是")
private String numFlag;
@Excel(name = "排序")
private Integer sort;
@Excel(name = "备注")
private String remark;
@Excel(name = "删除标识 0:未删除 1:删除")
private Integer delFlag;
@Excel(name = "创建者")
private Long creator;
@Excel(name = "创建时间")
private Date createDate;
@Excel(name = "更新者")
private Long updater;
@Excel(name = "更新时间")
private Date updateDate;
}

50
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisRoleMenuExcel.java

@ -0,0 +1,50 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 角色菜单关系
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Data
public class SysAnalysisRoleMenuExcel {
@Excel(name = "id")
private Long id;
@Excel(name = "角色ID")
private Long roleId;
@Excel(name = "菜单ID")
private Long menuId;
@Excel(name = "创建者")
private Long creator;
@Excel(name = "创建时间")
private Date createDate;
}

47
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisMenuRedis.java

@ -0,0 +1,47 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Component
public class SysAnalysisMenuRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

47
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisRoleMenuRedis.java

@ -0,0 +1,47 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 角色菜单关系
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Component
public class SysAnalysisRoleMenuRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

9
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AppMenuService.java

@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
@ -143,4 +144,12 @@ public interface AppMenuService extends BaseService<AppMenuEntity> {
* @Date 2019/11/20 10:42
**/
Result<List<EpdcAppIndexPanelResultDTO>> indexPanel(String mobile);
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
* @Author lpf
* @Description 首页面板 获取数据端APP菜单
* @Date 2020/03/18 10:42
**/
Result<List<EpdcAppChildNavResultDTO>> getAnalysisIndexPanel(String userId);
}

125
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisMenuService.java

@ -0,0 +1,125 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.entity.SysAnalysisMenuEntity;
import com.elink.esua.epdc.dto.*;
import java.util.List;
import java.util.Map;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
public interface SysAnalysisMenuService extends BaseService<SysAnalysisMenuEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<SysAnalysisMenuDTO>
* @author generator
* @date 2020-03-25
*/
PageData<SysAnalysisMenuDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<SysAnalysisMenuDTO>
* @author generator
* @date 2020-03-25
*/
List<SysAnalysisMenuDTO> list(Map<String, Object> params);
/**
* 判断是否有子级菜单
*
* @param id 菜单ID
* @return boolean
* @author work@yujt.net.cn
* @date 2019/11/19 14:30
*/
boolean hasChileMenu(Long id);
List<AppMenuDTO> getAnalysisMenuList(Integer type);
/**
* 单条查询
*
* @param id
* @return SysAnalysisMenuDTO
* @author generator
* @date 2020-03-25
*/
SysAnalysisMenuDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-25
*/
void save(SysAnalysisMenuDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-25
*/
void update(SysAnalysisMenuDTO dto);
/**
* 用户app端菜单列表
*
* @param userDetail 用户信息
* @param type 菜单类型
*/
List<AppMenuDTO> getUserMenuList(UserDetail userDetail, Integer type);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-25
*/
void delete(Long id);
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
* @Author lpf
* @Description 首页面板 获取数据端APP菜单
* @Date 2020/03/18 10:42
**/
Result<List<EpdcAppChildNavResultDTO>> getAnalysisIndexPanel(String userId);
}

111
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisRoleMenuService.java

@ -0,0 +1,111 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.entity.SysAnalysisRoleMenuEntity;
import java.util.List;
import java.util.Map;
/**
* 角色菜单关系
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
public interface SysAnalysisRoleMenuService extends BaseService<SysAnalysisRoleMenuEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<SysAnalysisRoleMenuDTO>
* @author generator
* @date 2020-03-25
*/
PageData<SysAnalysisRoleMenuDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<SysAnalysisRoleMenuDTO>
* @author generator
* @date 2020-03-25
*/
List<SysAnalysisRoleMenuDTO> list(Map<String, Object> params);
/**
* 保存或修改
*
* @param roleId 角色ID
* @param analysisMenuIdList 菜单ID列表
*/
void saveOrUpdate(Long roleId, List<Long> analysisMenuIdList);
/**
* 根据角色id删除角色数据权限关系
*
* @param roleId 角色id
*/
void deleteByRoleId(Long roleId);
/**
* 单条查询
*
* @param id
* @return SysAnalysisRoleMenuDTO
* @author generator
* @date 2020-03-25
*/
SysAnalysisRoleMenuDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-25
*/
void save(SysAnalysisRoleMenuDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-25
*/
void update(SysAnalysisRoleMenuDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-25
*/
void delete(String[] ids);
List<Long> getAnalysisMenuIdList(Long id);
}

9
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AppMenuServiceImpl.java

@ -33,6 +33,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.AppMenuDao;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import com.elink.esua.epdc.enums.MenuTableEnum;
@ -171,6 +172,14 @@ public class AppMenuServiceImpl extends BaseServiceImpl<AppMenuDao, AppMenuEntit
List<EpdcAppIndexPanelResultDTO> indexPanelResultDTOList = this.baseDao.indexPanelByMobile(mobile);
return new Result().ok(indexPanelResultDTOList);
}
@Override
public Result<List<EpdcAppChildNavResultDTO>> getAnalysisIndexPanel(String userId) {
if (StringUtils.isBlank(userId)) {
return new Result().error("用户Id不能为空");
}
List<EpdcAppChildNavResultDTO> list = this.baseDao.getAnalysisIndexPanel(userId);
return new Result().ok(list);
}
}

162
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisMenuServiceImpl.java

@ -0,0 +1,162 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.HttpContextUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.SysAnalysisMenuDao;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import com.elink.esua.epdc.entity.SysAnalysisMenuEntity;
import com.elink.esua.epdc.enums.MenuTableEnum;
import com.elink.esua.epdc.redis.SysAnalysisMenuRedis;
import com.elink.esua.epdc.service.SysAnalysisMenuService;
import com.elink.esua.epdc.service.SysLanguageService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 菜单管理
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Service
public class SysAnalysisMenuServiceImpl extends BaseServiceImpl<SysAnalysisMenuDao, SysAnalysisMenuEntity> implements SysAnalysisMenuService {
@Autowired
private SysAnalysisMenuRedis sysAnalysisMenuRedis;
@Autowired
private SysLanguageService sysLanguageService;
@Override
public PageData<SysAnalysisMenuDTO> page(Map<String, Object> params) {
IPage<SysAnalysisMenuEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, SysAnalysisMenuDTO.class);
}
@Override
public List<SysAnalysisMenuDTO> list(Map<String, Object> params) {
List<SysAnalysisMenuEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, SysAnalysisMenuDTO.class);
}
private QueryWrapper<SysAnalysisMenuEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<SysAnalysisMenuEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public List<AppMenuDTO> getAnalysisMenuList(Integer type) {
List<AppMenuDTO> menuList = baseDao.selectListAppMenu(type, HttpContextUtils.getLanguage());
return TreeUtils.build(menuList, Constant.MENU_ROOT);
}
@Override
public SysAnalysisMenuDTO get(String id) {
SysAnalysisMenuDTO dto = baseDao.selectByIdDIY(id,HttpContextUtils.getLanguage());
return dto;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(SysAnalysisMenuDTO dto) {
SysAnalysisMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisMenuEntity.class);
insert(entity);
sysLanguageService.saveOrUpdate(MenuTableEnum.ANALYSIS.value(), entity.getId(), "name", dto.getName(), HttpContextUtils.getLanguage());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SysAnalysisMenuDTO dto) {
SysAnalysisMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisMenuEntity.class);
updateById(entity);
sysLanguageService.saveOrUpdate(MenuTableEnum.ANALYSIS.value(), entity.getId(), "name", dto.getName(), HttpContextUtils.getLanguage());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(Long id) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteById(id);
}
@Override
public boolean hasChileMenu(Long id) {
QueryWrapper<SysAnalysisMenuEntity> wrapper = new QueryWrapper<>();
wrapper.eq("pid", id)
.eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value());
Integer selectCount = baseDao.selectCount(wrapper);
return selectCount > NumConstant.ZERO;
}
/**
* 用户app端菜单列表
*
* @param userDetail 用户信息
* @param type 菜单类型
*/
@Override
public List<AppMenuDTO> getUserMenuList(UserDetail userDetail, Integer type) {
List<AppMenuEntity> menuList;
//系统管理员,拥有最高权限
if (userDetail.getSuperAdmin() == SuperAdminEnum.YES.value()) {
menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage());
} else {
menuList = baseDao.getUserMenuList(userDetail.getId(), type, HttpContextUtils.getLanguage());
}
List<AppMenuDTO> dtoList = ConvertUtils.sourceToTarget(menuList, AppMenuDTO.class);
return TreeUtils.build(dtoList);
}
@Override
public Result<List<EpdcAppChildNavResultDTO>> getAnalysisIndexPanel(String userId) {
if (StringUtils.isBlank(userId)) {
return new Result().error("用户Id不能为空");
}
List<EpdcAppChildNavResultDTO> list = this.baseDao.getAnalysisIndexPanel(userId);
return new Result().ok(list);
}
}

150
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisRoleMenuServiceImpl.java

@ -0,0 +1,150 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.SysAnalysisRoleMenuDao;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.entity.SysAnalysisRoleMenuEntity;
import com.elink.esua.epdc.redis.SysAnalysisRoleMenuRedis;
import com.elink.esua.epdc.service.SysAnalysisRoleMenuService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 角色菜单关系
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Service
public class SysAnalysisRoleMenuServiceImpl extends BaseServiceImpl<SysAnalysisRoleMenuDao, SysAnalysisRoleMenuEntity> implements SysAnalysisRoleMenuService {
@Autowired
private SysAnalysisRoleMenuRedis sysAnalysisRoleMenuRedis;
@Override
public PageData<SysAnalysisRoleMenuDTO> page(Map<String, Object> params) {
IPage<SysAnalysisRoleMenuEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, SysAnalysisRoleMenuDTO.class);
}
@Override
public List<SysAnalysisRoleMenuDTO> list(Map<String, Object> params) {
List<SysAnalysisRoleMenuEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, SysAnalysisRoleMenuDTO.class);
}
private QueryWrapper<SysAnalysisRoleMenuEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<SysAnalysisRoleMenuEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
/**
* 保存或修改
*
* @param roleId 角色ID
* @param appMenuIdList 菜单ID列表
*/
@Override
public void saveOrUpdate(Long roleId, List<Long> analysisMenuIdList) {
//先删除角色菜单权限关系
deleteByRoleId(roleId);
//角色没有一个菜单权限的情况
if (CollUtil.isEmpty(analysisMenuIdList)) {
return;
}
//保存角色菜单权限关系
for (Long menuId : analysisMenuIdList) {
SysAnalysisRoleMenuEntity appRoleMenuEntity = new SysAnalysisRoleMenuEntity();
appRoleMenuEntity.setMenuId(menuId);
appRoleMenuEntity.setRoleId(roleId);
//保存
insert(appRoleMenuEntity);
}
}
/**
* 根据角色id删除角色数据权限关系
*
* @param roleId 角色id
*/
@Override
public void deleteByRoleId(Long roleId) {
baseDao.deleteByRoleId(roleId);
}
@Override
public SysAnalysisRoleMenuDTO get(String id) {
SysAnalysisRoleMenuEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, SysAnalysisRoleMenuDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(SysAnalysisRoleMenuDTO dto) {
SysAnalysisRoleMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisRoleMenuEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SysAnalysisRoleMenuDTO dto) {
SysAnalysisRoleMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisRoleMenuEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 根据角色ID获取菜单ID列表
*
* @param id
* @return
*/
@Override
public List<Long> getAnalysisMenuIdList(Long id) {
return baseDao.getAnalysisMenuIdList(id);
}
}

7
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java

@ -54,6 +54,8 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
private SysDeptService sysDeptService;
@Autowired
private AppRoleMenuService appRoleMenuService;
@Autowired
private SysAnalysisRoleMenuService sysAnalysisRoleMenuService;
@Override
public PageData<SysRoleDTO> page(Map<String, Object> params) {
@ -121,6 +123,9 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//保存角色与app菜单关系
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
// //更新角色与数据端菜单关系
// sysAnalysisRoleMenuService.saveOrUpdate(entity.getId(), dto.getAnalysisMenuIdList());
}
/**
@ -175,6 +180,8 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//更新角色与app菜单关系
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
//更新角色与数据端菜单关系
sysAnalysisRoleMenuService.saveOrUpdate(entity.getId(), dto.getAnalysisMenuIdList());
}

1
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml

@ -23,7 +23,6 @@ spring:
server-addr: @nacos.server-addr@
register-enabled: @nacos.register-enabled@
ip: @nacos.ip@
namespace: @nacos.namespace@
alibaba:
seata:
tx-service-group: epdc-admin-server-fescar-service-group

39
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppMenuDao.xml

@ -124,4 +124,43 @@
AND m.pid != 0
)order by mp.sort asc,mc.sort asc
</select>
<resultMap id="AnalysisIndexPanelResultDTOMap" type="com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO">
<id column="label" property="label"/>
<result column="navCode" property="navCode"/>
<result column="remark" property="remark"/>
<result column="icon" property="icon"/>
<result column="className" property="className"/>
<result column="numFlag" property="numFlag"/>
</resultMap>
<select id="getAnalysisIndexPanel" resultMap="AnalysisIndexPanelResultDTOMap">
SELECT
lc.field_value AS label,
mc.menu_code AS navCode,
mc.remark,
mc.class_name AS className,
mc.icon,
mc.num_flag as numFlag
FROM
sys_app_menu mp
LEFT JOIN sys_language lp ON lp.table_id = mp.id
LEFT JOIN sys_app_menu mc ON mp.id = mc.pid
LEFT JOIN sys_language lc ON lc.table_id = mc.id
WHERE
mc.id IN (
SELECT
m.id meauId
FROM
sys_user u
LEFT JOIN sys_role_user ru ON ru.user_id = u.id
LEFT JOIN sys_app_role_menu am ON am.role_id = ru.role_id
LEFT JOIN sys_app_menu m ON am.menu_id = m.id and m.del_flag = 0
LEFT JOIN sys_app_menu m1 ON m1.id = m.pid and m1.del_flag = 0
WHERE
u.id =#{userId}
and u.del_flag = 0
and am.menu_id IS NOT NULL
AND m.pid != 0
and m1.menu_code = 10010
)order by mp.sort asc,mc.sort asc
</select>
</mapper>

132
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysAnalysisMenuDao.xml

@ -0,0 +1,132 @@
<?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.elink.esua.epdc.dao.SysAnalysisMenuDao">
<resultMap type="com.elink.esua.epdc.entity.SysAnalysisMenuEntity" id="sysAnalysisMenuMap">
<result property="id" column="id"/>
<result property="pid" column="pid"/>
<result property="type" column="type"/>
<result property="modelname" column="modelName"/>
<result property="icon" column="icon"/>
<result property="className" column="class_name"/>
<result property="menuCode" column="menu_code"/>
<result property="templateId" column="template_id"/>
<result property="numFlag" column="num_flag"/>
<result property="sort" column="sort"/>
<result property="remark" column="remark"/>
<result property="delFlag" column="del_flag"/>
<result property="creator" column="creator"/>
<result property="createDate" column="create_date"/>
<result property="updater" column="updater"/>
<result property="updateDate" column="update_date"/>
</resultMap>
<select id="selectListAppMenu" resultType="com.elink.esua.epdc.dto.AppMenuDTO">
SELECT
m.*,
l.field_value AS `NAME`
FROM
sys_analysis_menu m
LEFT JOIN sys_language l ON m.id = l.table_id AND l.table_name = 'sys_analysis_menu' AND l.field_name = 'name' AND l.LANGUAGE = #{language}
WHERE m.del_flag = 0
<if test="type != null">AND m.type = #{type}</if>
ORDER BY m.sort ASC
</select>
<select id="selectByIdDIY" resultType="com.elink.esua.epdc.dto.SysAnalysisMenuDTO">
SELECT
m.*,
l.field_value AS `NAME`,
ll.field_value as parentName
FROM
sys_analysis_menu m
LEFT JOIN sys_language ll ON m.pid = ll.table_id
LEFT JOIN sys_language l ON m.id = l.table_id AND l.table_name = 'sys_analysis_menu' AND l.field_name = 'name' AND l.LANGUAGE = #{language}
WHERE m.del_flag = 0
AND m.id = #{id}
</select>
<select id="getMenuList" resultType="com.elink.esua.epdc.entity.AppMenuEntity">
select t1.*, (
SELECT
lang.field_value
FROM
sys_language lang
WHERE
lang.table_name = 'sys_analysis_menu'
AND lang.field_name = 'name'
AND lang.table_id = t1.id
AND lang.LANGUAGE = #{language}
) as name
from sys_analysis_menu t1
where t1.del_flag = 0
<if test="type != null">
and t1.type = #{type}
</if>
order by t1.sort asc
</select>
<select id="getUserMenuList" resultType="com.elink.esua.epdc.entity.AppMenuEntity">
select t3.*,(
SELECT
lang.field_value
FROM
sys_language lang
WHERE
lang.table_name = 'sys_analysis_menu'
AND lang.field_name = 'name'
AND lang.table_id = t3.id
AND lang.LANGUAGE = #{language}
) as name
from sys_role_user t1
left join sys_analysis_role_menu t2 on t1.role_id = t2.role_id
left join sys_analysis_menu t3 on t2.menu_id = t3.id
where t1.user_id = #{userId} and t3.del_flag = 0
<if test="type != null">
and t3.type = #{type}
</if>
order by t3.sort asc
</select>
<resultMap id="AnalysisIndexPanelResultDTOMap" type="com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO">
<id column="label" property="label"/>
<result column="navCode" property="navCode"/>
<result column="remark" property="remark"/>
<result column="icon" property="icon"/>
<result column="className" property="className"/>
<result column="numFlag" property="numFlag"/>
</resultMap>
<select id="getAnalysisIndexPanel" resultMap="AnalysisIndexPanelResultDTOMap">
SELECT
lc.field_value AS label,
mc.menu_code AS navCode,
mc.remark,
mc.class_name AS className,
mc.icon,
mc.num_flag as numFlag
FROM
sys_analysis_menu mp
LEFT JOIN sys_language lp ON lp.table_id = mp.id
LEFT JOIN sys_analysis_menu mc ON mp.id = mc.pid
LEFT JOIN sys_language lc ON lc.table_id = mc.id
WHERE
mc.id IN (
SELECT
m.id meauId
FROM
sys_user u
LEFT JOIN sys_role_user ru ON ru.user_id = u.id
LEFT JOIN sys_analysis_role_menu am ON am.role_id = ru.role_id
LEFT JOIN sys_analysis_menu m ON am.menu_id = m.id and m.del_flag = 0
LEFT JOIN sys_analysis_menu m1 ON m1.id = m.pid and m1.del_flag = 0
WHERE
u.id =#{userId}
and u.del_flag = 0
and am.menu_id IS NOT NULL
AND m.pid != 0
and m1.menu_code = 10010
)order by mp.sort asc,mc.sort asc
</select>
</mapper>

21
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysAnalysisRoleMenuDao.xml

@ -0,0 +1,21 @@
<?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.elink.esua.epdc.dao.SysAnalysisRoleMenuDao">
<resultMap type="com.elink.esua.epdc.entity.SysAnalysisRoleMenuEntity" id="sysAnalysisRoleMenuMap">
<result property="id" column="id"/>
<result property="roleId" column="role_id"/>
<result property="menuId" column="menu_id"/>
<result property="creator" column="creator"/>
<result property="createDate" column="create_date"/>
</resultMap>
<delete id="deleteByRoleId">
delete from sys_analysis_role_menu where role_id = #{value}
</delete>
<select id="getAnalysisMenuIdList" resultType="long">
select menu_id from sys_analysis_role_menu where role_id = #{value}
</select>
</mapper>

1
esua-epdc/epdc-auth/pom.xml

@ -106,6 +106,7 @@
<properties>
<server.port>9091</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<docker.tag>dev</docker.tag>
<!-- redis配置 -->
<spring.redis.index>2</spring.redis.index>

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -19,4 +19,5 @@ public interface DataSourceNames {
String NINTH = "ninth";
String TENTH = "tenth";
String ELEVENTH = "eleventh";
String TWELVE = "twelve";
}

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

@ -86,6 +86,12 @@ public class DynamicDataSourceConfig {
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.twelve")
public DataSource twelvethDataSource() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@Primary
public DynamicDataSource dataSource(DataSource firstDataSource, DataSource secondDataSource,
@ -93,7 +99,7 @@ public class DynamicDataSourceConfig {
DataSource fifthDataSource, DataSource sixthDataSource,
DataSource seventhDataSource, DataSource eighthDataSource,
DataSource ninthDataSource, DataSource tenthDataSource,
DataSource eleventhDataSource) {
DataSource eleventhDataSource,DataSource twelvethDataSource) {
Map<Object, Object> targetDataSources = new HashMap<>();
targetDataSources.put(DataSourceNames.FIRST, firstDataSource);
targetDataSources.put(DataSourceNames.SECOND, secondDataSource);
@ -106,6 +112,7 @@ public class DynamicDataSourceConfig {
targetDataSources.put(DataSourceNames.NINTH, ninthDataSource);
targetDataSources.put(DataSourceNames.TENTH, tenthDataSource);
targetDataSources.put(DataSourceNames.ELEVENTH, eleventhDataSource);
targetDataSources.put(DataSourceNames.TWELVE, twelvethDataSource);
return new DynamicDataSource(firstDataSource, targetDataSources);
}
}

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

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

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

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

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

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

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

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

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

@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
@ -12,23 +13,20 @@ import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.excel.ExportOperationDataExcel;
import com.elink.esua.epdc.excel.GridOpiningExcel;
import com.elink.esua.epdc.modules.user.service.OldMemberRankService;
import com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.elink.esua.epdc.excel.PartyAnalysExcel;
import com.elink.esua.epdc.excel.RegisterExcel;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletResponse;
/**
@ -201,4 +199,18 @@ public class UserAnalysisController {
List<GridOpeningResultDTO> list = userAnalysisService.listPageGridOpeningsForExport(params);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, GridOpiningExcel.class);
}
/***
* 运营数据导出
* @param
* @param response
* @return void
* @author qushutong
* @date 2020/3/23 16:36
*/
@PostMapping("export/exportOperationData")
public void exportOperationData(@RequestBody ExportOperationFormDTO exportOperationFormDTO, HttpServletResponse response) throws Exception {
List<ExportOperationDataResultDTO> list = userAnalysisService.listExportOperationCount(exportOperationFormDTO);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, ExportOperationDataExcel.class);
}
}

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

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

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

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

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

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

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

@ -2,6 +2,7 @@ package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elink.esua.epdc.dto.user.UserAnalysisDTO;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
@ -157,4 +158,89 @@ public interface UserAnalysisDao extends BaseMapper<UserAnalysisDTO> {
* @date 2020/3/5 14:10
*/
List<GridOpeningResultDTO> selectListUnAuthorizedCountByGridId(Map<String, Object> params);
/***
* 运营数据导出用户相关
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportUserCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出未认证用户
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportunAuthorizedCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出议题
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportEventCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出项目相关
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportItemCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出新闻
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportNewsCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出社群数
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportGroupCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出社群成员数
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportCommunityMemberCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出社群话题数
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportTopicCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 运营数据导出企业数
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> selectExportEnterpriseCount(ExportOperationFormDTO exportOperationFormDTO);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -2,12 +2,10 @@ package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO;
import com.elink.esua.epdc.dto.user.result.*;
import java.util.List;
import java.util.Map;
@ -88,4 +86,42 @@ public interface UserAnalysisService {
* @date 2020/2/13 14:22
*/
GridDataTotalResultDTO selectGridDataTotal(Map<String, Object> params);
/***
* 运营数据导出用户相关
* @param exportOperationFormDTO
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/23 15:16
*/
List<ExportOperationDataResultDTO> listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO);
/***
* 获取所有网格
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/25 17:22
*/
List<GridOpeningResultDTO> selectListGridHasMaCode(Map<String, Object> params);
/***
* 获取导入数据
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO>
* @author qushutong
* @date 2020/3/25 19:13
*/
List<GridOpeningResultDTO> getToLeadGridOpenings(Map<String, Object> params);
/***
* 获取导入用户排行数据
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO>
* @author qushutong
* @date 2020/3/26 13:32
*/
List<UserDataRankResultDTO> getToLeadUserRegisterRandData(Map<String, Object> params);
}

138
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java

@ -0,0 +1,138 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.LocalDateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.user.MetaUserGridOpiningDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.modules.user.dao.MetaUserGridOpiningDao;
import com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity;
import com.elink.esua.epdc.modules.user.service.MetaUserGridOpiningService;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 网格开通情况
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-25
*/
@Service
public class MetaUserGridOpiningServiceImpl extends BaseServiceImpl<MetaUserGridOpiningDao, MetaUserGridOpiningEntity> implements MetaUserGridOpiningService {
@Autowired
private UserAnalysisService userAnalysisService;
@Override
@DataSource(name = DataSourceNames.TWELVE)
public PageData<MetaUserGridOpiningDTO> page(Map<String, Object> params) {
IPage<MetaUserGridOpiningEntity> page = getPage(params);
List<MetaUserGridOpiningEntity> metaUserGridOpiningEntityList = getMetaUserGridOpiningEntities(params);
return getPageData(metaUserGridOpiningEntityList,page.getTotal(), MetaUserGridOpiningDTO.class);
}
private List<MetaUserGridOpiningEntity> getMetaUserGridOpiningEntities(Map<String, Object> params) {
// 获取所有网格
List<GridOpeningResultDTO> gridOpeningResultDTOS = userAnalysisService.selectListGridHasMaCode(params);
List<String> deptIdList = new ArrayList<>();
for(GridOpeningResultDTO item:gridOpeningResultDTOS){
deptIdList.add(item.getGridId());
}
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
params.put("deptIdList",deptIdList);
String time = (String) params.get("createdTime");
if(StringUtils.isBlank(time)){
String createdTime = format.format(new Date());
params.put("createdTime",createdTime);
}else {
String createdTime = DateUtils.dealDateFormat(time);
params.put("createdTime",createdTime);
}
return baseDao.pageselectListPage(params);
}
@Override
@DataSource(name = DataSourceNames.TWELVE)
public List<MetaUserGridOpiningDTO> list(Map<String, Object> params) {
List<MetaUserGridOpiningEntity> entityList = getMetaUserGridOpiningEntities(params);
return ConvertUtils.sourceToTarget(entityList, MetaUserGridOpiningDTO.class);
}
private QueryWrapper<MetaUserGridOpiningEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<MetaUserGridOpiningEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public MetaUserGridOpiningDTO get(String id) {
MetaUserGridOpiningEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, MetaUserGridOpiningDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(MetaUserGridOpiningDTO dto) {
MetaUserGridOpiningEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserGridOpiningEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(MetaUserGridOpiningDTO dto) {
MetaUserGridOpiningEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserGridOpiningEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@DataSource(name = DataSourceNames.TWELVE)
public Result createUserAnalysisData() {
List<GridOpeningResultDTO> list = userAnalysisService.getToLeadGridOpenings(new HashMap<>());
List<MetaUserGridOpiningEntity> metaUserGridOpiningEntities = ConvertUtils.sourceToTarget(list, MetaUserGridOpiningEntity.class);
boolean b = insertBatch(metaUserGridOpiningEntities);
return b?new Result<>():new Result().error("录入失败");
}
}

140
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserPartyRankServiceImpl.java

@ -0,0 +1,140 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.user.MetaUserPartyRankDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.modules.user.dao.MetaUserPartyRankDao;
import com.elink.esua.epdc.modules.user.entity.MetaUserPartyRankEntity;
import com.elink.esua.epdc.modules.user.service.MetaUserPartyRankService;
import com.elink.esua.epdc.modules.user.service.MetaUserRegisterRankService;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 党员排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Service
public class MetaUserPartyRankServiceImpl extends BaseServiceImpl<MetaUserPartyRankDao, MetaUserPartyRankEntity> implements MetaUserPartyRankService {
@Autowired
private UserAnalysisService userAnalysisService;
@Autowired
private MetaUserRegisterRankServiceImpl metaUserRegisterRankService;
@Override
@DataSource(name = DataSourceNames.TWELVE)
public PageData<MetaUserPartyRankDTO> page(Map<String, Object> params) {
IPage<MetaUserPartyRankEntity> page = getPage(params);
List<MetaUserPartyRankEntity> metaUserRegisterRankEntities = getMetaUserPartyRankEntities(params);
return getPageData(metaUserRegisterRankEntities,page.getTotal(), MetaUserPartyRankDTO.class);
}
private List<MetaUserPartyRankEntity> getMetaUserPartyRankEntities(Map<String, Object> params) {
// 获取权限下的街道id
List<String> streetIdList = metaUserRegisterRankService.getListStreetId();
params.put("streetIdList",streetIdList);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String time = (String) params.get("createdTime");
if(StringUtils.isBlank(time)){
String createdTime = format.format(new Date());
params.put("createdTime",createdTime);
}else {
String createdTime = DateUtils.dealDateFormat(time);
params.put("createdTime",createdTime);
}
return baseDao.selectPagePartyRank(params);
}
@Override
@DataSource(name = DataSourceNames.TWELVE)
public List<MetaUserPartyRankDTO> list(Map<String, Object> params) {
List<MetaUserPartyRankEntity> entityList = getMetaUserPartyRankEntities(params);
return ConvertUtils.sourceToTarget(entityList, MetaUserPartyRankDTO.class);
}
private QueryWrapper<MetaUserPartyRankEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<MetaUserPartyRankEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public MetaUserPartyRankDTO get(String id) {
MetaUserPartyRankEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, MetaUserPartyRankDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(MetaUserPartyRankDTO dto) {
MetaUserPartyRankEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserPartyRankEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(MetaUserPartyRankDTO dto) {
MetaUserPartyRankEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserPartyRankEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@DataSource(name = DataSourceNames.TWELVE)
public Result toLeadPartyRankData() {
// 获取导出数据
Map<String,Object> params = new HashMap<>();
params.put("partyFlag", YesOrNoEnum.YES.value());
List<UserDataRankResultDTO> toLeadUserRegisterRandData = userAnalysisService.getToLeadUserRegisterRandData(params);
List<MetaUserPartyRankEntity> metaUserPartyRankEntities = ConvertUtils.sourceToTarget(toLeadUserRegisterRandData, MetaUserPartyRankEntity.class);
return insertBatch(metaUserPartyRankEntities)? new Result(): new Result().error("导入党员排行失败") ;
}
}

147
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserRegisterRankServiceImpl.java

@ -0,0 +1,147 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.user.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.user.MetaUserRegisterRankDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.modules.user.dao.MetaUserRegisterRankDao;
import com.elink.esua.epdc.modules.user.entity.MetaUserRegisterRankEntity;
import com.elink.esua.epdc.modules.user.service.MetaUserRegisterRankService;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 用户注册排行
*
* @author qu elink@elink-cn.com
* @since v1.0.0 2020-03-26
*/
@Service
public class MetaUserRegisterRankServiceImpl extends BaseServiceImpl<MetaUserRegisterRankDao, MetaUserRegisterRankEntity> implements MetaUserRegisterRankService {
@Autowired
private UserAnalysisService userAnalysisService;
@Override
@DataSource(name = DataSourceNames.TWELVE)
public PageData<MetaUserRegisterRankDTO> page(Map<String, Object> params) {
IPage<MetaUserRegisterRankEntity> page = getPage(params);
List<MetaUserRegisterRankEntity> metaUserRegisterRankEntities = getMetaUserRegisterRankEntities(params);
return getPageData(metaUserRegisterRankEntities,page.getTotal(), MetaUserRegisterRankDTO.class);
}
private List<MetaUserRegisterRankEntity> getMetaUserRegisterRankEntities(Map<String, Object> params) {
// 获取权限下的街道id
List<String> streetIdList = getListStreetId();
params.put("streetIdList",streetIdList);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String time = (String) params.get("createdTime");
if(StringUtils.isBlank(time)){
String createdTime = format.format(new Date());
params.put("createdTime",createdTime);
}else {
String createdTime = DateUtils.dealDateFormat(time);
params.put("createdTime",createdTime);
}
return baseDao.selectPageUserRegisterRank(params);
}
@Override
@DataSource(name = DataSourceNames.TWELVE)
public List<MetaUserRegisterRankDTO> list(Map<String, Object> params) {
List<MetaUserRegisterRankEntity> entityList = getMetaUserRegisterRankEntities(params);
return ConvertUtils.sourceToTarget(entityList, MetaUserRegisterRankDTO.class);
}
private QueryWrapper<MetaUserRegisterRankEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<MetaUserRegisterRankEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public MetaUserRegisterRankDTO get(String id) {
MetaUserRegisterRankEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, MetaUserRegisterRankDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(MetaUserRegisterRankDTO dto) {
MetaUserRegisterRankEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserRegisterRankEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(MetaUserRegisterRankDTO dto) {
MetaUserRegisterRankEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserRegisterRankEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@DataSource(name = DataSourceNames.TWELVE)
public Result toLeadUserRegisterRandData() {
// 获取导出数据
List<UserDataRankResultDTO> toLeadUserRegisterRandData = userAnalysisService.getToLeadUserRegisterRandData(new HashMap<>());
// 导入数据
List<MetaUserRegisterRankEntity> metaUserRegisterRankEntities = ConvertUtils.sourceToTarget(toLeadUserRegisterRandData, MetaUserRegisterRankEntity.class);
return insertBatch(metaUserRegisterRankEntities) ? new Result():new Result().error("导入注册用户排行失败");
}
/***
* 获取当前用户拥有权限的街道id
* @param
* @return java.util.List<java.lang.String>
* @author qushutong
* @date 2020/3/26 16:57
*/
public List<String> getListStreetId() {
Map params = new HashMap();
params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
return baseDao.selectListStreetId(params);
}
}

81
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java

@ -13,6 +13,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.user.UserAnalysisDTO;
import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.*;
@ -23,6 +24,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -51,7 +53,6 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
@Override
public List<GridOpeningResultDTO> listPageGridOpeningsForExport(Map<String, Object> params) {
params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
List<GridOpeningResultDTO> list = baseDao.selectListGridHasMaCode(params);
list = fillFieldForGridOpening(list, params);
@ -139,6 +140,11 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
UserDetail userDetail = SecurityUser.getUser();
params.put("deptIdList", userDetail.getDeptIdList());
IPage<UserDataRankResultDTO> page = getPage(params);
List<UserDataRankResultDTO> list = getListUserDataRankResultDro(params);
return new PageData<>(list, page.getTotal());
}
private List<UserDataRankResultDTO> getListUserDataRankResultDro(Map<String, Object> params) {
List<UserDataRankResultDTO> list = baseDao.selectListUserDataRank(params);
if (CollUtil.isNotEmpty(list)) {
@ -173,7 +179,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
}
}
}
return new PageData<>(list, page.getTotal());
return list;
}
@ -269,6 +275,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
result.setNoticeCount(noticeCount);
result.setEventCount(eventCount);
result.setItemPraiseCount(itemPraiseCount);
result.setItemCloseCount(itemCloseCount);
result.setItemCount(itemCount);
result.setCommunityCount(communityCount);
@ -277,4 +284,74 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
return result;
}
@Override
public List<ExportOperationDataResultDTO> listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO) {
List<Long> allStreetIds = new ArrayList<>();
for (Long[] item : exportOperationFormDTO.getAllDeptIdsShow()) {
allStreetIds.add(item[0]);
}
exportOperationFormDTO.setAllStreetIds(allStreetIds);
//用户相关
List<ExportOperationDataResultDTO> exportOperationDataResultDTOS = baseDao.selectExportUserCount(exportOperationFormDTO);
// 未认证用户
List<ExportOperationDataResultDTO> unAuthorizedResultDTOS = baseDao.selectExportunAuthorizedCount(exportOperationFormDTO);
List<ExportOperationDataResultDTO> newsResultDTOS = baseDao.selectExportNewsCount(exportOperationFormDTO);
// 议题
List<ExportOperationDataResultDTO> eventDataResultDTOS = baseDao.selectExportEventCount(exportOperationFormDTO);
// 项目
List<ExportOperationDataResultDTO> itemDataResultDTOS = baseDao.selectExportItemCount(exportOperationFormDTO);
// 社群
List<ExportOperationDataResultDTO> groupDataResultDTOS = baseDao.selectExportGroupCount(exportOperationFormDTO);
// 社群成员
List<ExportOperationDataResultDTO> communityMemberDataResultDTOS = baseDao.selectExportCommunityMemberCount(exportOperationFormDTO);
// 话题
List<ExportOperationDataResultDTO> topicDataResultDTOS = baseDao.selectExportTopicCount(exportOperationFormDTO);
// 企业
List<ExportOperationDataResultDTO> enterpriseDataResultDTOS = baseDao.selectExportEnterpriseCount(exportOperationFormDTO);
//居民数
for (int i = 0; i < exportOperationDataResultDTOS.size(); i++) {
for (ExportOperationDataResultDTO item : unAuthorizedResultDTOS) {
if (exportOperationDataResultDTOS.get(i).getStreetName().equals(item.getStreetName())) {
exportOperationDataResultDTOS.get(i).setRegisterCount(exportOperationDataResultDTOS.get(i).getRegisterCount() + item.getUnAuthorizedCount());
} else {
exportOperationDataResultDTOS.get(i).setRegisterCount(exportOperationDataResultDTOS.get(i).getRegisterCount());
}
}
exportOperationDataResultDTOS.get(i).setNewsCount(newsResultDTOS.get(i).getNewsCount());
exportOperationDataResultDTOS.get(i).setItemCount(itemDataResultDTOS.get(i).getItemCount());
exportOperationDataResultDTOS.get(i).setItemCloseCount(itemDataResultDTOS.get(i).getItemCloseCount());
exportOperationDataResultDTOS.get(i).setEventCount(eventDataResultDTOS.get(i).getEventCount());
exportOperationDataResultDTOS.get(i).setCommunityCount(groupDataResultDTOS.get(i).getCommunityCount());
exportOperationDataResultDTOS.get(i).setCommunityMemberCount(communityMemberDataResultDTOS.get(i).getCommunityMemberCount());
exportOperationDataResultDTOS.get(i).setCommunityTopicCount(topicDataResultDTOS.get(i).getCommunityTopicCount());
exportOperationDataResultDTOS.get(i).setEnterpriseCount(enterpriseDataResultDTOS.get(i).getEnterpriseCount());
}
return exportOperationDataResultDTOS;
}
@Override
public List<GridOpeningResultDTO> selectListGridHasMaCode(Map<String, Object> params) {
params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
params.put("category", YesOrNoEnum.YES.value());
return baseDao.selectListGridHasMaCode(params);
}
@Override
public List<GridOpeningResultDTO> getToLeadGridOpenings(Map<String, Object> params) {
params.put("category", YesOrNoEnum.YES.value());
List<GridOpeningResultDTO> list = baseDao.selectListGridHasMaCode(params);
list = fillFieldForGridOpening(list, params);
return list;
}
@Override
public List<UserDataRankResultDTO> getToLeadUserRegisterRandData(Map<String, Object> params) {
return getListUserDataRankResultDro(params);
}
}

4
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml

@ -47,6 +47,10 @@ spring:
url: jdbc:mysql://47.104.224.45:3308/esua_epdc_user?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: epdc
password: elink833066
twelve: #数据源12
url: jdbc:mysql://47.104.224.45:3308/esua_epdc_analysis?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: epdc
password: elink833066
initial-size: 10
max-active: 100
min-idle: 10

4
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-prod.yml

@ -46,6 +46,10 @@ spring:
url: jdbc:mysql://172.16.0.52:3306/esua_epdc_user?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: epdc
password: Elink@833066
twelve: #数据源12
url: jdbc:mysql://172.16.0.52:3306/esua_epdc_analysis?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: epdc
password: Elink@833066
initial-size: 10
max-active: 100
min-idle: 10

4
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-test.yml

@ -47,6 +47,10 @@ spring:
url: jdbc:mysql://47.104.224.45:3308/esua_epdc_user?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: epdc
password: elink833066
twelve: #数据源12
url: jdbc:mysql://47.104.224.45:3308/esua_epdc_analysis?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: epdc
password: elink833066
initial-size: 10
max-active: 100
min-idle: 10

48
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserGridOpiningDao.xml

@ -0,0 +1,48 @@
<?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.elink.esua.epdc.modules.user.dao.MetaUserGridOpiningDao">
<resultMap type="com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity" id="metaUserGridOpiningMap">
<result property="id" column="ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="registerCount" column="REGISTER_COUNT"/>
<result property="partyCount" column="PARTY_COUNT"/>
<result property="residentCount" column="RESIDENT_COUNT"/>
<result property="unAuthorizedCount" column="UN_AUTHORIZED_COUNT"/>
<result property="newsCount" column="NEWS_COUNT"/>
<result property="communityCount" column="COMMUNITY_COUNT"/>
<result property="communityMemberCount" column="COMMUNITY_MEMBER_COUNT"/>
<result property="communityTopicCount" column="COMMUNITY_TOPIC_COUNT"/>
<result property="eventCount" column="EVENT_COUNT"/>
<result property="itemCount" column="ITEM_COUNT"/>
<result property="itemCloseCount" column="ITEM_CLOSE_COUNT"/>
<result property="itemPraiseCount" column="ITEM_PRAISE_COUNT"/>
<result property="allDeptName" column="ALL_DEPT_NAME"/>
<result property="gridLeader" column="GRID_LEADER"/>
<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="pageselectListPage" resultMap="metaUserGridOpiningMap">
SELECT
*
FROM
meta_epdc_user_grid_opining op
WHERE
del_flag = '0'
<if test="deptIdList!=null and deptIdList.size()>0">
and op.GRID_ID in
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
<if test="createdTime!=null and createdTime != ''">
and op.CREATED_TIME like concat('%', #{createdTime}, '%')
</if>
</select>
</mapper>

48
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserPartyRankDao.xml

@ -0,0 +1,48 @@
<?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.elink.esua.epdc.modules.user.dao.MetaUserPartyRankDao">
<resultMap type="com.elink.esua.epdc.modules.user.entity.MetaUserPartyRankEntity" id="metaUserPartyRankMap">
<result property="id" column="ID"/>
<result property="streetId" column="STREET_ID"/>
<result property="streetName" column="STREET_NAME"/>
<result property="partyMemberCount" column="PARTY_MEMBER_COUNT"/>
<result property="oldCount" column="OLD_COUNT"/>
<result property="oldPercent" column="OLD_PERCENT"/>
<result property="youngCount" column="YOUNG_COUNT"/>
<result property="youngPercent" column="YOUNG_PERCENT"/>
<result property="maleCount" column="MALE_COUNT"/>
<result property="femaleCount" column="FEMALE_COUNT"/>
<result property="unknownSexCount" column="UNKNOWN_SEX_COUNT"/>
<result property="partyAuthFailureCount" column="PARTY_AUTH_FAILURE_COUNT"/>
<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="selectPagePartyRank" resultMap="metaUserPartyRankMap">
SELECT
*
FROM
meta_epdc_user_party_rank pr
WHERE
del_flag = '0'
<if test="streetId!=null and streetId != ''">
and pr.STREET_ID = #{streetId}
</if>
<if test="createdTime!=null and createdTime != ''">
and pr.CREATED_TIME like concat('%', #{createdTime}, '%')
</if>
<if test="streetIdList!=null and streetIdList.size()>0">
and pr.STREET_ID in
<foreach collection="streetIdList" index="index" item="streetId" open="(" separator="," close=")">
#{streetId}
</foreach>
</if>
</select>
</mapper>

71
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserRegisterRankDao.xml

@ -0,0 +1,71 @@
<?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.elink.esua.epdc.modules.user.dao.MetaUserRegisterRankDao">
<resultMap type="com.elink.esua.epdc.modules.user.entity.MetaUserRegisterRankEntity" id="metaUserRegisterRankMap">
<result property="id" column="ID"/>
<result property="streetId" column="STREET_ID"/>
<result property="streetName" column="STREET_NAME"/>
<result property="userCount" column="USER_COUNT"/>
<result property="partyMemberCount" column="PARTY_MEMBER_COUNT"/>
<result property="residentCount" column="RESIDENT_COUNT"/>
<result property="unAuthorizedCount" column="UN_AUTHORIZED_COUNT"/>
<result property="oldCount" column="OLD_COUNT"/>
<result property="oldPercent" column="OLD_PERCENT"/>
<result property="youngCount" column="YOUNG_COUNT"/>
<result property="youngPercent" column="YOUNG_PERCENT"/>
<result property="maleCount" column="MALE_COUNT"/>
<result property="femaleCount" column="FEMALE_COUNT"/>
<result property="unknownSexCount" column="UNKNOWN_SEX_COUNT"/>
<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="selectPageUserRegisterRank" resultMap="metaUserRegisterRankMap">
SELECT
*
FROM
meta_epdc_user_register_rank rr
WHERE
del_flag = '0'
<if test="streetId!=null and streetId != ''">
and rr.STREET_ID = #{streetId}
</if>
<if test="createdTime!=null and createdTime != ''">
and rr.CREATED_TIME like concat('%', #{createdTime}, '%')
</if>
<if test="streetIdList!=null and streetIdList.size()>0">
and rr.STREET_ID in
<foreach collection="streetIdList" index="index" item="streetId" open="(" separator="," close=")">
#{streetId}
</foreach>
</if>
</select>
<select id="selectListStreetId" resultType="String">
SELECT
ad2.id streetId
FROM
esua_epdc_user.epdc_user uu
LEFT JOIN esua_epdc_admin.sys_dept ad ON uu.DEPT_ID = ad.ID
AND ad.type_key = 'grid_party'
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad1.id = ad.pid
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad2.id = ad1.pid
WHERE
uu.DEL_FLAG = '0'
<if test="deptIdList!=null and deptIdList.size()>0">
and ad2.ID in
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
AND ad.id IS NOT NULL
AND ad2.id IS NOT NULL
GROUP BY
ad2.id
</select>
</mapper>

301
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

@ -44,6 +44,7 @@
<if test="startTime != null and endTime != null and endTime != ''">
AND uu.CREATED_TIME BETWEEN #{startTime} AND #{endTime}
</if>
AND ad2.id is NOT NULL
AND ad.id IS NOT NULL
) t GROUP BY t.streetId
) t1
@ -430,4 +431,304 @@
) t GROUP BY t.userId
) tt GROUP BY tt.gridId
</select>
<!--运营导出数据相关-->
<select id="selectExportUserCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO" parameterType="com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO">
SELECT
t0.`name` streetName,
count(uu.PARTY_FLAG = '0'OR NULL)AS registerCount,
count(uu.PARTY_FLAG = '1'OR NULL) AS partyCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_user.epdc_user uu ON find_in_set(t0.id, uu.ALL_DEPT_IDS)
AND uu.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND uu.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and uu.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<select id="selectExportunAuthorizedCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT t1.`name` streetName ,COUNT(t1.ID) unAuthorizedCount FROM (SELECT
uu.ID,t0.`name`
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_user.epdc_user_grid_relation ug ON find_in_set(t0.id, ug.ALL_DEPT_IDS)
LEFT JOIN esua_epdc_user.epdc_user uu ON uu.STATE = '0' AND ug.USER_ID=uu.ID
AND uu.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND uu.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and uu.CREATED_TIME &lt;=#{endTime}
</if>
WHERE uu.ID is NOT NULL
GROUP BY
ug.USER_ID,t0.id
ORDER BY
ug.CREATED_TIME ASC) t1
GROUP BY t1.`name`
</select>
<!--新闻-->
<select id="selectExportNewsCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(un.ID) newsCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_news.epdc_news un ON find_in_set(t0.id, un.ALL_DEPT_IDS)
AND un.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND un.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and un.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--议题-->
<select id="selectExportEventCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(epen.ID) eventCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_events epen ON find_in_set(t0.id, epen.ALL_DEPT_IDS)
AND epen.DEL_FLAG = '0'
AND epen.EVENT_STATE = '4'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epen.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epen.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--项目相关-->
<select id="selectExportItemCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(epen.ID) itemCount,
COUNT(epen.ITEM_STATE = '10' OR NULL) itemCloseCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_events.epdc_item epen ON find_in_set(t0.id, epen.ALL_DEPT_IDS)
AND epen.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epen.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epen.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--社群数-->
<select id="selectExportGroupCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(epgr.ID) communityCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON find_in_set(t0.id, epgr.ALL_DEPT_IDS)
AND epgr.DEL_FLAG = '0'
AND (
epgr.STATE = '10'
OR epgr.STATE = '15'
)
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epgr.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epgr.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--社群成员数-->
<select id="selectExportCommunityMemberCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(ug.ID) communityMemberCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON find_in_set(t0.id, epgr.ALL_DEPT_IDS)
AND epgr.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epgr.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epgr.CREATED_TIME &lt;=#{endTime}
</if>
AND (
epgr.STATE = '10'
OR epgr.STATE = '15'
)
LEFT JOIN esua_epdc_group.epdc_user_group ug ON epgr.id = ug.group_id
AND ug.DEL_FLAG = '0'
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--社群话题数-->
<select id="selectExportTopicCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
COUNT(ug.ID) communityTopicCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_group.epdc_group epgr ON find_in_set(t0.id, epgr.ALL_DEPT_IDS)
AND epgr.DEL_FLAG = '0'
AND (
epgr.STATE = '10'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND epgr.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and epgr.CREATED_TIME &lt;=#{endTime}
</if>
OR epgr.STATE = '15'
)
LEFT JOIN esua_epdc_group.epdc_topic ug ON epgr.id = ug.group_id
AND ug.DEL_FLAG = '0'
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<select id="selectExportEnterpriseCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
SELECT
t0.`name` streetName,
count(uu.ID) enterpriseCount
FROM
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_custom.epdc_enterprise_info uu ON find_in_set(t0.id,uu.ALL_DEPT_IDS)
AND uu.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND uu.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and uu.CREATED_TIME &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC
</select>
<!--循环街道id集合-->
<sql id="foreachAllDeptIdsShow">
<foreach collection="allStreetIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</sql>
</mapper>

10
esua-epdc/epdc-module/epdc-api/epdc-api-client/pom.xml

@ -28,11 +28,6 @@
<artifactId>epdc-heart-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-neighbor-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-news-client</artifactId>
@ -43,11 +38,6 @@
<artifactId>epdc-events-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-services-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-user-client</artifactId>

9
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateInfoDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.evaluate.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.evaluate.EvaluateSelectOption;
import com.elink.esua.epdc.dto.evaluate.form.EvaluateSubmitFormDTO;
import com.elink.esua.epdc.dto.evaluate.result.EvaluateInfoResultDTO;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateInfoEntity;
import org.apache.ibatis.annotations.Mapper;
@ -47,5 +48,13 @@ public interface EvaluateInfoDao extends BaseDao<EvaluateInfoEntity> {
void deleteEvaluate(@Param("id")String id);
void UpdateOfficerCount(@Param("id")String id, @Param("type")String type);
/**
* 校验评价次数
* @param formDto
* @author wanggongfeng
* @return
*/
Integer checkEvaluateTimes(EvaluateSubmitFormDTO formDto);
}

10
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateInfoServiceImpl.java

@ -20,17 +20,14 @@ package com.elink.esua.epdc.modules.evaluate.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.evaluate.EvaluateDetailDTO;
import com.elink.esua.epdc.dto.evaluate.EvaluateInfoDTO;
import com.elink.esua.epdc.dto.evaluate.EvaluateOfficerDTO;
import com.elink.esua.epdc.dto.evaluate.EvaluateSelectOption;
import com.elink.esua.epdc.dto.evaluate.form.EvaluateSubmitFormDTO;
import com.elink.esua.epdc.dto.evaluate.result.EvaluateDeptCountResultDTO;
import com.elink.esua.epdc.dto.evaluate.result.EvaluateInfoResultDTO;
import com.elink.esua.epdc.modules.evaluate.dao.EvaluateInfoDao;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateInfoEntity;
@ -123,6 +120,11 @@ public class EvaluateInfoServiceImpl extends BaseServiceImpl<EvaluateInfoDao, Ev
@Transactional(rollbackFor = Exception.class)
public Result evaluateSubmit(EvaluateSubmitFormDTO formDto) {
try {
// 校验提交人当天是否已经评价过某干部
Integer times = baseDao.checkEvaluateTimes(formDto);
if (times > 0) {
return new Result().error("今天已评价过该干部。");
}
EvaluateInfoDTO dto = new EvaluateInfoDTO();
dto.setFullName(formDto.getFullName());
dto.setMobile(formDto.getMobile());

12
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateInfoDao.xml

@ -105,5 +105,17 @@
where ID = #{id} and DEL_FLAG = '0'
</update>
<select id="checkEvaluateTimes" resultType="int">
select
count(*) num
from epdc_evaluate_info eei
where
eei.DEL_FLAG = '0'
and DATE_FORMAT( SYSDATE(), '%Y-%m-%d' ) = DATE_FORMAT( eei.CREATED_TIME, '%Y-%m-%d' )
and eei.FULL_NAME = #{fullName}
and eei.OFFICER_ID = #{officerId}
and eei.ROLE_CODE = #{roleCode}
</select>
</mapper>

41
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClint.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.fallback.UserFeignClintFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
/**
* @author: qushutong
* @Date: 2020/3/25 10:20
* @Description: 用户数据分析
*/
@FeignClient(name = ServiceConstant.EPDC_ANALYSIS_SERVER, fallback = UserFeignClintFallback.class)
public interface UserFeignClint {
/***
* 生成用户分析数据导入临时表
* @param
* @return void
* @author qushutong
* @date 2020/3/25 10:19
*/
@GetMapping("analysis/metausergridopining/tolead")
Result createUserAnalysisData();
/***
* 用户注册排行导入数据
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2020/3/26 17:45
*/
@GetMapping("analysis/metauserregisterrank/toLeadUserRegisterRandData")
Result toLeadUserRegisterRandData();
@GetMapping("analysis/metauserpartyrank/toLeadPartyRankData")
Result toLeadPartyRankData();
}

31
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClintFallback.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.UserFeignClint;
import org.springframework.stereotype.Component;
/**
* @author: qushutong
* @Date: 2020/3/25 10:22
* @Description: 用户数据分析
*/
@Component
public class UserFeignClintFallback implements UserFeignClint {
@Override
public Result createUserAnalysisData() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "createUserAnalysisData", "");
}
@Override
public Result toLeadUserRegisterRandData() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "toLeadUserRegisterRandData", "");
}
@Override
public Result toLeadPartyRankData() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "toLeadPartyRankData", "");
}
}

19
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobUserService.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.service;
/**
* @author: qushutong
* @Date: 2020/3/25 10:18
* @Description: 用户数据分析
*/
public interface ScheduleJobUserService {
/***
* 生成用户分析数据导入临时表
* @param
* @return void
* @author qushutong
* @date 2020/3/25 10:19
*/
void createUserAnalysisData();
}

29
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobUserServiceImpl.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.feign.UserFeignClint;
import com.elink.esua.epdc.service.ScheduleJobUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
* @author: qushutong
* @Date: 2020/3/25 10:15
* @Description: 用户数据数据分析
*/
@Component
public class ScheduleJobUserServiceImpl implements ScheduleJobUserService {
@Autowired
private UserFeignClint userFeignClint;
@Override
public void createUserAnalysisData() {
// 网格开通
userFeignClint.createUserAnalysisData();
// 用户注册
userFeignClint.toLeadUserRegisterRandData();
// 党员排行绑
userFeignClint.toLeadPartyRankData();
}
}

18
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTask.java

@ -0,0 +1,18 @@
package com.elink.esua.epdc.task.analysis;
/**
* @author: qushutong
* @Date: 2020/3/25 10:04
* @Description: 用户分析
*/
public interface UserAnalysisTask {
/***
* 网格开通情况
* @param
* @return void
* @author qushutong
* @date 2020/3/25 10:11
*/
void run(String params);
}

21
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTaskImpl.java

@ -0,0 +1,21 @@
package com.elink.esua.epdc.task.analysis;
import com.elink.esua.epdc.service.ScheduleJobUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author: qushutong
* @Date: 2020/3/25 10:12
* @Description:
*/
@Component("UserAnalysisTask")
public class UserAnalysisTaskImpl implements UserAnalysisTask {
@Autowired
private ScheduleJobUserService scheduleJobUserService;
@Override
public void run(String params) {
scheduleJobUserService.createUserAnalysisData();
}
}

4
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java

@ -157,7 +157,7 @@ public class OssController {
String suffix = suffixTmp.substring(11, suffixTmp.indexOf(";"));
byte[] bytes = new BASE64Decoder().decodeBuffer(base64ImgArr[1]);
// 图片压缩
byte[] imgBytes = CompressImgUtils.commpressPicCycle(bytes, 100, 0.5);
byte[] imgBytes = CompressImgUtils.commpressPicCycle(bytes, 110, 0.9);
String url = OssFactory.build().uploadSuffix(imgBytes, suffix);
return new Result<String>().ok(url);
}
@ -169,7 +169,7 @@ public class OssController {
return new Result().error(ModuleErrorCode.UPLOAD_FILE_EMPTY);
}
// 图片压缩
byte[] imgBytes = CompressImgUtils.commpressPicCycle(fileByte, 100, 0.5);
byte[] imgBytes = CompressImgUtils.commpressPicCycle(fileByte, 110, 0.9);
//上传文件
String extension = FilenameUtils.getExtension(dto.getFileName());
String url = OssFactory.build().uploadSuffix(imgBytes, extension);

17
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java

@ -112,10 +112,7 @@ public class PartyMembersController {
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
partyMembersService.delete(ids);
return new Result();
return partyMembersService.delete(ids);
}
@GetMapping("export")
@ -166,5 +163,17 @@ public class PartyMembersController {
ExcelUtils.exportExcelToTarget(response, "已认证党员", partyMembersService.exportHasMoudle(params), PartyMembersExcel.class);
}
/***
* 已认证党员优化
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.PartyMembersDTO>>
* @author qushutong
* @date 2020/3/19 13:34
*/
@GetMapping("optimizeHasAuthenticationPartyPage")
@DataFilter(tableAlias = "eu", prefix = "AND", isPendingCreator = false)
public Result<PageData<PartyMembersDTO>> optimizeHasAuthenticationPartyPage(@RequestParam Map<String, Object> params) {
return partyMembersService.optimizeHasAuthenticationPartyPage(params);
}
}

31
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java

@ -21,6 +21,8 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.PartyMembersDTO;
import com.elink.esua.epdc.entity.PartyMembersEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PathVariable;
import java.io.Serializable;
import java.util.List;
@ -62,4 +64,33 @@ public interface PartyMembersDao extends BaseDao<PartyMembersEntity> {
* @since 2020/3/7 1:20
*/
void updateGridByDeptId(String newDeptName, Long deptId);
/***
* 已认证党员查询优化
* @param
* @return java.util.List<java.lang.String>
* @author qushutong
* @date 2020/3/19 13:32
*/
List<String> optimizeHasAuthenticationPartyPage(Map<String, Object> params);
/***
* 已认证党员查询优化
* @param
* @return java.util.List<com.elink.esua.epdc.dto.PartyMembersDTO>
* @author qushutong
* @date 2020/3/19 13:33
*/
List<PartyMembersDTO> optimizeHasAuthenticationPartyPageInfo(@Param("userIdList") List<String> userIdList);
/***
* 删除时校验党员是否被认证
* @param IdentityNo
* @return
* @author qushutong
* @date 2020/3/20 9:21
*/
Integer selectCountByIdentity(String IdentityNo);
}

20
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyMembersService.java

@ -52,7 +52,7 @@ public interface PartyMembersService extends BaseService<PartyMembersEntity> {
void update(PartyMembersDTO dto);
void delete(String[] ids);
Result delete(String[] ids);
/***
@ -111,4 +111,22 @@ public interface PartyMembersService extends BaseService<PartyMembersEntity> {
* @since 2020/3/7 1:23
*/
void modifyOrganizationInfo(OrganizationModifyDTO dto);
/***
* 已认证党员优化
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.PartyMembersDTO>>
* @author qushutong
* @date 2020/3/19 13:36
*/
Result<PageData<PartyMembersDTO>> optimizeHasAuthenticationPartyPage(Map<String, Object> params);
/***
* 通过身份证校验此党员是否被认证
* @param IdentityNo
* @return java.lang.Integer
* @author qushutong
* @date 2020/3/20 9:10
*/
Integer checkCertificationByIdentityNo(String IdentityNo);
}

41
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java

@ -145,7 +145,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
* 将必要的查询参数进行trim
*
* @param params 查询参数
* @return java.util.Map<java.lang.String, java.lang.Object>
* @return java.util.Map<java.lang.String , java.lang.Object>
* @author work@yujt.net.cn
* @date 2020/2/24 16:43
*/
@ -252,12 +252,19 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
public Result delete(String[] ids) {
//逻辑删除
//logicDelete(ids, PartyMembersEntity.class);
//物理删除
baseDao.deleteBatchIds(Arrays.asList(ids));
// 删除之前校验此党员是否被认证
PartyMembersEntity partyMembersEntity = selectById(ids[0]);
Integer integer = checkCertificationByIdentityNo(partyMembersEntity.getIdentityNo());
if (integer != 0) {
throw new RenException("此党员已被认证不允许删除");
} else {
//物理删除
baseDao.deleteBatchIds(Arrays.asList(ids));
}
return new Result();
}
public void saveList(List<PartyMembersExcel> partyList) {
@ -459,18 +466,18 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
}
/**
*
* 组织机构信息处理
*
* @params [dto, partyList]
* @return java.util.List<com.elink.esua.epdc.entity.PartyMembersEntity>
* @params [dto, partyList]
* @author liuchuang
* @since 2020/3/7 15:17
*/
private List<PartyMembersEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<PartyMembersDTO> partyList) {
List<PartyMembersEntity> entities = new ArrayList<>();
for (PartyMembersDTO party: partyList) {
for (PartyMembersDTO party : partyList) {
PartyMembersEntity entity = new PartyMembersEntity();
if (StringUtils.isNotEmpty(party.getParentDeptIds()) && StringUtils.isNotEmpty(party.getParentDeptNames())) {
List<String> parentDeptIds = Arrays.asList(party.getParentDeptIds().split(","));
@ -499,4 +506,22 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
return entities;
}
@Override
public Result<PageData<PartyMembersDTO>> optimizeHasAuthenticationPartyPage(Map<String, Object> params) {
IPage<String> page = getPage(params);
List<String> userIds = baseDao.optimizeHasAuthenticationPartyPage(params);
if (userIds.size() > 0) {
List<PartyMembersDTO> partyMembersDTOList = baseDao.optimizeHasAuthenticationPartyPageInfo(userIds);
return new Result<PageData<PartyMembersDTO>>().ok(new PageData<>(partyMembersDTOList, page.getTotal()));
} else {
return new Result<PageData<PartyMembersDTO>>().ok(new PageData<>(new ArrayList<>(), NumConstant.ZERO));
}
}
@Override
public Integer checkCertificationByIdentityNo(String IdentityNo) {
return baseDao.selectCountByIdentity(IdentityNo);
}
}

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

Loading…
Cancel
Save