Browse Source

新增部门积分统计接口

master
yujt 5 years ago
parent
commit
c979a36eb3
  1. 15
      epdc-cloud-user/src/main/java/com/elink/esua/epdc/controller/UserController.java
  2. 11
      epdc-cloud-user/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  3. 10
      epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/UserService.java
  4. 11
      epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  5. 97
      epdc-cloud-user/src/main/resources/mapper/UserDao.xml

15
epdc-cloud-user/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;
@ -357,4 +358,18 @@ public class UserController {
PageData<UserPointsDTO> page = userService.pageForPoints(params);
return new Result<PageData<UserPointsDTO>>().ok(page);
}
/**
* 网格积分排名
*
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.UserPointResultDTO>>
* @author qushutong
* @date 2020/8/4 13:44
*/
@GetMapping("pointPage")
public Result<PageData<UserPointResultDTO>> pointPage(@RequestParam Map<String, Object> params) {
PageData<UserPointResultDTO> page = userService.listPoint(params);
return new Result<PageData<UserPointResultDTO>>().ok(page);
}
}

11
epdc-cloud-user/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.*;
@ -295,4 +296,14 @@ public interface UserDao extends BaseDao<UserEntity> {
* @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<UserPointResultDTO> selectListPoints(Map<String, Object> params);
}

10
epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -438,4 +438,14 @@ public interface UserService extends BaseService<UserEntity> {
**/
Result<EpdcAppUserGradeRankingResultDTO> listUsersGradeRanking(EpdcAppUserGradeRankingFormDTO formDto);
/**
* 网络积分排名
*
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserPointResultDTO>
* @author qushutong
* @date 2020/8/3 13:41
*/
PageData<UserPointResultDTO> listPoint(Map<String, Object> params);
}

11
epdc-cloud-user/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -40,6 +40,7 @@ import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationEnum;
import com.elink.esua.epdc.commons.tools.exception.RenException;
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.*;
import com.elink.esua.epdc.config.StreamUtils;
import com.elink.esua.epdc.constant.AuthenticatedConsant;
@ -1637,6 +1638,16 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result<EpdcAppUserGradeRankingResultDTO>().ok(rangking);
}
@Override
public PageData<UserPointResultDTO> listPoint(Map<String, Object> params) {
// 查询当前用户所具有的的数据权限
List<Long> deptIdList = SecurityUser.getUser().getDeptIdList();
params.put("deptIdList", deptIdList);
IPage<UserPointResultDTO> iPage = this.getPage(params);
List<UserPointResultDTO> userPointResultList = baseDao.selectListPoints(params);
return new PageData<>(userPointResultList, iPage.getTotal());
}
/**
* 获取排好序 用户等级排行榜数据
*

97
epdc-cloud-user/src/main/resources/mapper/UserDao.xml

@ -829,4 +829,101 @@ WHERE 1 = 1
) userRanking
WHERE userRanking.POINTS_TOTLE = #{pointsTotle}
</select>
<select id="selectListPoints" resultType="com.elink.esua.epdc.dto.UserPointResultDTO">
SELECT
SUM(t0.points) AS points,
SUM(t0.pointsTotle) AS pointsTotle,
t0.ALL_DEPT_IDS,
t0.PARENT_DEPT_IDS,
t0.PARENT_DEPT_NAMES,
<choose>
<when test='type != "" and type != null and type=="1"'>
t0.ALL_DEPT_NAMES as ALL_DEPT_NAMES
</when>
<otherwise>
t0.PARENT_DEPT_NAMES as ALL_DEPT_NAMES
</otherwise>
</choose>
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'
<if test="deptIdList!=null and deptIdList.size()>0">
and ug3.GRID_ID IN
<foreach item="deptIdItem" collection="deptIdList" open="(" separator="," close=")">
#{deptIdItem}
</foreach>
</if>
GROUP BY
<choose>
<when test='type != "" and type != null and type=="1"'>
t0.ALL_DEPT_IDS
</when>
<otherwise>
t0.PARENT_DEPT_IDS
</otherwise>
</choose>
ORDER BY
points DESC
</select>
</mapper>

Loading…
Cancel
Save