mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	add 新增 SysSocialServiceImpl#updateByBo 更新社会化关系 ;
update 优化 SysLoginService#socialRegister 对已绑定用户进行更新 ; reset 回滚上一提交中 SysSocialServiceImpl#selectByAuthId 会导致多种数据库不兼容 ;
This commit is contained in:
		@@ -71,18 +71,23 @@ public class SysLoginService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public void socialRegister(AuthUser authUserData) {
 | 
					    public void socialRegister(AuthUser authUserData) {
 | 
				
			||||||
        String authId = authUserData.getSource() + authUserData.getUuid();
 | 
					        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);
 | 
					        SysSocialVo vo = sysSocialService.selectByAuthId(authId);
 | 
				
			||||||
        if (ObjectUtil.isEmpty(vo)) {
 | 
					        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);
 | 
					            sysSocialService.insertByBo(bo);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            // 更新用户信息
 | 
				
			||||||
 | 
					            bo.setId(vo.getId());
 | 
				
			||||||
 | 
					            sysSocialService.updateByBo(bo);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,6 +33,10 @@ public interface ISysSocialService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    Boolean insertByBo(SysSocialBo bo);
 | 
					    Boolean insertByBo(SysSocialBo bo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 更新社会化关系
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    Boolean updateByBo(SysSocialBo bo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 删除社会化关系信息
 | 
					     * 删除社会化关系信息
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,6 @@ package org.dromara.system.service.impl;
 | 
				
			|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
					import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
import org.dromara.common.core.utils.MapstructUtils;
 | 
					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.SysSocial;
 | 
				
			||||||
import org.dromara.system.domain.bo.SysSocialBo;
 | 
					import org.dromara.system.domain.bo.SysSocialBo;
 | 
				
			||||||
import org.dromara.system.domain.vo.SysSocialVo;
 | 
					import org.dromara.system.domain.vo.SysSocialVo;
 | 
				
			||||||
@@ -66,6 +65,15 @@ public class SysSocialServiceImpl implements ISysSocialService {
 | 
				
			|||||||
        return flag;
 | 
					        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 @@ public class SysSocialServiceImpl implements ISysSocialService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public SysSocialVo selectByAuthId(String authId) {
 | 
					    public SysSocialVo selectByAuthId(String authId) {
 | 
				
			||||||
        return baseMapper.selectVoOne(
 | 
					        return baseMapper.selectVoOne(new LambdaQueryWrapper<SysSocial>().eq(SysSocial::getAuthId, authId));
 | 
				
			||||||
            new LambdaQueryWrapper<SysSocial>()
 | 
					 | 
				
			||||||
                .eq(SysSocial::getAuthId, authId)
 | 
					 | 
				
			||||||
                .orderByDesc(BaseEntity::getCreateTime)
 | 
					 | 
				
			||||||
                .last("limit 1"));
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user