update 优化 SysLoginService#socialRegister 判断是否已经绑定用户 ;

fix 修正 SysSocialServiceImpl#selectByAuthId 重复数据报错问题 ;
This commit is contained in:
zlyx
2023-08-02 14:21:12 +08:00
parent 359ec45b05
commit c92c99c8da
2 changed files with 21 additions and 9 deletions

View File

@ -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,20 @@ public class SysLoginService {
* @return 统一响应实体
*/
public void socialRegister(AuthUser authUserData) {
SysSocialBo bo = BeanUtil.toBean(authUserData, SysSocialBo.class);
BeanUtil.copyProperties(authUserData.getToken(), bo);
bo.setUserId(LoginHelper.getUserId());
bo.setAuthId(authUserData.getSource() + authUserData.getUuid());
bo.setOpenId(authUserData.getUuid());
bo.setUserName(authUserData.getUsername());
bo.setNickName(authUserData.getNickname());
sysSocialService.insertByBo(bo);
String authId = authUserData.getSource() + authUserData.getUuid();
// 查询是否已经绑定用户
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);
}
}