ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
@@ -71,18 +71,23 @@ */ 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(authId); bo.setOpenId(authUserData.getUuid()); bo.setUserName(authUserData.getUsername()); bo.setNickName(authUserData.getNickname()); // 查询是否已经绑定用户 SysSocialVo vo = sysSocialService.selectByAuthId(authId); if (ObjectUtil.isEmpty(vo)) { // 没有绑定用户, 新增用户信息 SysSocialBo bo = BeanUtil.toBean(authUserData, SysSocialBo.class); BeanUtil.copyProperties(authUserData.getToken(), bo); bo.setUserId(LoginHelper.getUserId()); bo.setAuthId(authId); bo.setOpenId(authUserData.getUuid()); bo.setUserName(authUserData.getUsername()); bo.setNickName(authUserData.getNickname()); sysSocialService.insertByBo(bo); } else { // 更新用户信息 bo.setId(vo.getId()); sysSocialService.updateByBo(bo); } } ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysSocialService.java
@@ -33,6 +33,10 @@ */ Boolean insertByBo(SysSocialBo bo); /** * 更新社会化关系 */ Boolean updateByBo(SysSocialBo bo); /** * 删除社会化关系信息 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSocialServiceImpl.java
@@ -3,7 +3,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.system.domain.SysSocial; import org.dromara.system.domain.bo.SysSocialBo; import org.dromara.system.domain.vo.SysSocialVo; @@ -66,6 +65,15 @@ return flag; } /** * 更新社会化关系 */ @Override public Boolean updateByBo(SysSocialBo bo) { SysSocial update = MapstructUtils.convert(bo, SysSocial.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } /** * 保存前的数据校验 @@ -92,11 +100,7 @@ */ @Override public SysSocialVo selectByAuthId(String authId) { return baseMapper.selectVoOne( new LambdaQueryWrapper<SysSocial>() .eq(SysSocial::getAuthId, authId) .orderByDesc(BaseEntity::getCreateTime) .last("limit 1")); return baseMapper.selectVoOne(new LambdaQueryWrapper<SysSocial>().eq(SysSocial::getAuthId, authId)); } }