Browse Source

用户登录机制修改

dev
yujintao 6 years ago
parent
commit
4a700a7522
  1. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  2. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  3. 29
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  4. 13
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  5. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  6. 24
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

11
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -22,6 +22,17 @@ import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserFeignClientFallback.class) @FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserFeignClientFallback.class)
public interface UserFeignClient { public interface UserFeignClient {
/**
* 获取用户信息
*
* @param openId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserDTO>
* @author work@yujt.net.cn
* @date 2019/9/20 18:43
*/
@GetMapping("app-user/epdc-app/user/getByOpenId/{openId}")
Result<UserDTO> getUserInfoByOpenId(@PathVariable("openId") String openId);
/** /**
* 获取用户信息 * 获取用户信息
* *

5
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -16,6 +16,11 @@ import org.springframework.stereotype.Component;
@Component @Component
public class UserFeignClientFallback implements UserFeignClient { public class UserFeignClientFallback implements UserFeignClient {
@Override
public Result<UserDTO> getUserInfoByOpenId(String openId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoByOpenId", openId);
}
@Override @Override
public Result<UserDTO> getUserInfoByUnionId(String unionId) { public Result<UserDTO> getUserInfoByUnionId(String unionId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoByUnionId", unionId); return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoByUnionId", unionId);

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

@ -80,12 +80,12 @@ public class AppUserServiceImpl implements AppUserService {
@Override @Override
public Result<EpdcAppAuthorizationDTO> getMpToken(EpdcAppUserTokenFormDTO formDto) { public Result<EpdcAppAuthorizationDTO> getMpToken(EpdcAppUserTokenFormDTO formDto) {
return this.getTokenByUnionId(this.getWxMpUser(formDto.getWxCode()).getUnionId()); return this.getTokenByOpenId(this.getWxMpUser(formDto.getWxCode()).getOpenId());
} }
@Override @Override
public Result<EpdcAppAuthorizationDTO> getMaToken(EpdcAppUserMaTokenFormDTO formDto) { public Result<EpdcAppAuthorizationDTO> getMaToken(EpdcAppUserMaTokenFormDTO formDto) {
return this.getTokenByUnionId(this.getWxMaUser(formDto.getWxCode()).getUnionid()); return this.getTokenByOpenId(this.getWxMaUser(formDto.getWxCode()).getOpenid());
} }
/** /**
@ -105,6 +105,23 @@ public class AppUserServiceImpl implements AppUserService {
return this.getTokenByUserDto(userInfoResult.getData()); return this.getTokenByUserDto(userInfoResult.getData());
} }
/**
* 根据openId登录
*
* @param openId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
* @author work@yujt.net.cn
* @date 2019/9/20 18:46
*/
private Result<EpdcAppAuthorizationDTO> getTokenByOpenId(String openId) {
// 查询当前微信是否已注册用户
Result<UserDTO> userInfoResult = userFeignClient.getUserInfoByOpenId(openId);
if (!userInfoResult.success()) {
return new Result().error("查询用户信息失败");
}
return this.getTokenByUserDto(userInfoResult.getData());
}
/** /**
* 用户登录 * 用户登录
* *
@ -243,9 +260,9 @@ public class AppUserServiceImpl implements AppUserService {
openId = wxMaUser.getOpenid(); openId = wxMaUser.getOpenid();
} }
// 查询当前微信是否已注册用户 // 查询当前微信是否已注册用户
Result<UserDTO> userInfoResult = userFeignClient.getUserInfoByUnionId(unionId); Result<UserDTO> userInfoResult = userFeignClient.getUserInfoByOpenId(openId);
if (!userInfoResult.success()) { if (!userInfoResult.success()) {
throw new RenException("查询用户信息失败"); throw new RenException(userInfoResult.getMsg());
} }
UserDTO userDto = userInfoResult.getData(); UserDTO userDto = userInfoResult.getData();
if (null != userDto) { if (null != userDto) {
@ -359,8 +376,8 @@ public class AppUserServiceImpl implements AppUserService {
} }
if (null == wxMaJscode2SessionResult) { if (null == wxMaJscode2SessionResult) {
throw new RenException("解析微信用户信息失败"); throw new RenException("解析微信用户信息失败");
} else if (StringUtils.isBlank(wxMaJscode2SessionResult.getUnionid())) { } else if (StringUtils.isBlank(wxMaJscode2SessionResult.getOpenid())) {
throw new RenException("获取微信unionId失败"); throw new RenException("获取微信openid失败");
} }
return wxMaJscode2SessionResult; return wxMaJscode2SessionResult;
} }

13
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java

@ -22,6 +22,19 @@ public class EpdcAppUserController {
@Autowired @Autowired
private UserService userService; private UserService userService;
/**
* 根据用户openId获取用户信息(只查询已注册或审核中的用户)
*
* @param openId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserDTO>
* @author work@yujt.net.cn
* @date 2019/9/19 19:03
*/
@GetMapping("getByOpenId/{openId}")
public Result<UserDTO> getUserInfoByOpenId(@PathVariable("openId") String openId) {
return userService.getUserInfoByOpenId(openId);
}
/** /**
* 根据用户unionId获取用户信息(只查询已注册或审核中的用户) * 根据用户unionId获取用户信息(只查询已注册或审核中的用户)
* *

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -51,6 +51,16 @@ public interface UserService extends BaseService<UserEntity> {
void audit(UserDTO dto); void audit(UserDTO dto);
/**
* 根据用户微信openId获取用户信息
*
* @param openId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserDTO>
* @author work@yujt.net.cn
* @date 2019/9/19 19:01
*/
Result<UserDTO> getUserInfoByOpenId(String openId);
/** /**
* 根据用户微信unionID获取用户信息 * 根据用户微信unionID获取用户信息
* *
@ -59,6 +69,7 @@ public interface UserService extends BaseService<UserEntity> {
* @author work@yujt.net.cn * @author work@yujt.net.cn
* @date 2019/9/19 19:01 * @date 2019/9/19 19:01
*/ */
@Deprecated
Result<UserDTO> getUserInfoByUnionId(String unionId); Result<UserDTO> getUserInfoByUnionId(String unionId);
/** /**

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

@ -171,6 +171,21 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
baseDao.deleteByUnionId(wxUnionId); baseDao.deleteByUnionId(wxUnionId);
} }
@Override
public Result<UserDTO> getUserInfoByOpenId(String openId) {
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
wrapper.eq("WX_OPEN_ID", openId)
.ne(FieldConstant.STATE, AppUserAuditStateEnum.AUDIT_FAILURE.value())
.select(FieldConstant.ID, "NICKNAME", "FACE_IMG", FieldConstant.MOBILE, "REAL_NAME",
FieldConstant.STATE, FieldConstant.GRID_ID, "PARTY_FLAG");
UserEntity userEntity = this.baseDao.selectOne(wrapper);
if (null != userEntity) {
UserDTO dto = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
return new Result().ok(dto);
}
return new Result();
}
@Override @Override
public Result<UserDTO> getUserInfoByUnionId(String unionId) { public Result<UserDTO> getUserInfoByUnionId(String unionId) {
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>(); QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
@ -196,6 +211,15 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
if (count > NumConstant.ZERO) { if (count > NumConstant.ZERO) {
return new Result().error("注册失败,手机号已被注册"); return new Result().error("注册失败,手机号已被注册");
} }
// 身份证号查重
wrapper = new QueryWrapper<>();
wrapper.eq("IDENTITY_NO", userDto.getIdentityNo())
.ne(FieldConstant.STATE, AppUserAuditStateEnum.AUDIT_FAILURE.value());
count = this.baseDao.selectCount(wrapper);
if (count > NumConstant.ZERO) {
return new Result().error("注册失败,身份证号已被注册");
}
this.save(userDto); this.save(userDto);
return new Result().ok("注册成功"); return new Result().ok("注册成功");
} }

Loading…
Cancel
Save