From 7e50bc3d37c7913de6e3d75fd03264288ee83c95 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期二, 19 八月 2025 10:29:37 +0800
Subject: [PATCH] 部分新功能
---
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java | 40 ++++++++++++++++++++++++++++++----------
1 files changed, 30 insertions(+), 10 deletions(-)
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
index bd08a00..04d642e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
@@ -7,6 +7,7 @@
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.constant.CacheConstant;
import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.domain.entity.SysRole;
import com.gkhy.exam.common.domain.entity.SysUser;
import com.gkhy.exam.common.enums.UserTypeEnum;
import com.gkhy.exam.common.exception.ApiException;
@@ -26,10 +27,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.validation.Validator;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -153,12 +151,8 @@
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(Base64.decodeStr(user.getPassword())));
int row=baseMapper.insert(user);
- List<SysUserRole> userRoleList = new ArrayList<>();
- SysUserRole sysUserRole = new SysUserRole();
- sysUserRole.setUserId(user.getId());
- sysUserRole.setRoleId(2L);
- userRoleList.add(sysUserRole);
- userRoleMapper.batchUserRole(userRoleList);
+
+ batchSaveRole(user.getRoles(),user.getId(),false);
exStudentService.insertStudent(exStudent);
@@ -168,6 +162,30 @@
return row;
}
+ public void batchSaveRole(List<SysRole> roleIds, Long userId, boolean isUpdate){
+
+ if (isUpdate){
+ userRoleMapper.deleteUserRoleByUserId(userId);
+ }
+
+ List<SysUserRole> userRoleList = new ArrayList<>();
+ if(roleIds != null && !roleIds.isEmpty()){
+
+ for (SysRole roleId : roleIds) {
+ SysUserRole sysUserRole = new SysUserRole();
+ sysUserRole.setUserId(userId);
+ sysUserRole.setRoleId(roleId.getRoleId());
+ userRoleList.add(sysUserRole);
+ }
+ }else {
+ SysUserRole sysUserRole = new SysUserRole();
+ sysUserRole.setUserId(userId);
+ sysUserRole.setRoleId(2L);
+ userRoleList.add(sysUserRole);
+ }
+ userRoleMapper.batchUserRole(userRoleList);
+ }
+
@Override
public int updateUser(SysUser user) {
checkRequestData(user);
@@ -175,6 +193,8 @@
user.setUpdateBy(SecurityUtils.getUsername());
user.setPassword(null);
int row=baseMapper.updateById(user);
+ batchSaveRole(user.getRoles(),user.getId(),true);
+
if(row<1){
throw new ApiException("更新用户信息失败");
}
--
Gitblit v1.9.2