Browse Source

积分排行接口修改

feature/syp_points
zhangyongzhangyong 5 years ago
parent
commit
7d9c2e65bd
  1. 10
      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. 9
      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. 34
      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. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml

10
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.setUserId(userDetail.getUserId());
formDto.setRealName(userDetail.getRealName()); formDto.setRealName(userDetail.getRealName());
formDto.setPoints(userDetail.getPoints()); formDto.setPoints(userDetail.getPoints());
if (NumConstant.ZERO == formDto.getRankingType()){
// 根据网格查询排行榜
formDto.setDeptId(userDetail.getGridId()); 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());
}
}
return userFeignClient.selectListUserPointsRanking(formDto); 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.DEL_FLAG = '0'
AND en.NOTICE_RELEASE_STATE = 1 AND en.NOTICE_RELEASE_STATE = 1
ORDER BY ORDER BY
<if test='noticeCategory != null and noticeCategory != "" and noticeCategory == "6"'> <if test='noticeCategory != null and noticeCategory != "" and noticeCategory == "notice_navigation_hot"'>
en.RELEASE_TIME DESC
</if>
<if test='noticeCategory != null and noticeCategory != "" and noticeCategory != "6"'>
en.READING_AMOUNT DESC en.READING_AMOUNT DESC
</if> </if>
<if test='noticeCategory != null and noticeCategory != "" and noticeCategory != "notice_navigation_hot"'>
en.RELEASE_TIME DESC
</if>
LIMIT #{pageIndex},#{pageSize} LIMIT #{pageIndex},#{pageSize}
</select> </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.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* 移动端接口-用户模块-用户积分排行接口入参 * 移动端接口-用户模块-用户积分排行接口入参
@ -60,4 +61,9 @@ public class EpdcAppUserRankingFormDTO implements Serializable {
* 用户积分 * 用户积分
*/ */
private Integer points; private Integer points;
/**
* 当前部门(网格/街道)下的所有用户ID
*/
private List<String> allUserIdByDept;
} }

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

@ -66,4 +66,13 @@ public interface UserGridRelationDao extends BaseDao<UserGridRelationEntity> {
* @since 2020/3/7 1:20 * @since 2020/3/7 1:20
*/ */
void updateGridByDeptId(String newDeptName, Long deptId); 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.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; 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.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback; import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
@ -39,4 +40,15 @@ public interface AdminFeignClient {
*/ */
@GetMapping("/sys/dept/getParentAndAllDept/{deptId}") @GetMapping("/sys/dept/getParentAndAllDept/{deptId}")
Result<ParentAndAllDeptDTO> getParentAndAllDept(@PathVariable("deptId") String 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.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; 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.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.AdminFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -26,4 +27,9 @@ public class AdminFeignClientFallback implements AdminFeignClient {
public Result<ParentAndAllDeptDTO> getParentAndAllDept(String depId) { public Result<ParentAndAllDeptDTO> getParentAndAllDept(String depId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", 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 * @since 2020/3/7 1:23
*/ */
void modifyOrganizationInfo(OrganizationModifyDTO dto); 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()); baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
} }
@Override
public List<String> listUserIdByDeptId(Long deptId) {
return baseDao.selectListUserIdByDeptId(deptId);
}
/** /**
* *
* 组织机构信息处理 * 组织机构信息处理

34
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.PartyMembersDao;
import com.elink.esua.epdc.dao.UserAuthenticateHistoryDao; import com.elink.esua.epdc.dao.UserAuthenticateHistoryDao;
import com.elink.esua.epdc.dao.UserDao; import com.elink.esua.epdc.dao.UserDao;
import com.elink.esua.epdc.dto.CachingUserInfoDTO; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; 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.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.*; 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.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*; 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) { public EpdcAppUserRankingResultDTO listUserPointsRanking(EpdcAppUserRankingFormDTO formDto) {
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize(); int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex); formDto.setPageIndex(pageIndex);
// 获取 用户网格关系表 中的 用户id,做网格/街道 积分排行的源用户数据
List<String> listUser = this.getActRankingUserId(formDto);
formDto.setAllUserIdByDept(listUser);
// 积分相同,排名相同 // 积分相同,排名相同
EpdcAppUserRankingResultDTO rangking = new EpdcAppUserRankingResultDTO(); EpdcAppUserRankingResultDTO rangking = new EpdcAppUserRankingResultDTO();
// 获取排好序的 排行榜数据数据 // 获取排好序的 排行榜数据数据
@ -1026,12 +1028,36 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
// 查询当前用户积分记录 // 查询当前用户积分记录
EpdcAppRankingUserDTO currentUserDTO = baseDao.selectCurrentUserRanking(formDto); EpdcAppRankingUserDTO currentUserDTO = baseDao.selectCurrentUserRanking(formDto);
// 返回当前登录用户积分排名 // 返回当前登录用户积分排名
if (null != currentUserDTO) {
currentUserDTO.setUserId(formDto.getUserId()); currentUserDTO.setUserId(formDto.getUserId());
currentUserDTO.setRealName(formDto.getRealName()); currentUserDTO.setRealName(formDto.getRealName());
rangking.setCurrentUser(currentUserDTO); rangking.setCurrentUser(currentUserDTO);
}
return rangking; 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 * @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 epdc_user u
WHERE WHERE
u.DEL_FLAG = 0 AND u.STATE != 0 u.DEL_FLAG = 0 AND u.STATE != 0
<if test="deptId != null and deptId != '' "> <if test="allUserIdByDept!=null and allUserIdByDept.size()>0">
AND instr(u.ALL_DEPT_IDS , #{deptId} ) > 0 and u.ID in
<foreach collection="allUserIdByDept" index="index" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</if> </if>
ORDER BY u.POINTS DESC ORDER BY u.POINTS DESC
LIMIT #{pageIndex}, #{pageSize} LIMIT #{pageIndex}, #{pageSize}
@ -530,8 +533,11 @@
epdc_user u ,(select @i:=0) t1 epdc_user u ,(select @i:=0) t1
WHERE WHERE
u.DEL_FLAG = 0 AND u.STATE != 0 u.DEL_FLAG = 0 AND u.STATE != 0
<if test="deptId != null and deptId != '' "> <if test="allUserIdByDept!=null and allUserIdByDept.size()>0">
AND instr(u.ALL_DEPT_IDS , #{deptId} ) > 0 and u.ID in
<foreach collection="allUserIdByDept" index="index" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</if> </if>
GROUP BY IFNULL(u.POINTS, 0) GROUP BY IFNULL(u.POINTS, 0)
ORDER BY IFNULL(u.POINTS, 0) DESC ORDER BY IFNULL(u.POINTS, 0) DESC

9
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 epdc_user_grid_relation SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
</update> </update>
<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> </mapper>
Loading…
Cancel
Save