From f0f00e9ba8a755e4317e029d73b69a92ad9f9df1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期六, 14 九月 2024 17:02:41 +0800
Subject: [PATCH] update

---
 exam-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
index 899df46..b35568b 100644
--- a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
@@ -9,7 +9,10 @@
 import com.gkhy.exam.common.domain.entity.SysUser;
 import com.gkhy.exam.common.enums.UserTypeEnum;
 import com.gkhy.exam.common.exception.ApiException;
-import com.gkhy.exam.common.utils.*;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.RedisUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.common.utils.StringUtils;
 import com.gkhy.exam.system.mapper.SysUserMapper;
 import com.gkhy.exam.system.service.SysConfigService;
 import com.gkhy.exam.system.service.SysUserService;
@@ -17,6 +20,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.validation.Validator;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -44,14 +48,17 @@
     @Override
     public CommonPage<SysUser> selectUserList(SysUser user) {
         SysUser currentUser=SecurityUtils.getLoginUser().getUser();
-        Map<String,Object> paramsMap=new HashMap<>();
-        paramsMap.put("userType",currentUser.getUserType());
-        user.setParams(paramsMap);
-        if(!currentUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){
-            user.setCompanyId(currentUser.getCompanyId());
+        List<SysUser> users=new ArrayList<>();
+        if(!currentUser.getUserType().equals(UserTypeEnum.WORKSHOP_USER.getCode())){
+            if(!currentUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){
+                user.setCompanyId(currentUser.getCompanyId());
+                Map<String,Object> paramsMap=new HashMap<>();
+                paramsMap.put("userType",currentUser.getUserType());
+                user.setParams(paramsMap);
+            }
+            PageUtils.startPage();
+            users=baseMapper.userList(user);
         }
-        PageUtils.startPage();
-        List<SysUser> users=baseMapper.userList(user);
         return CommonPage.restPage(users);
     }
 
@@ -109,6 +116,7 @@
         checkRequestData(user);
         checkUserAllowed(user);
         user.setUpdateBy(SecurityUtils.getUsername());
+        user.setPassword(null);
         int row=baseMapper.updateById(user);
         if(row<1){
             throw new ApiException("更新用户信息失败");
@@ -182,7 +190,11 @@
         Integer currentUserType=currentUser.getUserType();
         Integer userType=user.getUserType();
         //校验权限,规则:上一级用户可以增加下一级用户类型的用户
-        if(!currentUserType.equals(UserTypeEnum.SYSTEM_USER.getCode())){
+        if(currentUserType.equals(UserTypeEnum.SYSTEM_USER.getCode())){
+            if( !userType.equals(UserTypeEnum.SYSTEM_USER.getCode())&&!userType.equals(UserTypeEnum.OTHER_USER.getCode()) &&!userType.equals(UserTypeEnum.COMPANY_USER.getCode())){
+                throw new ApiException("管理员只能操作管理员、企业级和其他类型的用户");
+            }
+        }else{
             if(userType.equals(UserTypeEnum.OTHER_USER.getCode())){
                 throw new ApiException("没有权限操作或者更新上级用户类型的用户");
             }

--
Gitblit v1.9.2