From 17938ebdb1b663aeb91aceaf4078d35a951087d1 Mon Sep 17 00:00:00 2001 From: hsdllcw Date: Sat, 30 Nov 2024 14:32:02 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E5=BE=AE=E4=BF=A1=E7=9A=84=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E5=92=8C=E8=A7=A3=E7=BB=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +-- .../service/impl/SysUserServiceImpl.java | 10 ++++++ .../com/ruoyi/system/mapper/KSysUserMapper.kt | 4 ++- .../ruoyi/system/service/IKSysUserService.kt | 8 +++++ .../service/impl/KSysUserServiceImpl.kt | 36 ++++++++++++++++--- .../mapper/system/KSysUserMapper.xml | 5 ++- 6 files changed, 59 insertions(+), 8 deletions(-) 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