Browse Source

管理端保存用户时判重;token校验处理;其他

dev
yujintao 6 years ago
parent
commit
d72d153179
  1. 40
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
  2. 3
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/resolver/LoginUserHandlerMethodArgumentResolver.java
  3. 1
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

40
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java

@ -17,7 +17,6 @@ import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum; import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException; 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.page.PageData;
import com.elink.esua.epdc.commons.tools.security.password.PasswordUtils; import com.elink.esua.epdc.commons.tools.security.password.PasswordUtils;
@ -103,14 +102,8 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(SysUserDTO dto) { public void save(SysUserDTO dto) {
// 保存用户之前,用户名判重
QueryWrapper<SysUserEntity> wrapper = new QueryWrapper<>(); this.verifyUsernameAndMobile(dto);
wrapper.eq("username", dto.getUsername())
.eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value());
Integer selectCount = this.baseDao.selectCount(wrapper);
if (selectCount > NumConstant.ZERO) {
throw new RenException(ErrorCode.DB_RECORD_EXISTS);
}
SysUserEntity entity = ConvertUtils.sourceToTarget(dto, SysUserEntity.class); SysUserEntity entity = ConvertUtils.sourceToTarget(dto, SysUserEntity.class);
@ -129,6 +122,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(SysUserDTO dto) { public void update(SysUserDTO dto) {
this.verifyUsernameAndMobile(dto);
SysUserEntity entity = ConvertUtils.sourceToTarget(dto, SysUserEntity.class); SysUserEntity entity = ConvertUtils.sourceToTarget(dto, SysUserEntity.class);
//密码加密 //密码加密
@ -146,6 +142,26 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
sysRoleUserService.saveOrUpdate(entity.getId(), dto.getRoleIdList()); sysRoleUserService.saveOrUpdate(entity.getId(), dto.getRoleIdList());
} }
/**
* 用户名与手机号查重
*
* @param dto 用户新增或修改时的提交数据
* @return void
* @author work@yujt.net.cn
* @date 2019/11/4 14:01
*/
private void verifyUsernameAndMobile(SysUserDTO dto) {
QueryWrapper<SysUserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value())
.and(i -> i.eq(StringUtils.isNotBlank(dto.getMobile()), "mobile", dto.getMobile())
.or()
.eq("username", dto.getUsername()));
Integer selectCount = this.baseDao.selectCount(wrapper);
if (selectCount > NumConstant.ZERO) {
throw new RenException("保存失败,用户名或手机号重复");
}
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(Long[] ids) { public void delete(Long[] ids) {
@ -176,8 +192,8 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
.eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value()); .eq(FieldConstant.DEL_FLAG, DelFlagEnum.NORMAL.value());
Integer selectCount = baseDao.selectCount(wrapper); Integer selectCount = baseDao.selectCount(wrapper);
if (selectCount != NumConstant.ONE) { if (selectCount == NumConstant.ZERO) {
return new Result().error("校验网格长手机号失败"); return new Result().error("匹配网格长手机号失败");
} }
SysUserEntity sysUserEntity = baseDao.selectOne(wrapper); SysUserEntity sysUserEntity = baseDao.selectOne(wrapper);
@ -185,7 +201,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
List<String> gridIdList = this.baseDao.selectListLeaderGridId(mobile); List<String> gridIdList = this.baseDao.selectListLeaderGridId(mobile);
if (CollUtil.isEmpty(gridIdList)) { if (CollUtil.isEmpty(gridIdList)) {
return new Result().error("校验网格长数据权限失败"); return new Result().error("匹配网格长数据权限失败");
} }
List<GridForLeaderRegisterDTO> gridForLeaderList = sysDeptService.selectListGridForLeader(gridIdList); List<GridForLeaderRegisterDTO> gridForLeaderList = sysDeptService.selectListGridForLeader(gridIdList);

3
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/resolver/LoginUserHandlerMethodArgumentResolver.java

@ -13,6 +13,7 @@ import com.elink.esua.epdc.common.token.util.CpUserDetailRedis;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.exception.ModuleErrorCode;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
@ -45,7 +46,7 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
//获取用户ID //获取用户ID
String userId = request.getHeader(Constant.APP_USER_KEY); String userId = request.getHeader(Constant.APP_USER_KEY);
if (StringUtils.isEmpty(userId)) { if (StringUtils.isEmpty(userId)) {
throw new RenException("获取登录信息失败"); throw new RenException(ModuleErrorCode.TOKEN_INVALID);
} }
TokenDto user = cpUserDetailRedis.get(userId); TokenDto user = cpUserDetailRedis.get(userId);
return user; return user;

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

@ -452,6 +452,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
partyMembersEntity.setCommunityName(userGridRelation.getCommunity()); partyMembersEntity.setCommunityName(userGridRelation.getCommunity());
partyMembersEntity.setGridId(userGridRelation.getGridId()); partyMembersEntity.setGridId(userGridRelation.getGridId());
partyMembersEntity.setGridName(userGridRelation.getGrid()); partyMembersEntity.setGridName(userGridRelation.getGrid());
partyMembersEntity.setRegistFlag(YesOrNoEnum.YES.value());
UpdateWrapper<PartyMembersEntity> partyUpdate = new UpdateWrapper<>(); UpdateWrapper<PartyMembersEntity> partyUpdate = new UpdateWrapper<>();
partyUpdate.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo()) partyUpdate.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo())

Loading…
Cancel
Save