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)
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
public class UserFeignClientFallback implements UserFeignClient {
@Override
public Result<UserDTO> getUserInfoByOpenId(String openId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoByOpenId", openId);
}
@Override
public Result<UserDTO> getUserInfoByUnionId(String 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
public Result<EpdcAppAuthorizationDTO> getMpToken(EpdcAppUserTokenFormDTO formDto) {
return this.getTokenByUnionId(this.getWxMpUser(formDto.getWxCode()).getUnionId());
return this.getTokenByOpenId(this.getWxMpUser(formDto.getWxCode()).getOpenId());
}
@Override
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());
}
/**
* 根据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();
}
// 查询当前微信是否已注册用户
Result<UserDTO> userInfoResult = userFeignClient.getUserInfoByUnionId(unionId);
Result<UserDTO> userInfoResult = userFeignClient.getUserInfoByOpenId(openId);
if (!userInfoResult.success()) {
throw new RenException("查询用户信息失败");
throw new RenException(userInfoResult.getMsg());
}
UserDTO userDto = userInfoResult.getData();
if (null != userDto) {
@ -359,8 +376,8 @@ public class AppUserServiceImpl implements AppUserService {
}
if (null == wxMaJscode2SessionResult) {
throw new RenException("解析微信用户信息失败");
} else if (StringUtils.isBlank(wxMaJscode2SessionResult.getUnionid())) {
throw new RenException("获取微信unionId失败");
} else if (StringUtils.isBlank(wxMaJscode2SessionResult.getOpenid())) {
throw new RenException("获取微信openid失败");
}
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
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获取用户信息(只查询已注册或审核中的用户)
*

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);
/**
* 根据用户微信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获取用户信息
*
@ -59,6 +69,7 @@ public interface UserService extends BaseService<UserEntity> {
* @author work@yujt.net.cn
* @date 2019/9/19 19:01
*/
@Deprecated
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);
}
@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
public Result<UserDTO> getUserInfoByUnionId(String unionId) {
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
@ -196,6 +211,15 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
if (count > NumConstant.ZERO) {
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);
return new Result().ok("注册成功");
}

Loading…
Cancel
Save