|
|
@ -1598,23 +1598,13 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem |
|
|
|
public EpdcAppUserRankingResultDTO listUserPointsRanking(EpdcAppUserRankingFormDTO formDto) { |
|
|
|
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize(); |
|
|
|
formDto.setPageIndex(pageIndex); |
|
|
|
|
|
|
|
// 获取 用户网格关系表 中的 用户id,做网格/街道 积分排行的源用户数据
|
|
|
|
List<String> listUser = this.getActRankingUserId(formDto); |
|
|
|
formDto.setAllUserIdByDept(listUser); |
|
|
|
|
|
|
|
formDto.setDeptId(this.getRankDeptId(formDto)); |
|
|
|
// 积分相同,排名相同
|
|
|
|
EpdcAppUserRankingResultDTO rangking = new EpdcAppUserRankingResultDTO(); |
|
|
|
// 获取排好序的 排行榜数据数据
|
|
|
|
rangking.setRank(this.sortListUsersRank(formDto)); |
|
|
|
rangking.setRank(baseDao.selectListUsersRanking(formDto)); |
|
|
|
// 查询当前用户积分记录
|
|
|
|
EpdcAppRankingUserDTO currentUserDTO = baseDao.selectCurrentUserRanking(formDto); |
|
|
|
// 返回当前登录用户积分排名
|
|
|
|
if (null != currentUserDTO) { |
|
|
|
currentUserDTO.setUserId(formDto.getUserId()); |
|
|
|
currentUserDTO.setRealName(formDto.getRealName()); |
|
|
|
rangking.setCurrentUser(currentUserDTO); |
|
|
|
} |
|
|
|
rangking.setCurrentUser(baseDao.selectCurrentUserRanking(formDto)); |
|
|
|
return rangking; |
|
|
|
} |
|
|
|
|
|
|
@ -1675,53 +1665,25 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取【排好序】的排行榜数据 |
|
|
|
* 判断需要统计哪个部门下的用户排行榜 |
|
|
|
* |
|
|
|
* @param formDto |
|
|
|
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcAppRankingUserDTO> |
|
|
|
* @Author zhangyong |
|
|
|
* @Date 13:50 2020-06-01 |
|
|
|
**/ |
|
|
|
private List<EpdcAppRankingUserDTO> sortListUsersRank(EpdcAppUserRankingFormDTO formDto) { |
|
|
|
List<EpdcAppRankingUserDTO> listPointsRank; |
|
|
|
listPointsRank = baseDao.selectListUsersRanking(formDto); |
|
|
|
int sortNumber = 1; |
|
|
|
if (listPointsRank != null) { |
|
|
|
for (int i = 1; i < listPointsRank.size(); i++) { |
|
|
|
listPointsRank.get(0).setRank(NumConstant.ONE); |
|
|
|
if (listPointsRank.get(i - NumConstant.ONE).getPoints().intValue() == listPointsRank.get(i).getPoints().intValue()) { |
|
|
|
listPointsRank.get(i).setRank(sortNumber); |
|
|
|
} else { |
|
|
|
sortNumber = sortNumber + NumConstant.ONE; |
|
|
|
listPointsRank.get(i).setRank(sortNumber); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return listPointsRank; |
|
|
|
} |
|
|
|
* @return java.lang.Long |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2020/9/16 10:57 |
|
|
|
*/ |
|
|
|
private Long getRankDeptId(EpdcAppUserRankingFormDTO formDto) { |
|
|
|
// 根据网格查询排行榜
|
|
|
|
Long deptId = formDto.getDeptId(); |
|
|
|
|
|
|
|
/** |
|
|
|
* 返回本次 积分排行 用户网格关系表中的用户id |
|
|
|
* |
|
|
|
* @param formDto |
|
|
|
* @return java.util.List<java.lang.String> |
|
|
|
* @Author zhangyong |
|
|
|
* @Date 17:25 2020-06-04 |
|
|
|
**/ |
|
|
|
private List<String> getActRankingUserId(EpdcAppUserRankingFormDTO formDto) { |
|
|
|
if (NumConstant.ZERO == formDto.getRankingType()) { |
|
|
|
// 根据网格查询排行榜
|
|
|
|
formDto.setDeptId(formDto.getDeptId()); |
|
|
|
} else if (NumConstant.ONE == formDto.getRankingType()) { |
|
|
|
// 根据街道查询排行榜
|
|
|
|
Result<List<Long>> deptDto = adminFeignClient.listParentIdByDeptId(formDto.getDeptId(), OrganizationTypeConstant.ORG_TYPE_STREET_PARTY); |
|
|
|
// 根据街道查询排行榜
|
|
|
|
if (NumConstant.ONE == formDto.getRankingType()) { |
|
|
|
Result<List<Long>> deptDto = adminFeignClient.listParentIdByDeptId(deptId, OrganizationTypeConstant.ORG_TYPE_STREET_PARTY); |
|
|
|
if (deptDto.success()) { |
|
|
|
formDto.setDeptId(deptDto.getData().get(NumConstant.ZERO)); |
|
|
|
deptId = deptDto.getData().get(NumConstant.ZERO); |
|
|
|
} |
|
|
|
} |
|
|
|
// 根据从 用户网格关系表中查询到的用户id,做积分排名比较
|
|
|
|
List<String> listUser = userGridRelationService.listUserIdByDeptId(formDto.getDeptId()); |
|
|
|
return listUser; |
|
|
|
return deptId; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|