mirror of
https://gitee.com/y_project/RuoYi-Cloud.git
synced 2026-01-29 13:01:57 +08:00
[fix] 修复微信登录后unionid和openid信息丢失的问题
This commit is contained in:
@@ -331,10 +331,8 @@ public class SysUserServiceImpl implements ISysUserService
|
|||||||
insertUserPost(user);
|
insertUserPost(user);
|
||||||
// 重绑定微信信息
|
// 重绑定微信信息
|
||||||
if (Objects.nonNull(user.getSysUserAccount())) {
|
if (Objects.nonNull(user.getSysUserAccount())) {
|
||||||
KSysUserAccount sysUserAccount = new KSysUserAccount();
|
|
||||||
sysUserAccount.setUserId(userId);
|
|
||||||
kSysUserService.updateSysUserAccount(sysUserAccount);
|
|
||||||
if (Objects.nonNull(user.getSysUserAccount().getWxUnionId())) {
|
if (Objects.nonNull(user.getSysUserAccount().getWxUnionId())) {
|
||||||
|
kSysUserService.unBindWxByUserId(userId);
|
||||||
kSysUserService.updateSysUserAccount(user.getSysUserAccount());
|
kSysUserService.updateSysUserAccount(user.getSysUserAccount());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ open class InnerSysUserController : BaseController() {
|
|||||||
originUser.avatar = targetUser.avatar ?: originUser.avatar
|
originUser.avatar = targetUser.avatar ?: originUser.avatar
|
||||||
originUser.sex = targetUser.sex ?: originUser.sex
|
originUser.sex = targetUser.sex ?: originUser.sex
|
||||||
originUser.updateBy = originUser.userName
|
originUser.updateBy = originUser.userName
|
||||||
originUser.sysUserAccount = loginUser.sysUser.sysUserAccount
|
originUser.sysUserAccount = loginUser.sysUser.sysUserAccount.apply { this.userId = originUser.userId }
|
||||||
userService.updateUser(originUser)
|
userService.updateUser(originUser)
|
||||||
// 更新缓存用户信息
|
// 更新缓存用户信息
|
||||||
tokenService.setLoginUser(loginUser)
|
tokenService.setLoginUser(loginUser)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper
|
|||||||
|
|
||||||
import com.ruoyi.system.api.domain.KSysUserAccount
|
import com.ruoyi.system.api.domain.KSysUserAccount
|
||||||
import com.ruoyi.system.api.domain.SysUser
|
import com.ruoyi.system.api.domain.SysUser
|
||||||
|
import org.apache.ibatis.annotations.Param
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户表 数据层
|
* 用户表 数据层
|
||||||
@@ -16,6 +17,7 @@ interface KSysUserMapper {
|
|||||||
* @return 用户对象信息
|
* @return 用户对象信息
|
||||||
*/
|
*/
|
||||||
fun selectUserById(userId: Long): KSysUserAccount?
|
fun selectUserById(userId: Long): KSysUserAccount?
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过用户名查询用户
|
* 通过用户名查询用户
|
||||||
*
|
*
|
||||||
@@ -36,5 +38,5 @@ interface KSysUserMapper {
|
|||||||
|
|
||||||
fun updateSysUserAccount(sysUserAccount: KSysUserAccount): Int
|
fun updateSysUserAccount(sysUserAccount: KSysUserAccount): Int
|
||||||
|
|
||||||
fun unBindWxUnionIdByUserId(params: Map<String, Any?>): Int
|
fun unBindWxByUserId(@Param("userId") userId: Long): Int
|
||||||
}
|
}
|
||||||
@@ -44,5 +44,5 @@ interface IKSysUserService {
|
|||||||
/**
|
/**
|
||||||
* 解绑微信
|
* 解绑微信
|
||||||
*/
|
*/
|
||||||
fun unBindWxUnionIdByUserId(userId: Long): Int
|
fun unBindWxByUserId(userId: Long): Int
|
||||||
}
|
}
|
||||||
@@ -50,12 +50,7 @@ open class KSysUserServiceImpl : IKSysUserService {
|
|||||||
return kSysUserMapper.updateSysUserAccount(sysUserAccount)
|
return kSysUserMapper.updateSysUserAccount(sysUserAccount)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun unBindWxUnionIdByUserId(userId: Long): Int {
|
override fun unBindWxByUserId(userId: Long): Int {
|
||||||
return kSysUserMapper.unBindWxUnionIdByUserId(
|
return kSysUserMapper.unBindWxByUserId(userId)
|
||||||
mapOf(
|
|
||||||
"userId" to userId,
|
|
||||||
"wxUnionId" to null,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,23 +130,28 @@
|
|||||||
</insert>
|
</insert>
|
||||||
<update id="updateSysUserAccount">
|
<update id="updateSysUserAccount">
|
||||||
update ums_member_wechat
|
update ums_member_wechat
|
||||||
set unionid = #{wxUnionId},
|
<set>
|
||||||
openid = #{openid},
|
<if test="unionid != null and unionid != ''">unionid = #{unionid},</if>
|
||||||
routine_openid = #{routineOpenid},
|
<if test="openid != null and openid != ''">openid = #{openid},</if>
|
||||||
groupid = #{groupid},
|
<if test="routineOpenid != null and routineOpenid != ''">routine_openid = #{routineOpenid},</if>
|
||||||
tagid_list = #{tagidList},
|
<if test="groupid != null and groupid != ''">groupid = #{groupid},</if>
|
||||||
subscribe = #{subscribe},
|
<if test="tagidList != null and tagidList != ''">tagid_list = #{tagidList},</if>
|
||||||
subscribe_time = #{subscribeTime},
|
<if test="subscribe != null and subscribe != ''">subscribe = #{subscribe},</if>
|
||||||
session_key = #{sessionKey},
|
<if test="subscribeTime != null and subscribeTime != ''">subscribe_time = #{subscribeTime},</if>
|
||||||
access_token = #{accessToken},
|
<if test="sessionKey != null and sessionKey != ''">session_key = #{sessionKey},</if>
|
||||||
expires_in = #{expiresIn},
|
<if test="accessToken != null and accessToken != ''">access_token = #{accessToken},</if>
|
||||||
refresh_token = #{refreshToken},
|
<if test="expiresIn != null and expiresIn != ''">expires_in = #{expiresIn},</if>
|
||||||
expire_time = #{expireTime}
|
<if test="refreshToken != null and refreshToken != ''">refresh_token = #{refreshToken},</if>
|
||||||
|
<if test="expireTime != null and expireTime != ''">expire_time = #{expireTime},</if>
|
||||||
|
update_time = sysdate()
|
||||||
|
</set>
|
||||||
where member_id = #{userId}
|
where member_id = #{userId}
|
||||||
</update>
|
</update>
|
||||||
<insert id="unBindWxUnionIdByUserId">
|
<insert id="unBindWxByUserId">
|
||||||
update ums_member_wechat
|
update ums_member_wechat
|
||||||
set unionid = #{wxUnionId}
|
set unionid = null,
|
||||||
|
openid = null,
|
||||||
|
routine_openid = null
|
||||||
where member_id = #{userId}
|
where member_id = #{userId}
|
||||||
</insert>
|
</insert>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user