|  |  | @ -107,9 +107,15 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem | 
			
		
	
		
			
				
					|  |  |  |         Long userId = SecurityUser.getUserId(); | 
			
		
	
		
			
				
					|  |  |  |         // 查询当前用户所具有的的数据权限
 | 
			
		
	
		
			
				
					|  |  |  |         UserDetail userDetail = userDetailRedis.get(userId); | 
			
		
	
		
			
				
					|  |  |  |         IPage<UserDTO> iPage = this.getPage(params); | 
			
		
	
		
			
				
					|  |  |  |         List<UserDTO> userDtoList = this.baseDao.selectListUserDto(params); | 
			
		
	
		
			
				
					|  |  |  |         return new PageData<>(userDtoList, iPage.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |         if (NumConstant.ONE_STR.equals(params.get("state").toString())) { | 
			
		
	
		
			
				
					|  |  |  |             IPage<UserDTO> iPage = this.getPage(params); | 
			
		
	
		
			
				
					|  |  |  |             List<UserDTO> userDtoList = this.baseDao.selectListWaitUserDto(params); | 
			
		
	
		
			
				
					|  |  |  |             return new PageData<>(userDtoList, iPage.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |             IPage<UserDTO> iPage = this.getPage(params); | 
			
		
	
		
			
				
					|  |  |  |             List<UserDTO> userDtoList = this.baseDao.selectListUserDto(params); | 
			
		
	
		
			
				
					|  |  |  |             return new PageData<>(userDtoList, iPage.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
	
		
			
				
					|  |  | @ -1045,6 +1051,190 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem | 
			
		
	
		
			
				
					|  |  |  |         List<UserPointsDTO> list = baseDao.selectListUserPoints(params); | 
			
		
	
		
			
				
					|  |  |  |         return new PageData<>(list, page.getTotal());    } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public PageData<UserDTO> waitPartyPage(Map<String, Object> params) { | 
			
		
	
		
			
				
					|  |  |  |         this.verifyParams(params); | 
			
		
	
		
			
				
					|  |  |  |         IPage<UserDTO> iPage = this.getPage(params); | 
			
		
	
		
			
				
					|  |  |  |         List<UserDTO> userDtoList = this.baseDao.selectListOfWaitPartyUserDto(params); | 
			
		
	
		
			
				
					|  |  |  |         return new PageData<>(userDtoList, iPage.getTotal()); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public List<UserDTO> listOfWaitParty(Map<String, Object> params) { | 
			
		
	
		
			
				
					|  |  |  |         this.verifyParams(params); | 
			
		
	
		
			
				
					|  |  |  |         return this.baseDao.selectListOfWaitPartyUserDto(params); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     @Transactional(rollbackFor = Exception.class) | 
			
		
	
		
			
				
					|  |  |  |     public Result modifyPartyInfo(PartyMemberModifyFormDTO dto) { | 
			
		
	
		
			
				
					|  |  |  |         // 更新党员库信息
 | 
			
		
	
		
			
				
					|  |  |  |         PartyMembersEntity entity = new PartyMembersEntity(); | 
			
		
	
		
			
				
					|  |  |  |         entity.setId(dto.getPartyMemberId()); | 
			
		
	
		
			
				
					|  |  |  |         entity.setRealName(dto.getRealName()); | 
			
		
	
		
			
				
					|  |  |  |         entity.setIdentityNo(dto.getIdentityNo()); | 
			
		
	
		
			
				
					|  |  |  |         partyMembersDao.updateById(entity); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 用户认证党员信息通过
 | 
			
		
	
		
			
				
					|  |  |  |         UserDTO userDTO = ConvertUtils.sourceToTarget(dto, UserDTO.class); | 
			
		
	
		
			
				
					|  |  |  |         userDTO.setId(dto.getUserId()); | 
			
		
	
		
			
				
					|  |  |  |         userDTO.setPartyFlag(YesOrNoEnum.YES.value()); | 
			
		
	
		
			
				
					|  |  |  |         this.partyReview(userDTO); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return new Result(); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     @Transactional(rollbackFor = Exception.class) | 
			
		
	
		
			
				
					|  |  |  |     public Result<List<PartyMembersDTO>> partyReview(UserDTO dto) { | 
			
		
	
		
			
				
					|  |  |  |         this.verifyUserInfo(dto); | 
			
		
	
		
			
				
					|  |  |  |         UserEntity findUser = this.baseDao.selectById(dto.getId()); | 
			
		
	
		
			
				
					|  |  |  |         dto.setState(NumConstant.THREE_STR); | 
			
		
	
		
			
				
					|  |  |  |         // 手动认证为党员
 | 
			
		
	
		
			
				
					|  |  |  |         if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) { | 
			
		
	
		
			
				
					|  |  |  |             // 校验是党员库是否存在相同的身份证号或者姓名
 | 
			
		
	
		
			
				
					|  |  |  |             boolean isParty = getPartyMemberByRealNameAndIdentityNo(dto.getRealName(), dto.getIdentityNo()); | 
			
		
	
		
			
				
					|  |  |  |             if (!isParty) { | 
			
		
	
		
			
				
					|  |  |  |                 Result<List<PartyMembersDTO>> result = getPartyMemberByRealNameOrIdentityNo(dto.getRealName(), dto.getIdentityNo()); | 
			
		
	
		
			
				
					|  |  |  |                 if (result.getCode() != 0) { | 
			
		
	
		
			
				
					|  |  |  |                     return result; | 
			
		
	
		
			
				
					|  |  |  |                 } else { | 
			
		
	
		
			
				
					|  |  |  |                     // 插入党员库
 | 
			
		
	
		
			
				
					|  |  |  |                     insertPartyMember(dto); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         // createdTime作为提交注册时间,registerTime作为注册审核时间(即注册时间)
 | 
			
		
	
		
			
				
					|  |  |  |         dto.setRegisterTime(new Date()); | 
			
		
	
		
			
				
					|  |  |  |         //先删除以前审核未通过的那条数据
 | 
			
		
	
		
			
				
					|  |  |  |         UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class); | 
			
		
	
		
			
				
					|  |  |  |         updateById(entity); | 
			
		
	
		
			
				
					|  |  |  |         // 组装数据并插入用户认证历史表
 | 
			
		
	
		
			
				
					|  |  |  |         findUser.setMobile(dto.getMobile()); | 
			
		
	
		
			
				
					|  |  |  |         findUser.setRealName(dto.getRealName()); | 
			
		
	
		
			
				
					|  |  |  |         saveUserAuthenticateHistory(findUser, dto.getPartyFlag(), dto.getRemark(), dto.getState()); | 
			
		
	
		
			
				
					|  |  |  |         // 修改党员库信息
 | 
			
		
	
		
			
				
					|  |  |  |         if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) { | 
			
		
	
		
			
				
					|  |  |  |             updatePartyMember(findUser, dto.getRegisterTime()); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return new Result<>(); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     @Transactional(rollbackFor = Exception.class) | 
			
		
	
		
			
				
					|  |  |  |     public Result addPartyInfo(PartyMemberModifyFormDTO dto) { | 
			
		
	
		
			
				
					|  |  |  |         // 新增党员库信息
 | 
			
		
	
		
			
				
					|  |  |  |         PartyMembersEntity entity = new PartyMembersEntity(); | 
			
		
	
		
			
				
					|  |  |  |         entity.setRealName(dto.getRealName()); | 
			
		
	
		
			
				
					|  |  |  |         entity.setIdentityNo(dto.getIdentityNo()); | 
			
		
	
		
			
				
					|  |  |  |         entity.setRegistFlag(PartyMemberRegFlagEnum.NO.getValue()); | 
			
		
	
		
			
				
					|  |  |  |         partyMembersDao.insert(entity); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 用户认证党员信息通过
 | 
			
		
	
		
			
				
					|  |  |  |         UserDTO userDTO = ConvertUtils.sourceToTarget(dto, UserDTO.class); | 
			
		
	
		
			
				
					|  |  |  |         userDTO.setId(dto.getUserId()); | 
			
		
	
		
			
				
					|  |  |  |         userDTO.setPartyFlag(YesOrNoEnum.YES.value()); | 
			
		
	
		
			
				
					|  |  |  |         this.partyReview(userDTO); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return new Result(); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * 新增党员信息 | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * @params [dto, findUser] | 
			
		
	
		
			
				
					|  |  |  |      * @return void | 
			
		
	
		
			
				
					|  |  |  |      * @author liuchuang | 
			
		
	
		
			
				
					|  |  |  |      * @since 2020/3/23 19:35 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     private void insertPartyMember(UserDTO dto) { | 
			
		
	
		
			
				
					|  |  |  |         PartyMembersEntity entity = new PartyMembersEntity(); | 
			
		
	
		
			
				
					|  |  |  |         entity.setRealName(dto.getRealName()); | 
			
		
	
		
			
				
					|  |  |  |         entity.setIdentityNo(dto.getIdentityNo()); | 
			
		
	
		
			
				
					|  |  |  |         entity.setRegistFlag(PartyMemberRegFlagEnum.MANUAL.getValue()); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         partyMembersDao.insert(entity); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * 获取党员信息 | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * @params [realName, identityNo] | 
			
		
	
		
			
				
					|  |  |  |      * @return boolean | 
			
		
	
		
			
				
					|  |  |  |      * @author liuchuang | 
			
		
	
		
			
				
					|  |  |  |      * @since 2020/3/23 18:30 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     private boolean getPartyMemberByRealNameAndIdentityNo(String realName, String identityNo) { | 
			
		
	
		
			
				
					|  |  |  |         QueryWrapper<PartyMembersEntity> wrapper = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |         wrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo) | 
			
		
	
		
			
				
					|  |  |  |                 .eq(UserFieldConsant.REAL_NAME, realName); | 
			
		
	
		
			
				
					|  |  |  |         Integer count = this.partyMembersDao.selectCount(wrapper); | 
			
		
	
		
			
				
					|  |  |  |         return count != NumConstant.ZERO; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * 获取党员信息 | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * @params [realName, identityNo] | 
			
		
	
		
			
				
					|  |  |  |      * @return java.util.List<com.elink.esua.epdc.dto.UserDTO> | 
			
		
	
		
			
				
					|  |  |  |      * @author liuchuang | 
			
		
	
		
			
				
					|  |  |  |      * @since 2020/3/23 18:35 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     private Result<List<PartyMembersDTO>> getPartyMemberByRealNameOrIdentityNo(String realName, String identityNo) { | 
			
		
	
		
			
				
					|  |  |  |         List<PartyMembersEntity> partyMembersEntities = null; | 
			
		
	
		
			
				
					|  |  |  |         List<PartyMembersDTO> data = null; | 
			
		
	
		
			
				
					|  |  |  |         Result<List<PartyMembersDTO>> result = new Result<>(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 根据身份证号查询党员库
 | 
			
		
	
		
			
				
					|  |  |  |         QueryWrapper<PartyMembersEntity> identityNoWrapper = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |         identityNoWrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo); | 
			
		
	
		
			
				
					|  |  |  |         partyMembersEntities = this.partyMembersDao.selectList(identityNoWrapper); | 
			
		
	
		
			
				
					|  |  |  |         if (null != partyMembersEntities && partyMembersEntities.size() > 0) { | 
			
		
	
		
			
				
					|  |  |  |             data = ConvertUtils.sourceToTarget(partyMembersEntities, PartyMembersDTO.class); | 
			
		
	
		
			
				
					|  |  |  |             result.setCode(NumConstant.ONE); | 
			
		
	
		
			
				
					|  |  |  |             result.setData(data); | 
			
		
	
		
			
				
					|  |  |  |             return result; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         // 根据姓名查询党员库
 | 
			
		
	
		
			
				
					|  |  |  |         QueryWrapper<PartyMembersEntity> realNameWrapper = new QueryWrapper<>(); | 
			
		
	
		
			
				
					|  |  |  |         realNameWrapper.eq(UserFieldConsant.REAL_NAME, realName); | 
			
		
	
		
			
				
					|  |  |  |         partyMembersEntities = this.partyMembersDao.selectList(realNameWrapper); | 
			
		
	
		
			
				
					|  |  |  |         if (null != partyMembersEntities && partyMembersEntities.size() > 0) { | 
			
		
	
		
			
				
					|  |  |  |             data = ConvertUtils.sourceToTarget(partyMembersEntities, PartyMembersDTO.class); | 
			
		
	
		
			
				
					|  |  |  |             result.setCode(NumConstant.TWO); | 
			
		
	
		
			
				
					|  |  |  |             result.setData(data); | 
			
		
	
		
			
				
					|  |  |  |             return result; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return new Result<>(); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * 用户信息校验 | 
			
		
	
		
			
				
					|  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |      * @params [dto] | 
			
		
	
		
			
				
					|  |  |  |      * @return com.elink.esua.epdc.dto.UserDTO | 
			
		
	
		
			
				
					|  |  |  |      * @author liuchuang | 
			
		
	
		
			
				
					|  |  |  |      * @since 2020/3/23 18:23 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     private UserDTO verifyUserInfo(UserDTO dto) { | 
			
		
	
		
			
				
					|  |  |  |         if (StringUtils.isBlank(dto.getRealName()) && StringUtils.isBlank(dto.getRealName().trim())) { | 
			
		
	
		
			
				
					|  |  |  |             throw new RenException("用户姓名不能为空"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         if (StringUtils.isBlank(dto.getMobile()) && StringUtils.isBlank(dto.getMobile().trim())) { | 
			
		
	
		
			
				
					|  |  |  |             throw new RenException("手机号不能为空"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         if (StringUtils.isBlank(dto.getIdentityNo()) && StringUtils.isBlank(dto.getIdentityNo().trim())) { | 
			
		
	
		
			
				
					|  |  |  |             throw new RenException("身份证号不能为空"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         dto.setRealName(dto.getRealName().trim()); | 
			
		
	
		
			
				
					|  |  |  |         dto.setMobile(dto.getMobile().trim()); | 
			
		
	
		
			
				
					|  |  |  |         dto.setIdentityNo(dto.getIdentityNo().trim()); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         return dto; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * 返回本次 积分排行 用户网格关系表中的用户id | 
			
		
	
		
			
				
					|  |  |  |      * @param formDto | 
			
		
	
	
		
			
				
					|  |  | 
 |