From 1531f540b9c73087bc6e4f8e70abde33456ba553 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=B2=E6=A0=91=E9=80=9A?= <1976590620@qq.com>
Date: Mon, 3 Aug 2020 16:16:28 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E6=8E=92=E5=90=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../esua/epdc/dto/UserPointResultDTO.java | 67 ++++++++++++++
.../esua/epdc/controller/UserController.java | 12 +++
.../java/com/elink/esua/epdc/dao/UserDao.java | 10 ++
.../elink/esua/epdc/service/UserService.java | 15 ++-
.../epdc/service/impl/UserServiceImpl.java | 8 ++
.../src/main/resources/mapper/UserDao.xml | 91 +++++++++++++++++++
6 files changed, 199 insertions(+), 4 deletions(-)
create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserPointResultDTO.java
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserPointResultDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserPointResultDTO.java
new file mode 100644
index 00000000..36629833
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserPointResultDTO.java
@@ -0,0 +1,67 @@
+/**
+ * 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 lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * @author: qushutong
+ * @Date: 2020/8/3 11:00
+ * @Description: 网格积分排行
+ */
+@Data
+public class UserPointResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -816829897801616059L;
+
+ /**
+ * 用户积分
+ */
+ private Integer points;
+
+ /**
+ * 用户累计积分
+ */
+ private Integer pointsTotle;
+
+ /**
+ * 父所有部门
+ */
+ private String parentDeptIds;
+
+ /**
+ * 父所有部门
+ */
+ private String parentDeptNames;
+
+ /**
+ * 所有部门ID
+ */
+ private String allDeptIds;
+
+ /**
+ * 所有部门名称
+ */
+ private String allDeptNames;
+}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
index 4edf9007..e29da6fb 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
@@ -29,6 +29,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.PartyMemberModifyFormDTO;
import com.elink.esua.epdc.dto.UserDTO;
+import com.elink.esua.epdc.dto.UserPointResultDTO;
import com.elink.esua.epdc.dto.UserPointsDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.enums.AppUserStatesEnum;
@@ -306,4 +307,15 @@ public class UserController {
public Result addPerfectPoints(@RequestBody UserDTO dto){
return new Result();
}
+
+
+
+
+ @GetMapping("pointPage")
+ @DataFilter(tableAlias = "ug3", isPendingCreator = false, deptId = "GRID_ID", prefix = "AND")
+ public Result> pointPage(@RequestParam Map params) {
+ PageData page = userService.listPoint(params);
+ return new Result>().ok(page);
+
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
index 2c93e927..fc1b3cf7 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
@@ -20,6 +20,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.UserDTO;
+import com.elink.esua.epdc.dto.UserPointResultDTO;
import com.elink.esua.epdc.dto.UserPointsDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*;
@@ -279,4 +280,13 @@ public interface UserDao extends BaseDao {
* @Date 14:06 2020-06-24
**/
UsersGradeRankingDTO selectCurrentUserGradeRanking(EpdcAppUserGradeRankingFormDTO formDto);
+
+ /***
+ * 网格社区排名
+ * @param params
+ * @return java.lang.Object
+ * @author qushutong
+ * @date 2020/8/3 13:43
+ */
+ List selectListPoints(Map params);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
index f3ad34d1..68e43406 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
@@ -20,10 +20,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
-import com.elink.esua.epdc.dto.CachingUserInfoDTO;
-import com.elink.esua.epdc.dto.PartyMemberModifyFormDTO;
-import com.elink.esua.epdc.dto.UserDTO;
-import com.elink.esua.epdc.dto.UserPointsDTO;
+import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.entity.UserEntity;
@@ -387,4 +384,14 @@ public interface UserService extends BaseService {
* @Date 10:59 2020-06-24
**/
Result listUsersGradeRanking(EpdcAppUserGradeRankingFormDTO formDto);
+
+ /***
+ * 网络积分排名
+ * @param params
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @author qushutong
+ * @date 2020/8/3 13:41
+ */
+ PageData listPoint(Map params);
+
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
index 2f08aec6..e88a24ec 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
@@ -1319,6 +1319,8 @@ public class UserServiceImpl extends BaseServiceImpl implem
return new Result().ok(rangking);
}
+
+
/**
* 获取【排好序】的 用户等级排行榜数据
* @param formDto
@@ -1344,4 +1346,10 @@ public class UserServiceImpl extends BaseServiceImpl implem
return listPointsRank;
}
+ @Override
+ public PageData listPoint(Map params) {
+ IPage iPage = this.getPage(params);
+ List userPointResultDTOS = baseDao.selectListPoints(params);
+ return new PageData<>(userPointResultDTOS, iPage.getTotal());
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
index d6fa53fc..8ad88f51 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
@@ -833,4 +833,95 @@
) userRanking
WHERE userRanking.POINTS_TOTLE = #{pointsTotle}
+
+
+ SELECT
+ SUM(t0.points) AS points,
+ SUM(t0.pointsTotle) AS pointsTotle,
+ t0.ALL_DEPT_IDS,
+ t0.PARENT_DEPT_IDS,
+ t0.PARENT_DEPT_NAMES,
+
+
+ t0.ALL_DEPT_NAMES as ALL_DEPT_NAMES
+
+
+ t0.PARENT_DEPT_NAMES as ALL_DEPT_NAMES
+
+
+ FROM
+ (
+ (
+ SELECT
+ SUM(u.POINTS) AS points,
+ SUM(u.POINTS_TOTLE) AS pointsTotle,
+ u.ALL_DEPT_IDS,
+ u.ALL_DEPT_NAMES,
+ u.PARENT_DEPT_IDS,
+ u.PARENT_DEPT_NAMES,
+ u.ID
+ FROM
+ epdc_user u
+ WHERE
+ u.ALL_DEPT_IDS IS NOT NULL
+ AND TRIM(u.ALL_DEPT_IDS) != ''
+ AND u.DEL_FLAG = '0'
+ GROUP BY
+ u.ALL_DEPT_IDS
+ ORDER BY
+ pointsTotle DESC
+ )
+ UNION ALL
+ (
+ SELECT
+ SUM(u2.POINTS) AS points,
+ SUM(u2.POINTS_TOTLE) AS pointsTotle,
+ ug2.ALL_DEPT_IDS,
+ ug2.ALL_DEPT_NAMES,
+ ug2.PARENT_DEPT_IDS,
+ ug2.PARENT_DEPT_NAMES,
+ u2.ID
+ FROM
+ epdc_user u2
+ LEFT JOIN (
+ SELECT
+ u.ID,
+ ug.ALL_DEPT_IDS,
+ ug.ALL_DEPT_NAMES,
+ ug.PARENT_DEPT_IDS,
+ ug.PARENT_DEPT_NAMES
+ FROM
+ epdc_user u
+ LEFT JOIN epdc_user_grid_relation ug ON u.ID = ug.USER_ID
+ AND ug.DEL_FLAG = '0'
+ WHERE
+ u.DEL_FLAG = '0'
+ GROUP BY
+ u.ID
+ ORDER BY
+ ug.CREATED_TIME
+ ) ug2 ON u2.ID = ug2.ID
+ WHERE
+ u2.ALL_DEPT_IDS IS NULL
+ OR TRIM(u2.ALL_DEPT_IDS) = ''
+ GROUP BY
+ ug2.ALL_DEPT_IDS
+ ORDER BY
+ pointsTotle DESC
+ )
+ ) t0
+ LEFT JOIN ( select * from (select * from epdc_user_grid_relation order by CREATED_TIME)t group by t.USER_ID) ug3 ON t0.ID = ug3.USER_ID
+ where ug3.DEL_FLAG = '0'
+ GROUP BY
+
+
+ t0.ALL_DEPT_IDS
+
+
+ t0.PARENT_DEPT_IDS
+
+
+ ORDER BY
+ points DESC
+