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