From bbe672208fa862b3a01473336e5711b679279293 Mon Sep 17 00:00:00 2001 From: zlyx <1242874891@qq.com> Date: 星期三, 02 八月 2023 14:51:23 +0800 Subject: [PATCH] add 新增 SysSocialServiceImpl#updateByBo 更新社会化关系 ; update 优化 SysLoginService#socialRegister 对已绑定用户进行更新 ; reset 回滚上一提交中 SysSocialServiceImpl#selectByAuthId 会导致多种数据库不兼容 ; --- ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 19 ++++++++++++------- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSocialServiceImpl.java | 16 ++++++++++------ ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysSocialService.java | 4 ++++ 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index ba5840a..ad8a41e 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/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); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysSocialService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysSocialService.java index 9c8275e..5f2014d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysSocialService.java +++ b/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); /** * 鍒犻櫎绀句細鍖栧叧绯讳俊鎭� diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSocialServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSocialServiceImpl.java index 14ad934..bd7248f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSocialServiceImpl.java +++ b/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)); } } -- Gitblit v1.9.3