|
|
@ -88,16 +88,8 @@ public class XcxAuthStrategy implements IAuthStrategy { |
|
|
|
String username = authUser.getUsername(); |
|
|
|
String username = authUser.getUsername(); |
|
|
|
authUser.setSource(loginBody.getSource()); |
|
|
|
authUser.setSource(loginBody.getSource()); |
|
|
|
// 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可
|
|
|
|
// 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可
|
|
|
|
SysUserVo user = loadUserByOpenid(loginBody.getSource()+openid); |
|
|
|
if( StringUtils.isNotEmpty(loginBody.getPhoneCode())){ |
|
|
|
//未找到用户信息 注册
|
|
|
|
|
|
|
|
if (user == null && StringUtils.isEmpty(loginBody.getPhoneCode())) { |
|
|
|
|
|
|
|
LoginVo loginVo = new LoginVo(); |
|
|
|
|
|
|
|
loginVo.setBindingFlag(false); |
|
|
|
|
|
|
|
return loginVo; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if(user == null && StringUtils.isNotEmpty(loginBody.getPhoneCode())){ |
|
|
|
|
|
|
|
//注册用户
|
|
|
|
//注册用户
|
|
|
|
|
|
|
|
|
|
|
|
username = SocialUtils |
|
|
|
username = SocialUtils |
|
|
|
.loginXcxAuthPhone(loginBody.getSource(), loginBody.getPhoneCode(), socialProperties); |
|
|
|
.loginXcxAuthPhone(loginBody.getSource(), loginBody.getPhoneCode(), socialProperties); |
|
|
|
authUser.setUsername(username); |
|
|
|
authUser.setUsername(username); |
|
|
@ -106,7 +98,7 @@ public class XcxAuthStrategy implements IAuthStrategy { |
|
|
|
registerBody.setUsername(username); |
|
|
|
registerBody.setUsername(username); |
|
|
|
registerBody.setTenantId(loginBody.getTenantId()); |
|
|
|
registerBody.setTenantId(loginBody.getTenantId()); |
|
|
|
SysUserVo sysUserVo = loadUserByUsername(username); |
|
|
|
SysUserVo sysUserVo = loadUserByUsername(username); |
|
|
|
user = new SysUserVo(); |
|
|
|
SysUserVo user = new SysUserVo(); |
|
|
|
if(sysUserVo == null){ |
|
|
|
if(sysUserVo == null){ |
|
|
|
//手机号注册账号
|
|
|
|
//手机号注册账号
|
|
|
|
SysUserBo register = register(registerBody); |
|
|
|
SysUserBo register = register(registerBody); |
|
|
@ -116,12 +108,7 @@ public class XcxAuthStrategy implements IAuthStrategy { |
|
|
|
} |
|
|
|
} |
|
|
|
//注册 第三方
|
|
|
|
//注册 第三方
|
|
|
|
socialRegister(authUser, user.getUserId()); |
|
|
|
socialRegister(authUser, user.getUserId()); |
|
|
|
} |
|
|
|
|
|
|
|
if(user == null){ |
|
|
|
|
|
|
|
user = new SysUserVo(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
LoginVo loginVo = new LoginVo(); |
|
|
|
LoginVo loginVo = new LoginVo(); |
|
|
|
|
|
|
|
|
|
|
|
XcxLoginUser loginUser = loginService.buildLoginXcxUser(user); |
|
|
|
XcxLoginUser loginUser = loginService.buildLoginXcxUser(user); |
|
|
|
loginUser.setClientKey(client.getClientKey()); |
|
|
|
loginUser.setClientKey(client.getClientKey()); |
|
|
|
loginUser.setDeviceType(client.getDeviceType()); |
|
|
|
loginUser.setDeviceType(client.getDeviceType()); |
|
|
@ -141,6 +128,10 @@ public class XcxAuthStrategy implements IAuthStrategy { |
|
|
|
loginVo.setOpenid(openid); |
|
|
|
loginVo.setOpenid(openid); |
|
|
|
loginVo.setBindingFlag(true); |
|
|
|
loginVo.setBindingFlag(true); |
|
|
|
return loginVo; |
|
|
|
return loginVo; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
throw new ServiceException("未获取到登录手机号"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
private SysUserVo loadUserByOpenid(String authId) { |
|
|
|
private SysUserVo loadUserByOpenid(String authId) { |
|
|
|
// 使用 openid 查询绑定用户 如未绑定用户 则根据业务自行处理 例如 创建默认用户
|
|
|
|
// 使用 openid 查询绑定用户 如未绑定用户 则根据业务自行处理 例如 创建默认用户
|
|
|
@ -175,7 +166,6 @@ public class XcxAuthStrategy implements IAuthStrategy { |
|
|
|
String password = sysConfigService.selectConfigByKey("sys.user.initPassword"); |
|
|
|
String password = sysConfigService.selectConfigByKey("sys.user.initPassword"); |
|
|
|
// app用户
|
|
|
|
// app用户
|
|
|
|
String userType = UserType.APP_USER.getUserType(); |
|
|
|
String userType = UserType.APP_USER.getUserType(); |
|
|
|
|
|
|
|
|
|
|
|
SysUserBo sysUser = new SysUserBo(); |
|
|
|
SysUserBo sysUser = new SysUserBo(); |
|
|
|
sysUser.setUserName(username); |
|
|
|
sysUser.setUserName(username); |
|
|
|
sysUser.setNickName("微信用户:"+ username.substring(7)); |
|
|
|
sysUser.setNickName("微信用户:"+ username.substring(7)); |
|
|
@ -194,8 +184,6 @@ public class XcxAuthStrategy implements IAuthStrategy { |
|
|
|
long postId = Long.parseLong(appPostId); |
|
|
|
long postId = Long.parseLong(appPostId); |
|
|
|
sysUser.setPostIds(new Long[]{postId}); |
|
|
|
sysUser.setPostIds(new Long[]{postId}); |
|
|
|
sysUserService.registerUser(sysUser, "000000"); |
|
|
|
sysUserService.registerUser(sysUser, "000000"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
recordLogininfor(tenantId, username, Constants.REGISTER, MessageUtils.message("user.register.success")); |
|
|
|
recordLogininfor(tenantId, username, Constants.REGISTER, MessageUtils.message("user.register.success")); |
|
|
|
|
|
|
|
|
|
|
|
return sysUser; |
|
|
|
return sysUser; |
|
|
@ -214,14 +202,14 @@ public class XcxAuthStrategy implements IAuthStrategy { |
|
|
|
bo.setUnionId(authUserData.getToken().getUnionId()); |
|
|
|
bo.setUnionId(authUserData.getToken().getUnionId()); |
|
|
|
bo.setUserName(authUserData.getUsername()); |
|
|
|
bo.setUserName(authUserData.getUsername()); |
|
|
|
bo.setNickName(authUserData.getNickname()); |
|
|
|
bo.setNickName(authUserData.getNickname()); |
|
|
|
List<SysSocialVo> checkList = sysSocialService.selectByAuthId(authId); |
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(checkList)) { |
|
|
|
|
|
|
|
throw new ServiceException("此三方账号已经被绑定!"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 查询是否已经绑定用户
|
|
|
|
// 查询是否已经绑定用户
|
|
|
|
SysSocialBo params = new SysSocialBo(); |
|
|
|
SysSocialBo params = new SysSocialBo(); |
|
|
|
params.setUserId(userId); |
|
|
|
//params.setUserId(userId);
|
|
|
|
|
|
|
|
params.setUserName(authUserData.getUsername()); |
|
|
|
|
|
|
|
params.setOpenId(authUserData.getUuid()); |
|
|
|
params.setSource(bo.getSource()); |
|
|
|
params.setSource(bo.getSource()); |
|
|
|
|
|
|
|
bo.setStatus(0L); |
|
|
|
List<SysSocialVo> list = sysSocialService.queryList(params); |
|
|
|
List<SysSocialVo> list = sysSocialService.queryList(params); |
|
|
|
if (CollUtil.isEmpty(list)) { |
|
|
|
if (CollUtil.isEmpty(list)) { |
|
|
|
// 没有绑定用户, 新增用户信息
|
|
|
|
// 没有绑定用户, 新增用户信息
|
|
|
|