[fix] 修复微信登录后unionid和openid信息丢失的问题
parent
bea7a6efd3
commit
585d83d007
|
|
@ -331,10 +331,8 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
insertUserPost(user);
|
||||
// 重绑定微信信息
|
||||
if (Objects.nonNull(user.getSysUserAccount())) {
|
||||
KSysUserAccount sysUserAccount = new KSysUserAccount();
|
||||
sysUserAccount.setUserId(userId);
|
||||
kSysUserService.updateSysUserAccount(sysUserAccount);
|
||||
if (Objects.nonNull(user.getSysUserAccount().getWxUnionId())) {
|
||||
kSysUserService.unBindWxByUserId(userId);
|
||||
kSysUserService.updateSysUserAccount(user.getSysUserAccount());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ open class InnerSysUserController : BaseController() {
|
|||
originUser.avatar = targetUser.avatar ?: originUser.avatar
|
||||
originUser.sex = targetUser.sex ?: originUser.sex
|
||||
originUser.updateBy = originUser.userName
|
||||
originUser.sysUserAccount = loginUser.sysUser.sysUserAccount
|
||||
originUser.sysUserAccount = loginUser.sysUser.sysUserAccount.apply { this.userId = originUser.userId }
|
||||
userService.updateUser(originUser)
|
||||
// 更新缓存用户信息
|
||||
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.SysUser
|
||||
import org.apache.ibatis.annotations.Param
|
||||
|
||||
/**
|
||||
* 用户表 数据层
|
||||
|
|
@ -16,6 +17,7 @@ interface KSysUserMapper {
|
|||
* @return 用户对象信息
|
||||
*/
|
||||
fun selectUserById(userId: Long): KSysUserAccount?
|
||||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
|
|
@ -36,5 +38,5 @@ interface KSysUserMapper {
|
|||
|
||||
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)
|
||||
}
|
||||
|
||||
override fun unBindWxUnionIdByUserId(userId: Long): Int {
|
||||
return kSysUserMapper.unBindWxUnionIdByUserId(
|
||||
mapOf(
|
||||
"userId" to userId,
|
||||
"wxUnionId" to null,
|
||||
)
|
||||
)
|
||||
override fun unBindWxByUserId(userId: Long): Int {
|
||||
return kSysUserMapper.unBindWxByUserId(userId)
|
||||
}
|
||||
}
|
||||
|
|
@ -130,23 +130,28 @@
|
|||
</insert>
|
||||
<update id="updateSysUserAccount">
|
||||
update ums_member_wechat
|
||||
set unionid = #{wxUnionId},
|
||||
openid = #{openid},
|
||||
routine_openid = #{routineOpenid},
|
||||
groupid = #{groupid},
|
||||
tagid_list = #{tagidList},
|
||||
subscribe = #{subscribe},
|
||||
subscribe_time = #{subscribeTime},
|
||||
session_key = #{sessionKey},
|
||||
access_token = #{accessToken},
|
||||
expires_in = #{expiresIn},
|
||||
refresh_token = #{refreshToken},
|
||||
expire_time = #{expireTime}
|
||||
<set>
|
||||
<if test="unionid != null and unionid != ''">unionid = #{unionid},</if>
|
||||
<if test="openid != null and openid != ''">openid = #{openid},</if>
|
||||
<if test="routineOpenid != null and routineOpenid != ''">routine_openid = #{routineOpenid},</if>
|
||||
<if test="groupid != null and groupid != ''">groupid = #{groupid},</if>
|
||||
<if test="tagidList != null and tagidList != ''">tagid_list = #{tagidList},</if>
|
||||
<if test="subscribe != null and subscribe != ''">subscribe = #{subscribe},</if>
|
||||
<if test="subscribeTime != null and subscribeTime != ''">subscribe_time = #{subscribeTime},</if>
|
||||
<if test="sessionKey != null and sessionKey != ''">session_key = #{sessionKey},</if>
|
||||
<if test="accessToken != null and accessToken != ''">access_token = #{accessToken},</if>
|
||||
<if test="expiresIn != null and expiresIn != ''">expires_in = #{expiresIn},</if>
|
||||
<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}
|
||||
</update>
|
||||
<insert id="unBindWxUnionIdByUserId">
|
||||
<insert id="unBindWxByUserId">
|
||||
update ums_member_wechat
|
||||
set unionid = #{wxUnionId}
|
||||
set unionid = null,
|
||||
openid = null,
|
||||
routine_openid = null
|
||||
where member_id = #{userId}
|
||||
</insert>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue