Browse Source

积分排行接口修改

feature/syp_points
zhangyongzhangyong 5 years ago
parent
commit
7d9c2e65bd
  1. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  2. 8
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml
  3. 6
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppUserRankingFormDTO.java
  4. 13
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java
  5. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  6. 6
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  7. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
  8. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java
  9. 40
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  10. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
  11. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml

12
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -1487,17 +1487,7 @@ public class AppUserServiceImpl implements AppUserService {
formDto.setUserId(userDetail.getUserId());
formDto.setRealName(userDetail.getRealName());
formDto.setPoints(userDetail.getPoints());
if (NumConstant.ZERO == formDto.getRankingType()){
// 根据网格查询排行榜
formDto.setDeptId(userDetail.getGridId());
} else if (NumConstant.ONE == formDto.getRankingType()) {
// 根据街道查询排行榜
Result<CompleteDeptDTO> deptDto = adminFeignClient.getCompleteDept(userDetail.getGridId());
if (deptDto.success()) {
formDto.setDeptId(deptDto.getData().getStreetId());
}
}
formDto.setDeptId(userDetail.getGridId());
return userFeignClient.selectListUserPointsRanking(formDto);
}

8
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml

@ -119,12 +119,12 @@
AND en.DEL_FLAG = '0'
AND en.NOTICE_RELEASE_STATE = 1
ORDER BY
<if test='noticeCategory != null and noticeCategory != "" and noticeCategory == "6"'>
en.RELEASE_TIME DESC
</if>
<if test='noticeCategory != null and noticeCategory != "" and noticeCategory != "6"'>
<if test='noticeCategory != null and noticeCategory != "" and noticeCategory == "notice_navigation_hot"'>
en.READING_AMOUNT DESC
</if>
<if test='noticeCategory != null and noticeCategory != "" and noticeCategory != "notice_navigation_hot"'>
en.RELEASE_TIME DESC
</if>
LIMIT #{pageIndex},#{pageSize}
</select>

6
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppUserRankingFormDTO.java

@ -6,6 +6,7 @@ import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 移动端接口-用户模块-用户积分排行接口入参
@ -60,4 +61,9 @@ public class EpdcAppUserRankingFormDTO implements Serializable {
* 用户积分
*/
private Integer points;
/**
* 当前部门(网格/街道)下的所有用户ID
*/
private List<String> allUserIdByDept;
}

13
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java

@ -27,7 +27,7 @@ import java.util.List;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@Mapper
@ -66,4 +66,13 @@ public interface UserGridRelationDao extends BaseDao<UserGridRelationEntity> {
* @since 2020/3/7 1:20
*/
void updateGridByDeptId(String newDeptName, Long deptId);
}
/**
* 根据deptId查询用户网格关系表有多少用户在同一个网格/街道
* @param deptId
* @return java.util.List<java.lang.String>
* @Author zhangyong
* @Date 17:08 2020-06-04
**/
List<String> selectListUserIdByDeptId(Long deptId);
}

12
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
@ -39,4 +40,15 @@ public interface AdminFeignClient {
*/
@GetMapping("/sys/dept/getParentAndAllDept/{deptId}")
Result<ParentAndAllDeptDTO> getParentAndAllDept(@PathVariable("deptId") String deptId);
/**
* 根据网格ID获取所有上级机构名称和ID
*
* @param gridId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CompleteDeptDTO>
* @author zhangyong
* @date 2020/06/04 09:31
*/
@GetMapping("sys/dept/getCompleteDept/{gridId}")
Result<CompleteDeptDTO> getCompleteDept(@PathVariable("gridId") Long gridId);
}

