Browse Source

Merge remote-tracking branch 'origin/master' into feature/workRcord_ossModify

feature/dangjian
李鹏飞 6 years ago
parent
commit
591b378af5
  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. 1
      esua-epdc/epdc-admin/epdc-admin-server/pom.xml
  19. 1
      esua-epdc/epdc-auth/pom.xml
  20. 26
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
  21. 146
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java
  22. 127
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserPartyRankDTO.java
  23. 137
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserRegisterRankDTO.java
  24. 1
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java
  25. 9
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java
  26. 104
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java
  27. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserPartyRankController.java
  28. 104
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserRegisterRankController.java
  29. 2
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
  30. 45
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java
  31. 46
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserPartyRankDao.java
  32. 55
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserRegisterRankDao.java
  33. 116
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java
  34. 97
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserPartyRankEntity.java
  35. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserRegisterRankEntity.java
  36. 80
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java
  37. 70
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserPartyRankExcel.java
  38. 76
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserRegisterRankExcel.java
  39. 107
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java
  40. 105
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserPartyRankService.java
  41. 105
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserRegisterRankService.java
  42. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
  43. 138
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java
  44. 140
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserPartyRankServiceImpl.java
  45. 147
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserRegisterRankServiceImpl.java
  46. 42
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
  47. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml
  48. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-prod.yml
  49. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-test.yml
  50. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserGridOpiningDao.xml
  51. 48
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserPartyRankDao.xml
  52. 71
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserRegisterRankDao.xml
  53. 1
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
  54. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-client/pom.xml
  55. 35
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  56. 41
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClint.java
  57. 31
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClintFallback.java
  58. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobUserService.java
  59. 29
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobUserServiceImpl.java
  60. 18
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTask.java
  61. 21
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTaskImpl.java
  62. 57
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMemberModifyFormDTO.java
  63. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java
  64. 85
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
  65. 22
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  66. 57
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  67. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
  68. 204
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  69. 82
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
  70. 8
      esua-epdc/pom.xml

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}

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>

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

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

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();
}
}

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

@ -209,7 +209,7 @@ public class UserAnalysisController {
* @date 2020/3/23 16:36
*/
@PostMapping("export/exportOperationData")
public void exportOperationData(@RequestBody ExportOperationFormDTO exportOperationFormDTO, HttpServletResponse response) throws Exception{
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);
}

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();
}

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

