!407 【轻量级 PR】优化第三方认证授权绑定
Merge pull request !407 from MichelleChung/5.X
This commit is contained in:
commit
776b235cec
@ -26,6 +26,7 @@ import org.dromara.common.tenant.exception.TenantException;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.dromara.system.domain.SysUser;
|
||||
import org.dromara.system.domain.bo.SysSocialBo;
|
||||
import org.dromara.system.domain.vo.SysSocialVo;
|
||||
import org.dromara.system.domain.vo.SysTenantVo;
|
||||
import org.dromara.system.domain.vo.SysUserVo;
|
||||
import org.dromara.system.mapper.SysUserMapper;
|
||||
@ -69,14 +70,25 @@ public class SysLoginService {
|
||||
* @return 统一响应实体
|
||||
*/
|
||||
public void socialRegister(AuthUser authUserData) {
|
||||
String authId = authUserData.getSource() + authUserData.getUuid();
|
||||
// 第三方用户信息
|
||||
SysSocialBo bo = BeanUtil.toBean(authUserData, SysSocialBo.class);
|
||||
BeanUtil.copyProperties(authUserData.getToken(), bo);
|
||||
bo.setUserId(LoginHelper.getUserId());
|
||||
bo.setAuthId(authUserData.getSource() + authUserData.getUuid());
|
||||
bo.setAuthId(authId);
|
||||
bo.setOpenId(authUserData.getUuid());
|
||||
bo.setUserName(authUserData.getUsername());
|
||||
bo.setNickName(authUserData.getNickname());
|
||||
sysSocialService.insertByBo(bo);
|
||||
// 查询是否已经绑定用户
|
||||
SysSocialVo vo = sysSocialService.selectByAuthId(authId);
|
||||
if (ObjectUtil.isEmpty(vo)) {
|
||||
// 没有绑定用户, 新增用户信息
|
||||
sysSocialService.insertByBo(bo);
|
||||
} else {
|
||||
// 更新用户信息
|
||||
bo.setId(vo.getId());
|
||||
sysSocialService.updateByBo(bo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -33,6 +33,10 @@ public interface ISysSocialService {
|
||||
*/
|
||||
Boolean insertByBo(SysSocialBo bo);
|
||||
|
||||
/**
|
||||
* 更新社会化关系
|
||||
*/
|
||||
Boolean updateByBo(SysSocialBo bo);
|
||||
|
||||
/**
|
||||
* 删除社会化关系信息
|
||||
|
@ -65,6 +65,15 @@ public class SysSocialServiceImpl implements ISysSocialService {
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新社会化关系
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysSocialBo bo) {
|
||||
SysSocial update = MapstructUtils.convert(bo, SysSocial.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
|
Loading…
x
Reference in New Issue
Block a user