diff --git a/esua-epdc/docker-compose/test/app/admin/docker-compose.yml b/esua-epdc/docker-compose/test/app/admin/docker-compose.yml
index 0f2d27f7f..497085e29 100644
--- a/esua-epdc/docker-compose/test/app/admin/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/analysis/docker-compose.yml b/esua-epdc/docker-compose/test/app/analysis/docker-compose.yml
index cc004bc44..0c008bf44 100644
--- a/esua-epdc/docker-compose/test/app/analysis/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/api/docker-compose.yml b/esua-epdc/docker-compose/test/app/api/docker-compose.yml
index 0d509209e..44278b637 100644
--- a/esua-epdc/docker-compose/test/app/api/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/auth/docker-compose.yml b/esua-epdc/docker-compose/test/app/auth/docker-compose.yml
index aac8787fa..e6da970e7 100644
--- a/esua-epdc/docker-compose/test/app/auth/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/custom/docker-compose.yml b/esua-epdc/docker-compose/test/app/custom/docker-compose.yml
index 48ae797e1..48bbb8568 100644
--- a/esua-epdc/docker-compose/test/app/custom/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/events/docker-compose.yml b/esua-epdc/docker-compose/test/app/events/docker-compose.yml
index b12646d79..4cb66504b 100644
--- a/esua-epdc/docker-compose/test/app/events/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/gateway/docker-compose.yml b/esua-epdc/docker-compose/test/app/gateway/docker-compose.yml
index ecae7f10c..79f0ef09b 100644
--- a/esua-epdc/docker-compose/test/app/gateway/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/group/docker-compose.yml b/esua-epdc/docker-compose/test/app/group/docker-compose.yml
index 348885883..6ada55ddd 100644
--- a/esua-epdc/docker-compose/test/app/group/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/heart/docker-compose.yml b/esua-epdc/docker-compose/test/app/heart/docker-compose.yml
index 8c73b0efc..0cbb13580 100644
--- a/esua-epdc/docker-compose/test/app/heart/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/kpi/docker-compose.yml b/esua-epdc/docker-compose/test/app/kpi/docker-compose.yml
index 0eb745bf3..7b623b685 100644
--- a/esua-epdc/docker-compose/test/app/kpi/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/message/docker-compose.yml b/esua-epdc/docker-compose/test/app/message/docker-compose.yml
index 7bf8759d0..cfaace090 100644
--- a/esua-epdc/docker-compose/test/app/message/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/news/docker-compose.yml b/esua-epdc/docker-compose/test/app/news/docker-compose.yml
index cf120910a..405f47ef4 100644
--- a/esua-epdc/docker-compose/test/app/news/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/oss/docker-compose.yml b/esua-epdc/docker-compose/test/app/oss/docker-compose.yml
index d677638c4..3940cbce8 100644
--- a/esua-epdc/docker-compose/test/app/oss/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/user/docker-compose.yml b/esua-epdc/docker-compose/test/app/user/docker-compose.yml
index 8ad2e482b..f3209f6a6 100644
--- a/esua-epdc/docker-compose/test/app/user/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/webservice/docker-compose.yml b/esua-epdc/docker-compose/test/app/webservice/docker-compose.yml
index 77397cdea..6eb85b0ac 100644
--- a/esua-epdc/docker-compose/test/app/webservice/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/docker-compose/test/app/websocket/docker-compose.yml b/esua-epdc/docker-compose/test/app/websocket/docker-compose.yml
index b78cd6043..3fb41729c 100644
--- a/esua-epdc/docker-compose/test/app/websocket/docker-compose.yml
+++ b/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
diff --git a/esua-epdc/dockerfile/Dockerfile b/esua-epdc/dockerfile/Dockerfile
new file mode 100755
index 000000000..9e1c30f4f
--- /dev/null
+++ b/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}
diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisMenuDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisMenuDTO.java
new file mode 100644
index 000000000..c06629052
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisMenuDTO.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import org.hibernate.validator.constraints.Range;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Data
+public class SysAnalysisMenuDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @NotNull(message = "{id.require}", groups = UpdateGroup.class)
+ private Long id;
+
+ /**
+ * 上级ID,一级菜单为0
+ */
+ @NotNull(message = "{sysmenu.pid.require}", groups = DefaultGroup.class)
+ private Long pid;
+
+ /**
+ * 类型 0:菜单 1:按钮
+ */
+ @Range(min = 0, max = 1, message = "{sysmenu.type.range}", groups = DefaultGroup.class)
+ private Integer type;
+
+ /**
+ * 菜单图标
+ */
+ private String icon;
+
+ /**
+ * 样式名称
+ */
+ private String className;
+
+ /**
+ * 排序
+ */
+ @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class)
+ private Integer sort;
+
+ /**
+ * 删除标识 0:未删除 1:删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 创建者
+ */
+ private Long creator;
+
+ /**
+ * 创建时间
+ */
+ @JsonProperty(access = JsonProperty.Access.READ_ONLY)
+ private Date createDate;
+
+ /**
+ * 更新者
+ */
+ private Long updater;
+
+ /**
+ * 更新时间
+ */
+ private Date updateDate;
+
+ /**
+ * 菜单编码
+ */
+ private String menuCode;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 子模板ID
+ */
+ private String templateId;
+
+ @NotBlank(message = "{sysmenu.name.require}", groups = DefaultGroup.class)
+ private String name;
+
+ /**
+ * 是否显示数字 0否 1是
+ */
+ private String numFlag;
+
+ //虚字段
+
+ /**
+ * 上级菜单名称
+ */
+ private String parentName;
+
+ /**
+ * 模块名称
+ */
+ private String modelname;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisRoleMenuDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisRoleMenuDTO.java
new file mode 100644
index 000000000..b5a712cf9
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysAnalysisRoleMenuDTO.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Data
+public class SysAnalysisRoleMenuDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 角色ID
+ */
+ private Long roleId;
+
+ /**
+ * 菜单ID
+ */
+ private Long menuId;
+
+ /**
+ * 创建者
+ */
+ private Long creator;
+
+ /**
+ * 创建时间
+ */
+ private Date createDate;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysRoleDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysRoleDTO.java
index 74a07bb20..839e9317a 100644
--- a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysRoleDTO.java
+++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysRoleDTO.java
@@ -72,4 +72,9 @@ public class SysRoleDTO implements Serializable {
* app菜单ID列表
*/
private List appMenuIdList;
+
+ /**
+ * 数据端菜单ID列表
+ */
+ private List analysisMenuIdList;
}
diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java
index 6a1b53042..5874ba30f 100644
--- a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java
+++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/enums/MenuTableEnum.java
@@ -22,7 +22,11 @@ public enum MenuTableEnum {
/**
* 非菜单资源
*/
- APP("sys_app_menu");
+ APP("sys_app_menu"),
+ /**
+ * 领导端资源
+ */
+ ANALYSIS("sys_analysis_menu");
private String value;
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/pom.xml b/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
index cac6d48fb..25640901b 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
+++ b/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
@@ -137,6 +137,7 @@
9092
dev
+ dev
false
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisMenuController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisMenuController.java
new file mode 100644
index 000000000..04ee8c900
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisMenuController.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.controller;
+
+import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
+import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
+import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
+import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
+import com.elink.esua.epdc.dto.*;
+import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
+import com.elink.esua.epdc.excel.*;
+import com.elink.esua.epdc.service.SysAnalysisMenuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@RestController
+@RequestMapping("analysismenu")
+public class SysAnalysisMenuController {
+
+ @Autowired
+ private SysAnalysisMenuService sysAnalysisMenuService;
+
+ /**
+ * 获取APP菜单列表
+ *
+ * @param type 菜单类型 0:菜单 1:按钮 null:全部
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @author work@yujt.net.cn
+ * @date 2019/11/19 13:26
+ */
+ @GetMapping("list")
+ public Result> list(Integer type) {
+ List list = sysAnalysisMenuService.getAnalysisMenuList(type);
+ return new Result>().ok(list);
+ }
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = sysAnalysisMenuService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ SysAnalysisMenuDTO data = sysAnalysisMenuService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody SysAnalysisMenuDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ sysAnalysisMenuService.save(dto);
+ return new Result();
+ }
+ @GetMapping("select")
+ public Result> select(UserDetail userDetail) {
+ List list = sysAnalysisMenuService.getUserMenuList(userDetail, null);
+
+ return new Result>().ok(list);
+ }
+
+ @PutMapping
+ public Result update(@RequestBody SysAnalysisMenuDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ sysAnalysisMenuService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping("{id}")
+ public Result delete(@PathVariable("id") Long id){
+ //效验数据
+ AssertUtils.isNull(id, "id");
+ //判断是否有子菜单或按钮
+ if(sysAnalysisMenuService.hasChileMenu(id)){
+ return new Result().error(ErrorCode.SUB_MENU_EXIST);
+ }
+ sysAnalysisMenuService.delete(id);
+ return new Result();
+ }
+
+ @GetMapping("export")
+ public void export(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ List list = sysAnalysisMenuService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, SysAnalysisMenuExcel.class);
+ }
+ /**
+ * @param userId
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @Author lpf
+ * @Description 首页面板 获取数据端APP菜单
+ * @Date 2020/03/18 10:42
+ **/
+ @GetMapping("/analysisIndexPanel/{userId}")
+ public Result> analysisIndexPanel(@PathVariable("userId") String userId) {
+ return sysAnalysisMenuService.getAnalysisIndexPanel(userId);
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisRoleMenuController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisRoleMenuController.java
new file mode 100644
index 000000000..65deebc6d
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysAnalysisRoleMenuController.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.controller;
+
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
+import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
+import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
+import com.elink.esua.epdc.dto.*;
+import com.elink.esua.epdc.excel.*;
+import com.elink.esua.epdc.service.SysAnalysisRoleMenuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@RestController
+@RequestMapping("analysisrolemenu")
+public class SysAnalysisRoleMenuController {
+
+ @Autowired
+ private SysAnalysisRoleMenuService sysAnalysisRoleMenuService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = sysAnalysisRoleMenuService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ SysAnalysisRoleMenuDTO data = sysAnalysisRoleMenuService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody SysAnalysisRoleMenuDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ sysAnalysisRoleMenuService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody SysAnalysisRoleMenuDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ sysAnalysisRoleMenuService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ sysAnalysisRoleMenuService.delete(ids);
+ return new Result();
+ }
+
+ @GetMapping("export")
+ public void export(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ List list = sysAnalysisRoleMenuService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, SysAnalysisRoleMenuExcel.class);
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java
index b9eab566e..c284327b8 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java
@@ -18,10 +18,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.SysRoleDTO;
-import com.elink.esua.epdc.service.AppRoleMenuService;
-import com.elink.esua.epdc.service.SysRoleDataScopeService;
-import com.elink.esua.epdc.service.SysRoleMenuService;
-import com.elink.esua.epdc.service.SysRoleService;
+import com.elink.esua.epdc.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -52,6 +49,8 @@ public class SysRoleController {
private SysRoleDataScopeService sysRoleDataScopeService;
@Autowired
private AppRoleMenuService appRoleMenuService;
+ @Autowired
+ private SysAnalysisRoleMenuService sysAnalysisRoleMenuService;
@GetMapping("page")
@ApiOperation("分页")
@@ -92,6 +91,9 @@ public class SysRoleController {
//查询角色对应app菜单权限
List appMenuIdList = appRoleMenuService.getAppMenuIdList(id);
data.setAppMenuIdList(appMenuIdList);
+ //查询角色对应数据端菜单权限
+ List analysisMenuIdList = sysAnalysisRoleMenuService.getAnalysisMenuIdList(id);
+ data.setAnalysisMenuIdList(analysisMenuIdList);
return new Result().ok(data);
}
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisMenuDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisMenuDao.java
new file mode 100644
index 000000000..e0c83b877
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisMenuDao.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.dao;
+
+import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
+import com.elink.esua.epdc.dto.AppMenuDTO;
+import com.elink.esua.epdc.dto.SysAnalysisMenuDTO;
+import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
+import com.elink.esua.epdc.entity.AppMenuEntity;
+import com.elink.esua.epdc.entity.SysAnalysisMenuEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Mapper
+public interface SysAnalysisMenuDao extends BaseDao {
+
+ /**
+ * @param userId
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @Author lpf
+ * @Description 首页面板 获取数据端APP菜单
+ * @Date 2020/03/18 10:42
+ **/
+ List getAnalysisIndexPanel(String userId);
+
+ /**
+ * 获取菜单详细信息
+ * @param id
+ * @return
+ */
+ SysAnalysisMenuDTO selectByIdDIY(@Param("id") String id, @Param("language") String language);
+
+ /**
+ * 查询所有菜单列表
+ *
+ * @param type 菜单类型
+ * @param language 语言
+ */
+ List getMenuList(@Param("type") Integer type, @Param("language") String language);
+
+ /**
+ * 查询用户菜单列表
+ *
+ * @param userId 用户ID
+ * @param type 菜单类型
+ * @param language 语言
+ */
+ List getUserMenuList(@Param("userId") Long userId, @Param("type") Integer type, @Param("language") String language);
+
+ /**
+ * 获取app菜单列表
+ *
+ * @param type 菜单类型
+ * @param language 语言
+ * @return java.util.List
+ * @author work@yujt.net.cn
+ * @date 2019/11/19 13:43
+ */
+ List selectListAppMenu(@Param("type") Integer type, @Param("language") String language);
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisRoleMenuDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisRoleMenuDao.java
new file mode 100644
index 000000000..e817fc77f
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysAnalysisRoleMenuDao.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.dao;
+
+import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
+import com.elink.esua.epdc.entity.SysAnalysisRoleMenuEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Mapper
+public interface SysAnalysisRoleMenuDao extends BaseDao {
+
+ /**
+ * 根据角色id,删除角色数据权限关系
+ *
+ * @param roleId 角色id
+ */
+ void deleteByRoleId(Long roleId);
+
+ /**
+ * 根据角色ID,获取菜单ID列表
+ *
+ * @param id
+ * @return
+ */
+ List getAnalysisMenuIdList(Long id);
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisMenuEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisMenuEntity.java
new file mode 100644
index 000000000..ac45ced4b
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisMenuEntity.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity;
+import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("sys_analysis_menu")
+public class SysAnalysisMenuEntity extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+
+ /**
+ * 上级ID,一级菜单为0
+ */
+ private Long pid;
+
+ /**
+ * 菜单名称
+ */
+ @TableField(exist = false)
+ private String name;
+
+ /**
+ * 类型 0:菜单 1:按钮
+ */
+ private Integer type;
+
+ /**
+ * 菜单图标
+ */
+ private String icon;
+
+ /**
+ * 样式名称
+ */
+ private String className;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 删除标识 0:未删除 1:删除
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Integer delFlag;
+
+ /**
+ * 更新者
+ */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Long updater;
+
+ /**
+ * 更新时间
+ */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Date updateDate;
+
+ /**
+ * 上级菜单名称
+ */
+ @TableField(exist = false)
+ private String parentName;
+
+ /**
+ * 菜单编码
+ */
+ private String menuCode;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 子模板ID
+ */
+ private String templateId;
+
+ /**
+ * 是否显示数字 0否 1是
+ */
+ private String numFlag;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisRoleMenuEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisRoleMenuEntity.java
new file mode 100644
index 000000000..0b05aaa73
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysAnalysisRoleMenuEntity.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity;
+import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("sys_analysis_role_menu")
+public class SysAnalysisRoleMenuEntity extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+
+ /**
+ * 角色ID
+ */
+ private Long roleId;
+
+ /**
+ * 菜单ID
+ */
+ private Long menuId;
+
+ /**
+ * 创建者
+ */
+ private Long creator;
+
+ /**
+ * 创建时间
+ */
+ private Date createDate;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisMenuExcel.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisMenuExcel.java
new file mode 100644
index 000000000..9e2c7baa4
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisMenuExcel.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Data
+public class SysAnalysisMenuExcel {
+
+ @Excel(name = "id")
+ private Long id;
+
+ @Excel(name = "上级ID,一级菜单为0")
+ private Long pid;
+
+ @Excel(name = "类型 0:菜单 1:按钮")
+ private Integer type;
+
+ @Excel(name = "模块名称")
+ private String modelname;
+
+ @Excel(name = "菜单图标")
+ private String icon;
+
+ @Excel(name = "样式名称")
+ private String className;
+
+ @Excel(name = "菜单编码(议题管理-待回应:10001,议题管理-待处理:10002,项目管理-待处理:10003,用户管理-待认证居民:10004,消息:10005)")
+ private String menuCode;
+
+ @Excel(name = "模板ID")
+ private String templateId;
+
+ @Excel(name = "是否显示数字 0否 1是")
+ private String numFlag;
+
+ @Excel(name = "排序")
+ private Integer sort;
+
+ @Excel(name = "备注")
+ private String remark;
+
+ @Excel(name = "删除标识 0:未删除 1:删除")
+ private Integer delFlag;
+
+ @Excel(name = "创建者")
+ private Long creator;
+
+ @Excel(name = "创建时间")
+ private Date createDate;
+
+ @Excel(name = "更新者")
+ private Long updater;
+
+ @Excel(name = "更新时间")
+ private Date updateDate;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisRoleMenuExcel.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisRoleMenuExcel.java
new file mode 100644
index 000000000..629ac017f
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/SysAnalysisRoleMenuExcel.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Data
+public class SysAnalysisRoleMenuExcel {
+
+ @Excel(name = "id")
+ private Long id;
+
+ @Excel(name = "角色ID")
+ private Long roleId;
+
+ @Excel(name = "菜单ID")
+ private Long menuId;
+
+ @Excel(name = "创建者")
+ private Long creator;
+
+ @Excel(name = "创建时间")
+ private Date createDate;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisMenuRedis.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisMenuRedis.java
new file mode 100644
index 000000000..3349f7c1b
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisMenuRedis.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.redis;
+
+import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Component
+public class SysAnalysisMenuRedis {
+ @Autowired
+ private RedisUtils redisUtils;
+
+ public void delete(Object[] ids) {
+
+ }
+
+ public void set(){
+
+ }
+
+ public String get(String id){
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisRoleMenuRedis.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisRoleMenuRedis.java
new file mode 100644
index 000000000..f660239da
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysAnalysisRoleMenuRedis.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.redis;
+
+import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Component
+public class SysAnalysisRoleMenuRedis {
+ @Autowired
+ private RedisUtils redisUtils;
+
+ public void delete(Object[] ids) {
+
+ }
+
+ public void set(){
+
+ }
+
+ public String get(String id){
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisMenuService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisMenuService.java
new file mode 100644
index 000000000..a59c4e775
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisMenuService.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.service;
+
+import com.elink.esua.epdc.commons.mybatis.service.BaseService;
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
+import com.elink.esua.epdc.entity.SysAnalysisMenuEntity;
+import com.elink.esua.epdc.dto.*;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+public interface SysAnalysisMenuService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2020-03-25
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2020-03-25
+ */
+ List list(Map params);
+
+ /**
+ * 判断是否有子级菜单
+ *
+ * @param id 菜单ID
+ * @return boolean
+ * @author work@yujt.net.cn
+ * @date 2019/11/19 14:30
+ */
+ boolean hasChileMenu(Long id);
+
+ List getAnalysisMenuList(Integer type);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return SysAnalysisMenuDTO
+ * @author generator
+ * @date 2020-03-25
+ */
+ SysAnalysisMenuDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2020-03-25
+ */
+ void save(SysAnalysisMenuDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2020-03-25
+ */
+ void update(SysAnalysisMenuDTO dto);
+
+ /**
+ * 用户app端菜单列表
+ *
+ * @param userDetail 用户信息
+ * @param type 菜单类型
+ */
+ List getUserMenuList(UserDetail userDetail, Integer type);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2020-03-25
+ */
+ void delete(Long id);
+ /**
+ * @param userId
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @Author lpf
+ * @Description 首页面板 获取数据端APP菜单
+ * @Date 2020/03/18 10:42
+ **/
+ Result> getAnalysisIndexPanel(String userId);
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisRoleMenuService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisRoleMenuService.java
new file mode 100644
index 000000000..9ccfd8c74
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysAnalysisRoleMenuService.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.service;
+
+import com.elink.esua.epdc.commons.mybatis.service.BaseService;
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.dto.*;
+import com.elink.esua.epdc.entity.SysAnalysisRoleMenuEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+public interface SysAnalysisRoleMenuService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2020-03-25
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2020-03-25
+ */
+ List list(Map params);
+
+ /**
+ * 保存或修改
+ *
+ * @param roleId 角色ID
+ * @param analysisMenuIdList 菜单ID列表
+ */
+ void saveOrUpdate(Long roleId, List analysisMenuIdList);
+
+ /**
+ * 根据角色id,删除角色数据权限关系
+ *
+ * @param roleId 角色id
+ */
+ void deleteByRoleId(Long roleId);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return SysAnalysisRoleMenuDTO
+ * @author generator
+ * @date 2020-03-25
+ */
+ SysAnalysisRoleMenuDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2020-03-25
+ */
+ void save(SysAnalysisRoleMenuDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2020-03-25
+ */
+ void update(SysAnalysisRoleMenuDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2020-03-25
+ */
+ void delete(String[] ids);
+ List getAnalysisMenuIdList(Long id);
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisMenuServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisMenuServiceImpl.java
new file mode 100644
index 000000000..a4db1690f
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisMenuServiceImpl.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
+import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
+import com.elink.esua.epdc.commons.tools.constant.Constant;
+import com.elink.esua.epdc.commons.tools.constant.NumConstant;
+import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
+import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
+import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
+import com.elink.esua.epdc.commons.tools.utils.HttpContextUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
+import com.elink.esua.epdc.dao.SysAnalysisMenuDao;
+import com.elink.esua.epdc.dto.*;
+import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
+import com.elink.esua.epdc.entity.AppMenuEntity;
+import com.elink.esua.epdc.entity.SysAnalysisMenuEntity;
+import com.elink.esua.epdc.enums.MenuTableEnum;
+import com.elink.esua.epdc.redis.SysAnalysisMenuRedis;
+import com.elink.esua.epdc.service.SysAnalysisMenuService;
+import com.elink.esua.epdc.service.SysLanguageService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 菜单管理
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Service
+public class SysAnalysisMenuServiceImpl extends BaseServiceImpl implements SysAnalysisMenuService {
+
+ @Autowired
+ private SysAnalysisMenuRedis sysAnalysisMenuRedis;
+ @Autowired
+ private SysLanguageService sysLanguageService;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, SysAnalysisMenuDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, SysAnalysisMenuDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+ @Override
+ public List getAnalysisMenuList(Integer type) {
+ List menuList = baseDao.selectListAppMenu(type, HttpContextUtils.getLanguage());
+ return TreeUtils.build(menuList, Constant.MENU_ROOT);
+ }
+
+ @Override
+ public SysAnalysisMenuDTO get(String id) {
+ SysAnalysisMenuDTO dto = baseDao.selectByIdDIY(id,HttpContextUtils.getLanguage());
+ return dto;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(SysAnalysisMenuDTO dto) {
+ SysAnalysisMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisMenuEntity.class);
+ insert(entity);
+ sysLanguageService.saveOrUpdate(MenuTableEnum.ANALYSIS.value(), entity.getId(), "name", dto.getName(), HttpContextUtils.getLanguage());
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(SysAnalysisMenuDTO dto) {
+ SysAnalysisMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisMenuEntity.class);
+ updateById(entity);
+ sysLanguageService.saveOrUpdate(MenuTableEnum.ANALYSIS.value(), entity.getId(), "name", dto.getName(), HttpContextUtils.getLanguage());
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(Long id) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteById(id);
+ }
+ @Override
+ public boolean hasChileMenu(Long id) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("pid", id)
+ .eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value());
+ Integer selectCount = baseDao.selectCount(wrapper);
+ return selectCount > NumConstant.ZERO;
+ }
+ /**
+ * 用户app端菜单列表
+ *
+ * @param userDetail 用户信息
+ * @param type 菜单类型
+ */
+ @Override
+ public List getUserMenuList(UserDetail userDetail, Integer type) {
+ List menuList;
+
+ //系统管理员,拥有最高权限
+ if (userDetail.getSuperAdmin() == SuperAdminEnum.YES.value()) {
+ menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage());
+ } else {
+ menuList = baseDao.getUserMenuList(userDetail.getId(), type, HttpContextUtils.getLanguage());
+ }
+
+ List dtoList = ConvertUtils.sourceToTarget(menuList, AppMenuDTO.class);
+
+ return TreeUtils.build(dtoList);
+ }
+ @Override
+ public Result> getAnalysisIndexPanel(String userId) {
+ if (StringUtils.isBlank(userId)) {
+ return new Result().error("用户Id不能为空");
+ }
+ List list = this.baseDao.getAnalysisIndexPanel(userId);
+ return new Result().ok(list);
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisRoleMenuServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisRoleMenuServiceImpl.java
new file mode 100644
index 000000000..81737ec1c
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysAnalysisRoleMenuServiceImpl.java
@@ -0,0 +1,150 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
+import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
+import com.elink.esua.epdc.dao.SysAnalysisRoleMenuDao;
+import com.elink.esua.epdc.dto.*;
+import com.elink.esua.epdc.entity.SysAnalysisRoleMenuEntity;
+import com.elink.esua.epdc.redis.SysAnalysisRoleMenuRedis;
+import com.elink.esua.epdc.service.SysAnalysisRoleMenuService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 角色菜单关系
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-03-25
+ */
+@Service
+public class SysAnalysisRoleMenuServiceImpl extends BaseServiceImpl implements SysAnalysisRoleMenuService {
+
+ @Autowired
+ private SysAnalysisRoleMenuRedis sysAnalysisRoleMenuRedis;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, SysAnalysisRoleMenuDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, SysAnalysisRoleMenuDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+ /**
+ * 保存或修改
+ *
+ * @param roleId 角色ID
+ * @param appMenuIdList 菜单ID列表
+ */
+ @Override
+ public void saveOrUpdate(Long roleId, List analysisMenuIdList) {
+ //先删除角色菜单权限关系
+ deleteByRoleId(roleId);
+
+ //角色没有一个菜单权限的情况
+ if (CollUtil.isEmpty(analysisMenuIdList)) {
+ return;
+ }
+
+ //保存角色菜单权限关系
+ for (Long menuId : analysisMenuIdList) {
+ SysAnalysisRoleMenuEntity appRoleMenuEntity = new SysAnalysisRoleMenuEntity();
+ appRoleMenuEntity.setMenuId(menuId);
+ appRoleMenuEntity.setRoleId(roleId);
+
+ //保存
+ insert(appRoleMenuEntity);
+ }
+ }
+ /**
+ * 根据角色id,删除角色数据权限关系
+ *
+ * @param roleId 角色id
+ */
+ @Override
+ public void deleteByRoleId(Long roleId) {
+ baseDao.deleteByRoleId(roleId);
+ }
+
+ @Override
+ public SysAnalysisRoleMenuDTO get(String id) {
+ SysAnalysisRoleMenuEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, SysAnalysisRoleMenuDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(SysAnalysisRoleMenuDTO dto) {
+ SysAnalysisRoleMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisRoleMenuEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(SysAnalysisRoleMenuDTO dto) {
+ SysAnalysisRoleMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysAnalysisRoleMenuEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+ /**
+ * 根据角色ID,获取菜单ID列表
+ *
+ * @param id
+ * @return
+ */
+ @Override
+ public List getAnalysisMenuIdList(Long id) {
+ return baseDao.getAnalysisMenuIdList(id);
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java
index cb1e6613c..622aee764 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java
@@ -54,6 +54,8 @@ public class SysRoleServiceImpl extends BaseServiceImpl page(Map params) {
@@ -121,6 +123,9 @@ public class SysRoleServiceImpl extends BaseServiceImpl
+
+
+
+
+
+
+
+
+ SELECT
+ m.*,
+ l.field_value AS `NAME`,
+ ll.field_value as parentName
+ FROM
+ sys_analysis_menu m
+ LEFT JOIN sys_language ll ON m.pid = ll.table_id
+ LEFT JOIN sys_language l ON m.id = l.table_id AND l.table_name = 'sys_analysis_menu' AND l.field_name = 'name' AND l.LANGUAGE = #{language}
+ WHERE m.del_flag = 0
+ AND m.id = #{id}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SELECT
+ lc.field_value AS label,
+ mc.menu_code AS navCode,
+ mc.remark,
+ mc.class_name AS className,
+ mc.icon,
+ mc.num_flag as numFlag
+ FROM
+ sys_analysis_menu mp
+ LEFT JOIN sys_language lp ON lp.table_id = mp.id
+ LEFT JOIN sys_analysis_menu mc ON mp.id = mc.pid
+ LEFT JOIN sys_language lc ON lc.table_id = mc.id
+ WHERE
+ mc.id IN (
+ SELECT
+ m.id meauId
+ FROM
+ sys_user u
+ LEFT JOIN sys_role_user ru ON ru.user_id = u.id
+ LEFT JOIN sys_analysis_role_menu am ON am.role_id = ru.role_id
+ LEFT JOIN sys_analysis_menu m ON am.menu_id = m.id and m.del_flag = 0
+ LEFT JOIN sys_analysis_menu m1 ON m1.id = m.pid and m1.del_flag = 0
+ WHERE
+ u.id =#{userId}
+ and u.del_flag = 0
+ and am.menu_id IS NOT NULL
+ AND m.pid != 0
+ and m1.menu_code = 10010
+ )order by mp.sort asc,mc.sort asc
+
+
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysAnalysisRoleMenuDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysAnalysisRoleMenuDao.xml
new file mode 100644
index 000000000..e06a1bea3
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysAnalysisRoleMenuDao.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+ delete from sys_analysis_role_menu where role_id = #{value}
+
+
+
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-auth/pom.xml b/esua-epdc/epdc-auth/pom.xml
index abf19149b..d5a7a67d3 100644
--- a/esua-epdc/epdc-auth/pom.xml
+++ b/esua-epdc/epdc-auth/pom.xml
@@ -106,6 +106,7 @@
9091
dev
+ dev
2
diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
index 0de5d2834..bff6daf43 100644
--- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
+++ b/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);
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java
new file mode 100644
index 000000000..c3b3d3769
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserPartyRankDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserPartyRankDTO.java
new file mode 100644
index 000000000..be8c514e5
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserRegisterRankDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserRegisterRankDTO.java
new file mode 100644
index 000000000..52f3b7107
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java
new file mode 100644
index 000000000..b4fb1ec0f
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java
@@ -0,0 +1,24 @@
+package com.elink.esua.epdc.dto.user.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ExportOperationFormDTO implements Serializable {
+
+ private String operationStartTime;
+
+ private String operationEndTime;
+
+ /**
+ * 所有部门列表
+ */
+ private List allDeptIdsShow;
+
+ private List allStreetIds;
+
+ private String endTime;
+}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java
new file mode 100644
index 000000000..3762374e1
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java
@@ -0,0 +1,81 @@
+package com.elink.esua.epdc.dto.user.result;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * @author: qushutong
+ * @Date: 2020/3/23 14:47
+ * @Description: 运营导出数据
+ */
+@Data
+public class ExportOperationDataResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -798787916350968587L;
+
+ /**
+ * 居民数
+ */
+ private int registerCount = 0;
+
+ /**
+ * 未认证用户数
+ */
+ private int unAuthorizedCount = 0;
+
+
+ /**
+ * 党员数
+ */
+ private int partyCount = 0;
+
+ /**
+ * 新闻发布数
+ */
+ private int newsCount = 0;
+
+
+ /**
+ * 议题数
+ */
+ private int eventCount = 0;
+
+ /**
+ * 项目数
+ */
+ private int itemCount = 0;
+
+ /**
+ * 项目解决数
+ */
+ private int itemCloseCount = 0;
+
+ /**
+ * 社群数
+ */
+ private int communityCount = 0;
+
+ /**
+ * 社群成员数
+ */
+ private int communityMemberCount = 0;
+
+ /**
+ * 社群话题数
+ */
+ private int communityTopicCount = 0;
+
+ /**
+ * 街道
+ */
+ private String streetName;
+
+ /**
+ * 企业数
+ */
+ private int enterpriseCount = 0;
+
+}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java
index e75611937..55b1b3a2e 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java
+++ b/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";
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java
index 9f078d3a1..bf0541ddd 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java
+++ b/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 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);
}
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java
new file mode 100644
index 000000000..4091895ea
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java
@@ -0,0 +1,55 @@
+package com.elink.esua.epdc.excel;
+
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * @author: qushutong
+ * @Date: 2020/3/23 14:47
+ * @Description: 运营导出数据
+ */
+@Data
+public class ExportOperationDataExcel implements Serializable {
+
+ private static final long serialVersionUID = 4935348597474149310L;
+
+ @Excel(name = "街道")
+ private String streetName;
+
+ @Excel(name = "居民数")
+ private int registerCount = 0;
+
+ @Excel(name = "企业数")
+ private int enterpriseCount = 0;
+
+ @Excel(name = "已认证党员数")
+ private int partyCount = 0;
+
+ @Excel(name = "新闻发布数")
+ private int newsCount = 0;
+
+
+ @Excel(name = "议题数")
+ private int eventCount = 0;
+
+ @Excel(name = "项目数")
+ private int itemCount = 0;
+
+ @Excel(name = "项目结案数")
+ private int itemCloseCount = 0;
+
+ @Excel(name = "社群数")
+ private int communityCount = 0;
+
+ @Excel(name = "社群成员数")
+ private int communityMemberCount = 0;
+
+ @Excel(name = "社群话题数")
+ private int communityTopicCount = 0;
+
+
+}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java
new file mode 100644
index 000000000..0f5b1fc1f
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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> page(@RequestParam Map params){
+ PageData page = metaUserGridOpiningService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ MetaUserGridOpiningDTO data = metaUserGridOpiningService.get(id);
+ return new Result().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 params, HttpServletResponse response) throws Exception {
+ List list = metaUserGridOpiningService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, MetaUserGridOpiningExcel.class);
+ }
+
+ /**
+ * @author: qushutong
+ * @Date: 2020/3/25 10:35
+ * @Description: 临时表导入
+ */
+ @GetMapping("tolead")
+ public Result> tolead() {
+ return metaUserGridOpiningService.createUserAnalysisData();
+ }
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserPartyRankController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserPartyRankController.java
new file mode 100644
index 000000000..b4d678432
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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> page(@RequestParam Map params){
+ PageData page = metaUserPartyRankService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ MetaUserPartyRankDTO data = metaUserPartyRankService.get(id);
+ return new Result().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 params, HttpServletResponse response) throws Exception {
+ List 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();
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserRegisterRankController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserRegisterRankController.java
new file mode 100644
index 000000000..e3f049e58
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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> page(@RequestParam Map params){
+ PageData page = metaUserRegisterRankService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ MetaUserRegisterRankDTO data = metaUserRegisterRankService.get(id);
+ return new Result().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 params, HttpServletResponse response) throws Exception {
+ List 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();
+ }
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
index e25f2dc88..18e38eeaa 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
@@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
+import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
@@ -12,23 +13,20 @@ import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
+import com.elink.esua.epdc.excel.ExportOperationDataExcel;
import com.elink.esua.epdc.excel.GridOpiningExcel;
import com.elink.esua.epdc.modules.user.service.OldMemberRankService;
import com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import com.elink.esua.epdc.excel.PartyAnalysExcel;
import com.elink.esua.epdc.excel.RegisterExcel;
import com.elink.esua.epdc.modules.user.service.UserAnalysisService;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.springframework.web.bind.annotation.RequestParam;
-
import javax.servlet.http.HttpServletResponse;
/**
@@ -201,4 +199,18 @@ public class UserAnalysisController {
List list = userAnalysisService.listPageGridOpeningsForExport(params);
ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, GridOpiningExcel.class);
}
+
+ /***
+ * 运营数据导出
+ * @param
+ * @param response
+ * @return void
+ * @author qushutong
+ * @date 2020/3/23 16:36
+ */
+ @PostMapping("export/exportOperationData")
+ public void exportOperationData(@RequestBody ExportOperationFormDTO exportOperationFormDTO, HttpServletResponse response) throws Exception {
+ List list = userAnalysisService.listExportOperationCount(exportOperationFormDTO);
+ ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, ExportOperationDataExcel.class);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java
new file mode 100644
index 000000000..ca5c69bca
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /***
+ * 列表
+ * @param params
+ * @return com.elink.esua.epdc.commons.tools.page.PageData
+ * @author qushutong
+ * @date 2020/3/25 17:30
+ */
+ List pageselectListPage(Map params);
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserPartyRankDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserPartyRankDao.java
new file mode 100644
index 000000000..9bebf3d7a
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /***
+ * 分页
+ * @param params
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/26 18:36
+ */
+ List selectPagePartyRank(Map params);
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserRegisterRankDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserRegisterRankDao.java
new file mode 100644
index 000000000..86223fd00
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /***
+ * 分页
+ * @param params
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/26 15:41
+ */
+ List selectPageUserRegisterRank(Map params);
+
+
+ /***
+ * 获取当前用户拥有权限的街道id
+ * @param params
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/26 16:54
+ */
+ List selectListStreetId(Map params);
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
index 5c2c50477..5b7b63619 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
@@ -2,6 +2,7 @@ package com.elink.esua.epdc.modules.user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elink.esua.epdc.dto.user.UserAnalysisDTO;
+import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.result.*;
@@ -157,4 +158,89 @@ public interface UserAnalysisDao extends BaseMapper {
* @date 2020/3/5 14:10
*/
List selectListUnAuthorizedCountByGridId(Map params);
+
+ /***
+ * 运营数据导出用户相关
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportUserCount(ExportOperationFormDTO exportOperationFormDTO);
+
+ /***
+ * 运营数据导出未认证用户
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportunAuthorizedCount(ExportOperationFormDTO exportOperationFormDTO);
+
+
+ /***
+ * 运营数据导出议题
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportEventCount(ExportOperationFormDTO exportOperationFormDTO);
+
+ /***
+ * 运营数据导出项目相关
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportItemCount(ExportOperationFormDTO exportOperationFormDTO);
+
+ /***
+ * 运营数据导出新闻
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportNewsCount(ExportOperationFormDTO exportOperationFormDTO);
+
+ /***
+ * 运营数据导出社群数
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportGroupCount(ExportOperationFormDTO exportOperationFormDTO);
+
+ /***
+ * 运营数据导出社群成员数
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportCommunityMemberCount(ExportOperationFormDTO exportOperationFormDTO);
+
+ /***
+ * 运营数据导出社群话题数
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportTopicCount(ExportOperationFormDTO exportOperationFormDTO);
+
+
+ /***
+ * 运营数据导出企业数
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List selectExportEnterpriseCount(ExportOperationFormDTO exportOperationFormDTO);
+
+
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java
new file mode 100644
index 000000000..cda46a4a2
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserPartyRankEntity.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserPartyRankEntity.java
new file mode 100644
index 000000000..eec5ce88e
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserRegisterRankEntity.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserRegisterRankEntity.java
new file mode 100644
index 000000000..08f60b8be
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java
new file mode 100644
index 000000000..104301f23
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserPartyRankExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserPartyRankExcel.java
new file mode 100644
index 000000000..7700c7b3a
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserRegisterRankExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserRegisterRankExcel.java
new file mode 100644
index 000000000..7fd0c6793
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java
new file mode 100644
index 000000000..c28bfabce
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2020-03-25
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2020-03-25
+ */
+ List list(Map 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();
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserPartyRankService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserPartyRankService.java
new file mode 100644
index 000000000..b98990bbb
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2020-03-26
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2020-03-26
+ */
+ List list(Map 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();
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserRegisterRankService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserRegisterRankService.java
new file mode 100644
index 000000000..82adfb5f2
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2020-03-26
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2020-03-26
+ */
+ List list(Map 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();
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
index 8a460c049..9f97ce3a9 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
@@ -2,12 +2,10 @@ package com.elink.esua.epdc.modules.user.service;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO;
import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
-import com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO;
-import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
-import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
-import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO;
+import com.elink.esua.epdc.dto.user.result.*;
import java.util.List;
import java.util.Map;
@@ -88,4 +86,42 @@ public interface UserAnalysisService {
* @date 2020/2/13 14:22
*/
GridDataTotalResultDTO selectGridDataTotal(Map params);
+
+
+ /***
+ * 运营数据导出用户相关
+ * @param exportOperationFormDTO
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/23 15:16
+ */
+ List listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO);
+
+ /***
+ * 获取所有网格
+ * @param params
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/25 17:22
+ */
+ List selectListGridHasMaCode(Map params);
+
+
+ /***
+ * 获取导入数据
+ * @param params
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/25 19:13
+ */
+ List getToLeadGridOpenings(Map params);
+
+ /***
+ * 获取导入用户排行数据
+ * @param params
+ * @return java.util.List
+ * @author qushutong
+ * @date 2020/3/26 13:32
+ */
+ List getToLeadUserRegisterRandData(Map params);
}
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java
new file mode 100644
index 000000000..a126d5d1e
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 implements MetaUserGridOpiningService {
+ @Autowired
+ private UserAnalysisService userAnalysisService;
+
+ @Override
+ @DataSource(name = DataSourceNames.TWELVE)
+ public PageData page(Map params) {
+ IPage page = getPage(params);
+ List metaUserGridOpiningEntityList = getMetaUserGridOpiningEntities(params);
+ return getPageData(metaUserGridOpiningEntityList,page.getTotal(), MetaUserGridOpiningDTO.class);
+ }
+
+ private List getMetaUserGridOpiningEntities(Map params) {
+ // 获取所有网格
+ List gridOpeningResultDTOS = userAnalysisService.selectListGridHasMaCode(params);
+ List 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 list(Map params) {
+ List entityList = getMetaUserGridOpiningEntities(params);
+
+ return ConvertUtils.sourceToTarget(entityList, MetaUserGridOpiningDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper 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 list = userAnalysisService.getToLeadGridOpenings(new HashMap<>());
+ List metaUserGridOpiningEntities = ConvertUtils.sourceToTarget(list, MetaUserGridOpiningEntity.class);
+ boolean b = insertBatch(metaUserGridOpiningEntities);
+ return b?new Result<>():new Result().error("录入失败");
+ }
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserPartyRankServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserPartyRankServiceImpl.java
new file mode 100644
index 000000000..5da1eb35a
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 implements MetaUserPartyRankService {
+
+ @Autowired
+ private UserAnalysisService userAnalysisService;
+
+ @Autowired
+ private MetaUserRegisterRankServiceImpl metaUserRegisterRankService;
+
+ @Override
+ @DataSource(name = DataSourceNames.TWELVE)
+ public PageData page(Map params) {
+ IPage page = getPage(params);
+ List metaUserRegisterRankEntities = getMetaUserPartyRankEntities(params);
+ return getPageData(metaUserRegisterRankEntities,page.getTotal(), MetaUserPartyRankDTO.class);
+ }
+
+ private List getMetaUserPartyRankEntities(Map params) {
+ // 获取权限下的街道id
+ List 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 list(Map params) {
+ List entityList = getMetaUserPartyRankEntities(params);
+
+ return ConvertUtils.sourceToTarget(entityList, MetaUserPartyRankDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper 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 params = new HashMap<>();
+ params.put("partyFlag", YesOrNoEnum.YES.value());
+ List toLeadUserRegisterRandData = userAnalysisService.getToLeadUserRegisterRandData(params);
+ List metaUserPartyRankEntities = ConvertUtils.sourceToTarget(toLeadUserRegisterRandData, MetaUserPartyRankEntity.class);
+ return insertBatch(metaUserPartyRankEntities)? new Result(): new Result().error("导入党员排行失败") ;
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserRegisterRankServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserRegisterRankServiceImpl.java
new file mode 100644
index 000000000..6d89b576e
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 implements MetaUserRegisterRankService {
+
+ @Autowired
+ private UserAnalysisService userAnalysisService;
+ @Override
+ @DataSource(name = DataSourceNames.TWELVE)
+ public PageData page(Map params) {
+ IPage page = getPage(params);
+ List