@ -88,7 +88,6 @@ public interface UserAnalysisService {
GridDataTotalResultDTO selectGridDataTotal(Map<String, Object> params);
/***
* 运营数据导出用户相关
* @param exportOperationFormDTO
@ -97,4 +96,32 @@ public interface UserAnalysisService {
* @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);
}
}

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

@ -53,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);
@ -141,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)) {
@ -175,7 +179,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
}
}
}
return new PageData<>(list, page.getTotal());
return list;
}
@ -284,7 +288,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
@Override
public List<ExportOperationDataResultDTO> listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO) {
List<Long> allStreetIds = new ArrayList<>();
for(Long[] item : exportOperationFormDTO.getAllDeptIdsShow()){
for (Long[] item : exportOperationFormDTO.getAllDeptIdsShow()) {
allStreetIds.add(item[0]);
}
exportOperationFormDTO.setAllStreetIds(allStreetIds);
@ -308,11 +312,11 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
// 企业
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 {
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());
}
}
@ -328,4 +332,26 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
}
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>

1
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

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>

35
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

@ -152,25 +152,40 @@
LEFT JOIN epdc_item_handle_process hp ON item.ID = hp.ITEM_ID
AND hp.DEL_FLAG = '0'
AND hp.CREATED_TIME = ( SELECT MAX( a.CREATED_TIME ) FROM epdc_item_handle_process a WHERE a.DEL_FLAG = '0' AND a.ITEM_ID = hp.ITEM_ID )
LEFT JOIN epdc_item_dept dept ON item.Id = dept.ITEM_ID AND dept.DEL_FLAG = '0'
WHERE
item.DEL_FLAG = '0'
<if test="formDto.timestamp != null">
<![CDATA[ AND DATE_FORMAT(item.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{formDto.timestamp}
</if>
AND dept.DEPT_ID IN
item.ID IN (
SELECT
tmp.ITEM_ID
FROM
(
SELECT DISTINCT
d.ITEM_ID
FROM
epdc_item_dept d
LEFT JOIN epdc_item it ON d.ITEM_ID = it.ID
WHERE
d.DEL_FLAG = '0'
AND it.DEL_FLAG = '0'
AND d.DEPT_ID IN
<foreach item="deptIdItem" collection="deptIdList" open="(" separator="," close=")">
#{deptIdItem}
</foreach>
<if test='formDto.deptId != null and formDto.deptId != ""'>
AND dept.DEPT_ID = #{formDto.deptId}
<if test="formDto.timestamp != null">
<![CDATA[ AND DATE_FORMAT(it.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{formDto.timestamp}
</if>
<if test='formDto.itemState != null '>
AND item.ITEM_STATE = #{formDto.itemState}
AND it.ITEM_STATE = #{formDto.itemState}
</if>
<if test='formDto.deptId != null and formDto.deptId != ""'>
AND d.DEPT_ID = #{formDto.deptId}
</if>
ORDER BY
item.CREATED_TIME DESC
it.CREATED_TIME DESC
LIMIT #{formDto.pageIndex},#{formDto.pageSize}
) tmp
)
ORDER BY
item.CREATED_TIME DESC
</select>
<select id="selectListItemsOfMine" resultMap="itemsMap">

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();
}
}

57
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMemberModifyFormDTO.java

@ -0,0 +1,57 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2020/3/24 19:39
*/
@Data
public class PartyMemberModifyFormDTO implements Serializable {
/**
* 用户ID
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
/**
* 用户状态
*/
private String state;
/**
* 党员标识
*/
private String partyFlag;
/**
* 备注
*/
private String remark;
/**
* 真实姓名
*/
@NotBlank(message = "姓名不能为空")
private String realName;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
@NotBlank(message = "身份证号不能为空")
private String identityNo;
/**
* 党员ID
*/
private String partyMemberId;
}

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

@ -82,7 +82,7 @@ public class PartyMembersController {
@GetMapping("{id}")
public Result<PartyMembersDTO> get(@PathVariable("id") String id) {
PartyMembersDTO data = partyMembersService.get(id);
if (data.getTagIds() != null) {
if (null != data && data.getTagIds() != null) {
data.setTagIdsNew(data.getTagIds().split(","));
}
return new Result<PartyMembersDTO>().ok(data);

85
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java

@ -26,10 +26,12 @@ 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.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.PartyMemberModifyFormDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.enums.AppUserStatesEnum;
import com.elink.esua.epdc.excel.UserExcel;
import com.elink.esua.epdc.service.UserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -58,6 +60,22 @@ public class UserController {
return new Result<PageData<UserDTO>>().ok(page);
}
/**
*
* 待认证党员列表
*
* @params [params]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.UserDTO>>
* @author liuchuang
* @since 2020/3/24 15:47
*/
@GetMapping("waitPartyPage")
@DataFilter(tableAlias = "u", isPendingCreator = false, deptId = "DEPT_ID", prefix = "AND")
public Result<PageData<UserDTO>> waitPartyPage(@RequestParam Map<String, Object> params) {
PageData<UserDTO> page = userService.waitPartyPage(params);
return new Result<PageData<UserDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<UserDTO> get(@PathVariable("id") String id) {
UserDTO data = userService.get(id);
@ -101,6 +119,57 @@ public class UserController {
return new Result();
}
/**
*
* 党员认证
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/3/24 15:58
*/
@PostMapping("partyReview")
public Result partyReview(@RequestBody UserDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
return userService.partyReview(dto);
}
/**
*
* 党员认证通过并更新党员库信息
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/3/24 19:38
*/
@PostMapping("updatePartyInfo")
public Result updatePartyInfo(@RequestBody PartyMemberModifyFormDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
if (StringUtils.isEmpty(dto.getPartyMemberId())) {
return new Result().error("党员ID不能为空");
}
return userService.modifyPartyInfo(dto);
}
/**
*
* 新增党员信息并认证通过
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/3/25 14:31
*/
@PostMapping("insertPartyInfo")
public Result insertPartyInfo(@RequestBody PartyMemberModifyFormDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
return userService.addPartyInfo(dto);
}
@DeleteMapping
public Result delete(@RequestBody String[] ids) {
//效验数据
@ -130,6 +199,22 @@ public class UserController {
ExcelUtils.exportExcelToTarget(response, fileName, list, UserExcel.class);
}
/**
*
* 待认证党员导出
*
* @params [params, response]
* @return void
* @author liuchuang
* @since 2020/3/24 16:00
*/
@GetMapping("exportWaitParty")
@DataFilter(tableAlias = "u", isPendingCreator = false, deptId = "DEPT_ID", prefix = "AND")
public void exportWaitParty(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<UserDTO> list = userService.listOfWaitParty(params);
ExcelUtils.exportExcelToTarget(response, "待认证党员", list, UserExcel.class);
}
/***
* 未认证导出
* @param params

22
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java

@ -99,6 +99,17 @@ public interface UserDao extends BaseDao<UserEntity> {
*/
List<UserDTO> selectListUserDto(Map<String, Object> params);
/**
*
* 待认证党员
*
* @params [params]
* @return java.util.List<com.elink.esua.epdc.dto.UserDTO>
* @author liuchuang
* @since 2020/3/23 15:59
*/
List<UserDTO> selectListOfWaitPartyUserDto(Map<String, Object> params);
/**
* 获取居民详情已认证或待认证提交信息待审核的居民用户
*
@ -199,4 +210,15 @@ public interface UserDao extends BaseDao<UserEntity> {
*/
List<UserDTO> selectAuthenticatedListUserDto(Map<String, Object> params);
/**
*
* 待认证居民
*
* @params [params]
* @return java.util.List<com.elink.esua.epdc.dto.UserDTO>
* @author liuchuang
* @since 2020/4/1 18:26
*/
List<UserDTO> selectWaitAuthenticatedListUserDto(Map<String, Object> params);
}

57
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -20,6 +20,8 @@ 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.utils.Result;
import com.elink.esua.epdc.dto.PartyMemberModifyFormDTO;
import com.elink.esua.epdc.dto.PartyMembersDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
@ -48,8 +50,30 @@ public interface UserService extends BaseService<UserEntity> {
PageData<UserDTO> page(Map<String, Object> params);
/**
*
* 待认证党员列表
*
* @params [params]
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.UserDTO>
* @author liuchuang
* @since 2020/3/23 15:57
*/
PageData<UserDTO> waitPartyPage(Map<String, Object> params);
List<UserDTO> list(Map<String, Object> params);
/**
*
* 待认证党员导出
*
* @params [params]
* @return java.util.List<com.elink.esua.epdc.dto.UserDTO>
* @author liuchuang
* @since 2020/3/23 16:25
*/
List<UserDTO> listOfWaitParty(Map<String, Object> params);
UserDTO get(String id);
void save(UserDTO dto);
@ -60,6 +84,39 @@ public interface UserService extends BaseService<UserEntity> {
void audit(UserDTO dto);
/**
*
* 党员认证
*
* @params [dto]
* @return void
* @author liuchuang
* @since 2020/3/23 17:56
*/
Result<List<PartyMembersDTO>> partyReview(UserDTO dto);
/**
*
* 党员认证通过并更新党员库信息
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/3/24 19:46
*/
Result modifyPartyInfo(PartyMemberModifyFormDTO dto);
/**
*
* 新增党员信息并认证通过
*
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/3/25 14:33
*/
Result addPartyInfo(PartyMemberModifyFormDTO dto);
/**
* 根据用户微信openId获取用户信息
*

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

@ -169,7 +169,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
@DataSource(value = DataSourceNames.FIRST)
public PartyMembersDTO get(String id) {
PartyMembersDTO partyMembersDTO = baseDao.selectByIdNew(id);
if (partyMembersDTO.getDeptStrIds() != null) {
if (null != partyMembersDTO && partyMembersDTO.getDeptStrIds() != null) {
String depts[] = partyMembersDTO.getDeptStrIds().split(",");
partyMembersDTO.setAllDeptIds(depts);
}

204
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -42,13 +42,11 @@ import com.elink.esua.epdc.dao.PartyMembersDao;
import com.elink.esua.epdc.dao.UserAuthenticateHistoryDao;
import com.elink.esua.epdc.dao.UserDao;
import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.UserCarInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
@ -126,6 +124,14 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new PageData<>(userDtoList, iPage.getTotal());
}
@Override
public PageData<UserDTO> waitPartyPage(Map<String, Object> params) {
this.verifyParams(params);
IPage<UserDTO> iPage = this.getPage(params);
List<UserDTO> userDtoList = this.baseDao.selectListOfWaitPartyUserDto(params);
return new PageData<>(userDtoList, iPage.getTotal());
}
@Override
public List<UserDTO> list(Map<String, Object> params) {
this.verifyParams(params);
@ -137,6 +143,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
}
}
@Override
public List<UserDTO> listOfWaitParty(Map<String, Object> params) {
this.verifyParams(params);
return this.baseDao.selectListOfWaitPartyUserDto(params);
}
private Map<String, Object> verifyParams(Map<String, Object> params) {
String[] paramKeys = new String[]{"realName", "identityNo", "nickname", FieldConstant.MOBILE_HUMP};
@ -203,6 +215,81 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<List<PartyMembersDTO>> partyReview(UserDTO dto) {
this.verifyUserInfo(dto);
UserEntity findUser = this.baseDao.selectById(dto.getId());
dto.setState(NumConstant.THREE_STR);
// 手动认证为党员
if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) {
// 校验是党员库是否存在相同的身份证号或者姓名
boolean isParty = getPartyMemberByRealNameAndIdentityNo(dto.getRealName(), dto.getIdentityNo());
if (!isParty) {
Result<List<PartyMembersDTO>> result = getPartyMemberByRealNameOrIdentityNo(dto.getRealName(), dto.getIdentityNo());
if (result.getCode() != 0) {
return result;
} else {
// 插入党员库
insertPartyMember(dto);
}
}
}
// createdTime作为提交注册时间,registerTime作为注册审核时间(即注册时间)
dto.setRegisterTime(new Date());
//先删除以前审核未通过的那条数据
UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class);
updateById(entity);
// 组装数据并插入用户认证历史表
findUser.setMobile(dto.getMobile());
findUser.setRealName(dto.getRealName());
saveUserAuthenticateHistory(findUser, dto.getPartyFlag(), dto.getRemark(), dto.getState());
// 修改党员库信息
if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) {
updatePartyMember(findUser, dto.getRegisterTime());
}
return new Result<>();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result modifyPartyInfo(PartyMemberModifyFormDTO dto) {
// 更新党员库信息
PartyMembersEntity entity = new PartyMembersEntity();
entity.setId(dto.getPartyMemberId());
entity.setRealName(dto.getRealName());
entity.setIdentityNo(dto.getIdentityNo());
partyMembersDao.updateById(entity);
// 用户认证党员信息通过
UserDTO userDTO = ConvertUtils.sourceToTarget(dto, UserDTO.class);
userDTO.setId(dto.getUserId());
userDTO.setPartyFlag(YesOrNoEnum.YES.value());
this.partyReview(userDTO);
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result addPartyInfo(PartyMemberModifyFormDTO dto) {
// 新增党员库信息
PartyMembersEntity entity = new PartyMembersEntity();
entity.setRealName(dto.getRealName());
entity.setIdentityNo(dto.getIdentityNo());
entity.setRegistFlag(PartyMemberRegFlagEnum.NO.getValue());
partyMembersDao.insert(entity);
// 用户认证党员信息通过
UserDTO userDTO = ConvertUtils.sourceToTarget(dto, UserDTO.class);
userDTO.setId(dto.getUserId());
userDTO.setPartyFlag(YesOrNoEnum.YES.value());
this.partyReview(userDTO);
return new Result();
}
/**
* 更新党员库信息
*
@ -1194,9 +1281,114 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
}
this.verifyParams(params);
// 查询当前用户所具有的的数据权限
IPage<UserDTO> iPage = this.getPage(params);
List<UserDTO> userDtoList = this.baseDao.selectAuthenticatedListUserDto(params);
return new PageData<>(userDtoList, iPage.getTotal());
if (NumConstant.ONE_STR.equals(params.get("state").toString())) {
IPage<UserDTO> iPage = this.getPage(params);
List<UserDTO> userDtoList = this.baseDao.selectWaitAuthenticatedListUserDto(params);
return new PageData<>(userDtoList, iPage.getTotal());
} else {
IPage<UserDTO> iPage = this.getPage(params);
List<UserDTO> userDtoList = this.baseDao.selectAuthenticatedListUserDto(params);
return new PageData<>(userDtoList, iPage.getTotal());
}
}
/**
*
* 用户信息校验
*
* @params [dto]
* @return com.elink.esua.epdc.dto.UserDTO
* @author liuchuang
* @since 2020/3/23 18:23
*/
private UserDTO verifyUserInfo(UserDTO dto) {
if (StringUtils.isBlank(dto.getRealName()) && StringUtils.isBlank(dto.getRealName().trim())) {
throw new RenException("用户姓名不能为空");
}
if (StringUtils.isBlank(dto.getMobile()) && StringUtils.isBlank(dto.getMobile().trim())) {
throw new RenException("手机号不能为空");
}
if (StringUtils.isBlank(dto.getIdentityNo()) && StringUtils.isBlank(dto.getIdentityNo().trim())) {
throw new RenException("身份证号不能为空");
}
dto.setRealName(dto.getRealName().trim());
dto.setMobile(dto.getMobile().trim());
dto.setIdentityNo(dto.getIdentityNo().trim());
return dto;
}
/**
*
* 获取党员信息
*
* @params [realName, identityNo]
* @return boolean
* @author liuchuang
* @since 2020/3/23 18:30
*/
private boolean getPartyMemberByRealNameAndIdentityNo(String realName, String identityNo) {
QueryWrapper<PartyMembersEntity> wrapper = new QueryWrapper<>();
wrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo)
.eq(UserFieldConsant.REAL_NAME, realName);
Integer count = this.partyMembersDao.selectCount(wrapper);
return count != NumConstant.ZERO;
}
/**
*
* 获取党员信息
*
* @params [realName, identityNo]
* @return java.util.List<com.elink.esua.epdc.dto.UserDTO>
* @author liuchuang
* @since 2020/3/23 18:35
*/
private Result<List<PartyMembersDTO>> getPartyMemberByRealNameOrIdentityNo(String realName, String identityNo) {
List<PartyMembersEntity> partyMembersEntities = null;
List<PartyMembersDTO> data = null;
Result<List<PartyMembersDTO>> result = new Result<>();
// 根据身份证号查询党员库
QueryWrapper<PartyMembersEntity> identityNoWrapper = new QueryWrapper<>();
identityNoWrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo);
partyMembersEntities = this.partyMembersDao.selectList(identityNoWrapper);
if (null != partyMembersEntities && partyMembersEntities.size() > 0) {
data = ConvertUtils.sourceToTarget(partyMembersEntities, PartyMembersDTO.class);
result.setCode(NumConstant.ONE);
result.setData(data);
return result;
}
// 根据姓名查询党员库
QueryWrapper<PartyMembersEntity> realNameWrapper = new QueryWrapper<>();
realNameWrapper.eq(UserFieldConsant.REAL_NAME, realName);
partyMembersEntities = this.partyMembersDao.selectList(realNameWrapper);
if (null != partyMembersEntities && partyMembersEntities.size() > 0) {
data = ConvertUtils.sourceToTarget(partyMembersEntities, PartyMembersDTO.class);
result.setCode(NumConstant.TWO);
result.setData(data);
return result;
}
return new Result<>();
}
/**
*
* 新增党员信息
*
* @params [dto, findUser]
* @return void
* @author liuchuang
* @since 2020/3/23 19:35
*/
private void insertPartyMember(UserDTO dto) {
PartyMembersEntity entity = new PartyMembersEntity();
entity.setRealName(dto.getRealName());
entity.setIdentityNo(dto.getIdentityNo());
entity.setRegistFlag(PartyMemberRegFlagEnum.MANUAL.getValue());
partyMembersDao.insert(entity);
}
}

82
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -66,6 +66,7 @@
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
u.UPDATED_TIME,
IDENTITY_NO,
ADDRESS,
STATE,
@ -77,6 +78,7 @@
LEFT JOIN epdc_user_grid_relation ug ON u.ID = ug.USER_ID
where
u.del_flag = '0'
and (u.IDENTITY_NO is null or u.IDENTITY_NO = '')
<if test="startTime != '' and endTime != ''">and u.CREATED_TIME between #{startTime} and #{endTime}</if>
<if test="state != '' and state != null">and u.state = #{state}</if>
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
@ -101,6 +103,44 @@
ORDER BY
u.register_time desc
</select>
<select id="selectListOfWaitPartyUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
SELECT
u.id,
u.REAL_NAME,
u.NICKNAME,
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
u.UPDATED_TIME,
u.IDENTITY_NO,
u.ADDRESS,
u.STATE,
u.PARTY_FLAG,
u.ALL_DEPT_NAMES
FROM
epdc_user u
where
u.del_flag = '0'
and u.IDENTITY_NO is not null
and u.state = '1'
<![CDATA[ AND u.IDENTITY_NO != '' ]]>
<if test="startTime != '' and endTime != ''">and u.CREATED_TIME between #{startTime} and #{endTime}</if>
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},u.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},u.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},u.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},u.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and find_in_set(#{gridId},u.ALL_DEPT_IDS)
</if>
ORDER BY
u.register_time desc
</select>
<!-- 根据userId获取居民详情(已认证或待认证(提交信息待审核)的居民用户) -->
<resultMap id="EpdcResidentDetailResultDtoMap"
type="com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailResultDTO">
@ -453,4 +493,46 @@
ORDER BY
u.register_time desc
</select>
<select id="selectWaitAuthenticatedListUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
SELECT
u.id,
u.REAL_NAME,
u.NICKNAME,
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
IDENTITY_NO,
ADDRESS,
STATE,
PARTY_FLAG,
u.ALL_DEPT_NAMES,
u.FACE_IMG
FROM
epdc_user u
where
u.del_flag = '0'
and (u.IDENTITY_NO is null or u.IDENTITY_NO = '')
<if test="startTime != '' and endTime != ''">and u.CREATED_TIME between #{startTime} and #{endTime}</if>
<if test="state != '' and state != null">and u.state = #{state}</if>
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
<if test="partyFlag != '' and partyFlag != null">and u.party_flag = #{partyFlag}</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},u.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},u.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},u.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},u.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
AND
find_in_set(#{gridId},u.ALL_DEPT_IDS)
</if>
ORDER BY
u.register_time desc
</select>
</mapper>

8
esua-epdc/pom.xml

@ -36,7 +36,7 @@
<docker.repostory>47.104.85.99:9002</docker.repostory>
<dockerfile-maven-plugin.version>1.4.13</dockerfile-maven-plugin.version>
<docker.tag>prod</docker.tag>
<docker.repository.prefix>registry.cn-qingdao.aliyuncs.com/esua-epdc-shibei/</docker.repository.prefix>
<docker.repository.prefix>registry-vpc.cn-qingdao.aliyuncs.com/esua-epdc-shibei/</docker.repository.prefix>
<server.port>9508</server.port>
</properties>
@ -77,12 +77,6 @@
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>${dockerfile-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>

Loading…
Cancel
Save