diff --git a/pom.xml b/pom.xml index 039e606ff..4010f0890 100644 --- a/pom.xml +++ b/pom.xml @@ -6,14 +6,14 @@ com.ruoyi ruoyi - 3.6.5.0.2 + 3.6.5.0.3 ruoyi http://www.ruoyi.vip 若依微服务系统 - 3.6.5.0.2 + 3.6.5.0.3 UTF-8 UTF-8 1.8 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 1ed1cc65f..37a715a26 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -2,10 +2,12 @@ package com.ruoyi.system.service.impl; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import javax.validation.Validator; import com.github.pagehelper.Page; +import com.ruoyi.system.service.IKSysUserService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +48,9 @@ public class SysUserServiceImpl implements ISysUserService @Autowired private SysUserMapper userMapper; + @Autowired + private IKSysUserService kSysUserService; + @Autowired private SysRoleMapper roleMapper; @@ -324,6 +329,11 @@ public class SysUserServiceImpl implements ISysUserService userPostMapper.deleteUserPostByUserId(userId); // 新增用户与岗位管理 insertUserPost(user); + // 重绑定微信信息 + if (Objects.nonNull(user.getSysUserAccount()) && Objects.nonNull(user.getSysUserAccount().getWxUnionId())) { + kSysUserService.unBindWxUnionIdByUserId(userId); + kSysUserService.bindWxUnionIdByUserId(userId, user.getSysUserAccount().getWxUnionId()); + } return userMapper.updateUser(user); } diff --git a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/mapper/KSysUserMapper.kt b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/mapper/KSysUserMapper.kt index e784b2d00..dfcdef099 100644 --- a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/mapper/KSysUserMapper.kt +++ b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/mapper/KSysUserMapper.kt @@ -24,5 +24,7 @@ interface KSysUserMapper { */ fun checkWxUnionIdUnique(wxUnionId: String): SysUser? - fun insert(params: Map): Int + fun insertSysUserAccount(params: Map): Int + + fun updateSysUserAccount(params: Map): Int } \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/IKSysUserService.kt b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/IKSysUserService.kt index 9e5d20c74..b8e0cd485 100644 --- a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/IKSysUserService.kt +++ b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/IKSysUserService.kt @@ -28,4 +28,12 @@ interface IKSysUserService { * @return 结果 */ fun registerUserByWxUnionId(wxUnionId: String, deptId: Long?): Boolean + /** + * 绑定微信 + */ + fun bindWxUnionIdByUserId(userId: Long,wxUnionId: String): Int + /** + * 解绑微信 + */ + fun unBindWxUnionIdByUserId(userId: Long): Int } \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/impl/KSysUserServiceImpl.kt b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/impl/KSysUserServiceImpl.kt index 6ecefb287..a6a267d3e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/impl/KSysUserServiceImpl.kt +++ b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/service/impl/KSysUserServiceImpl.kt @@ -37,10 +37,38 @@ open class KSysUserServiceImpl : IKSysUserService { } return sysUserService.registerUser(user).apply { sysUserService.selectUserByUserName(user.userName) - kSysUserMapper.insert(mapOf( - "userId" to user.userId, - "wxUnionId" to wxUnionId, - )) + kSysUserMapper.insertSysUserAccount( + mapOf( + "userId" to user.userId, + "wxUnionId" to wxUnionId, + ) + ) } } + + override fun bindWxUnionIdByUserId(userId: Long, wxUnionId: String): Int { + if (sysUserService.selectUserById(userId).sysUserAccount != null) + return kSysUserMapper.updateSysUserAccount( + mapOf( + "userId" to userId, + "wxUnionId" to wxUnionId, + ) + ) + else + return kSysUserMapper.insertSysUserAccount( + mapOf( + "userId" to userId, + "wxUnionId" to wxUnionId, + ) + ) + } + + override fun unBindWxUnionIdByUserId(userId: Long): Int { + return kSysUserMapper.updateSysUserAccount( + mapOf( + "userId" to userId, + "wxUnionId" to null, + ) + ) + } } \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml index e0a87bee3..b788e0304 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml @@ -71,7 +71,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select u.user_id, u.user_name from sys_user u left join sys_user_account ua on ua.user_id=u.user_id where ua.wx_unionid = #{wxUnionId} and u.del_flag = '0' limit 1 - + insert into sys_user_account(user_id, wx_unionid) values (#{userId},#{wxUnionId}) + + update sys_user_account set wx_unionid = #{wxUnionId} where user_id = #{userId} + \ No newline at end of file