6
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import org.springframework.stereotype.Component;
@ -26,4 +27,9 @@ public class AdminFeignClientFallback implements AdminFeignClient {
public Result<ParentAndAllDeptDTO> getParentAndAllDept(String depId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", depId);
}
@Override
public Result<CompleteDeptDTO> getCompleteDept(Long gridId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getCompleteDept", gridId);
}
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java

@ -188,4 +188,13 @@ public interface UserGridRelationService extends BaseService<UserGridRelationEnt
* @since 2020/3/7 1:23
*/
void modifyOrganizationInfo(OrganizationModifyDTO dto);
/**
* 根据deptId查询用户网格关系表有多少用户在同一个网格/街道
* @param deptId
* @return java.util.List<java.lang.String>
* @Author zhangyong
* @Date 17:08 2020-06-04
**/
List<String> listUserIdByDeptId(Long deptId);
}

5
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java

@ -233,6 +233,11 @@ public class UserGridRelationServiceImpl extends BaseServiceImpl<UserGridRelatio
baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
}
@Override
public List<String> listUserIdByDeptId(Long deptId) {
return baseDao.selectListUserIdByDeptId(deptId);
}
/**
*
* 组织机构信息处理

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

@ -42,13 +42,10 @@ import com.elink.esua.epdc.dao.PartyAuthenticationFailedDao;
import com.elink.esua.epdc.dao.PartyMembersDao;
import com.elink.esua.epdc.dao.UserAuthenticateHistoryDao;
import com.elink.esua.epdc.dao.UserDao;
import com.elink.esua.epdc.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
@ -1019,6 +1016,11 @@ 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);
// 积分相同,排名相同
EpdcAppUserRankingResultDTO rangking = new EpdcAppUserRankingResultDTO();
// 获取排好序的 排行榜数据数据
@ -1026,12 +1028,36 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
// 查询当前用户积分记录
EpdcAppRankingUserDTO currentUserDTO = baseDao.selectCurrentUserRanking(formDto);
// 返回当前登录用户积分排名
currentUserDTO.setUserId(formDto.getUserId());
currentUserDTO.setRealName(formDto.getRealName());
rangking.setCurrentUser(currentUserDTO);
if (null != currentUserDTO) {
currentUserDTO.setUserId(formDto.getUserId());
currentUserDTO.setRealName(formDto.getRealName());
rangking.setCurrentUser(currentUserDTO);
}
return rangking;
}
/**
* 返回本次 积分排行 用户网格关系表中的用户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<CompleteDeptDTO> deptDto = adminFeignClient.getCompleteDept(formDto.getDeptId());
if (deptDto.success()) {
formDto.setDeptId(deptDto.getData().getStreetId());
}
}
// 根据从 用户网格关系表中查询到的用户id,做积分排名比较
List<String> listUser = userGridRelationService.listUserIdByDeptId(formDto.getDeptId());
return listUser;
}
/**
* 获取排好序的排行榜数据
* @param formDto

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

@ -509,8 +509,11 @@
epdc_user u
WHERE
u.DEL_FLAG = 0 AND u.STATE != 0
<if test="deptId != null and deptId != '' ">
AND instr(u.ALL_DEPT_IDS , #{deptId} ) > 0
<if test="allUserIdByDept!=null and allUserIdByDept.size()>0">
and u.ID in
<foreach collection="allUserIdByDept" index="index" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</if>
ORDER BY u.POINTS DESC
LIMIT #{pageIndex}, #{pageSize}
@ -530,8 +533,11 @@
epdc_user u ,(select @i:=0) t1
WHERE
u.DEL_FLAG = 0 AND u.STATE != 0
<if test="deptId != null and deptId != '' ">
AND instr(u.ALL_DEPT_IDS , #{deptId} ) > 0
<if test="allUserIdByDept!=null and allUserIdByDept.size()>0">
and u.ID in
<foreach collection="allUserIdByDept" index="index" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</if>
GROUP BY IFNULL(u.POINTS, 0)
ORDER BY IFNULL(u.POINTS, 0) DESC

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml

@ -33,4 +33,13 @@
UPDATE epdc_user_grid_relation SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
</update>
</mapper>
<select id="selectListUserIdByDeptId" resultType="String">
SELECT
USER_ID userId
FROM
`epdc_user_grid_relation`
WHERE
FIND_IN_SET( #{deptId}, ALL_DEPT_IDS )
AND DEL_FLAG = '0'
</select>
</mapper>

Loading…
Cancel
Save