From bd605ac1e79b73db3b501f323d6f4a10c0f27dd5 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期五, 27 六月 2025 15:01:57 +0800
Subject: [PATCH] 部分功能调整

---
 multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java                             |   13 ++++++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java                 |   39 +++++++++----------
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java                 |   11 +++++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysMenuServiceImpl.java                 |    4 +-
 multi-framework/src/main/java/com/gkhy/exam/framework/web/service/SysPermissionService.java          |    4 +-
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysRoleController.java               |    2 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyIndustryTemplateServiceImpl.java |    2 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java           |    2 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java     |    4 +-
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysRoleServiceImpl.java                 |    2 
 10 files changed, 53 insertions(+), 30 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysRoleController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysRoleController.java
index 2707da4..97bcde3 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysRoleController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysRoleController.java
@@ -129,7 +129,7 @@
             // 更新缓存用户权限
             LoginUserDetails loginUser = getLoginUser();
 
-            if (ObjectUtil.isNotNull(loginUser.getUser()) && !SecurityUtils.isAdmin(loginUser.getUser().getId()))
+            if (ObjectUtil.isNotNull(loginUser.getUser()) && !SecurityUtils.adminUser())
             {
                 loginUser.setUser(userService.selectUserByUsername(loginUser.getUser().getName()));
                 loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
diff --git a/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java b/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java
index 59d75ab..a6107e4 100644
--- a/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java
+++ b/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java
@@ -19,6 +19,19 @@
         return userId != null && 1L == userId;
     }
 
+    public static boolean adminUser(){
+        if(getLoginUser() == null){
+            return false;
+        }
+        if(getLoginUser().getUser().getId() == 1L){
+            return true;
+        }
+        if(getLoginUser().getUser().getUserType() == 0){
+            return true;
+        }
+       return false;
+    }
+
     /**
      * 判断密码是否相同
      * @param rawPasword   真实密码
diff --git a/multi-framework/src/main/java/com/gkhy/exam/framework/web/service/SysPermissionService.java b/multi-framework/src/main/java/com/gkhy/exam/framework/web/service/SysPermissionService.java
index 1f828ee..c63052f 100644
--- a/multi-framework/src/main/java/com/gkhy/exam/framework/web/service/SysPermissionService.java
+++ b/multi-framework/src/main/java/com/gkhy/exam/framework/web/service/SysPermissionService.java
@@ -40,7 +40,7 @@
     {
         Set<String> roles = new HashSet<String>();
         // 管理员拥有所有权限
-        if (SecurityUtils.isAdmin(user.getId()))
+        if (SecurityUtils.adminUser() )
         {
             roles.add("admin");
         }
@@ -61,7 +61,7 @@
     {
         Set<String> perms = new HashSet<String>();
         // 管理员拥有所有权限
-        if (SecurityUtils.isAdmin(user.getId()))
+        if (SecurityUtils.adminUser())
         {
             perms.add("*:*:*");
         }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyIndustryTemplateServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyIndustryTemplateServiceImpl.java
index 4521dc5..b5cec46 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyIndustryTemplateServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyIndustryTemplateServiceImpl.java
@@ -32,7 +32,7 @@
 
     @Override
     public CommonPage selectCompanyIndustryTemplateList(Integer companyId) {
-        boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+        boolean admin = SecurityUtils.adminUser();
         if (!admin){
             if (companyId==null){
                 throw new ApiException("非管理员操作,查询条件不可为空");
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java
index b924f0a..f1580e2 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java
@@ -33,7 +33,7 @@
 
     @Override
     public CommonPage selectCompanyRosterList(Integer companyId) {
-        boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+        boolean admin = SecurityUtils.adminUser();
         if (!admin){
             if (companyId==null){
                 throw new ApiException("非管理员操作,查询条件不可为空");
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
index 0353ae7..674b374 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
@@ -28,7 +28,7 @@
 
     @Override
     public int saveSysClauseManagement(SysClauseManagement sysClauseManagement) {
-        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+        if (!SecurityUtils.adminUser()){
             throw new ApiException("没有权限访问!");
         }
         LambdaQueryWrapper<SysClauseManagement> lambdaQueryWrapper = Wrappers.<SysClauseManagement>lambdaQuery()
@@ -55,7 +55,7 @@
 
     @Override
     public int delSysClauseManagement(Long id) {
-        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+        if (!SecurityUtils.adminUser()){
             throw new ApiException("没有权限访问!");
         }
         //todo 校验已使用的?
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
index 425c716..acf7d43 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
@@ -226,7 +226,7 @@
     @Override
     public void checkDeptDataScope(Long deptId)
     {
-        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && ObjectUtil.isNotNull(deptId))
+        if (!SecurityUtils.adminUser() && ObjectUtil.isNotNull(deptId))
         {
             SysDept dept = new SysDept();
             dept.setDeptId(deptId);
@@ -260,13 +260,12 @@
     @Override
     @Transactional
     public int saveDept(SysDeptSaveDTOReq dept) {
-        Long companyId = SecurityUtils.getCompanyId();
-        if (!companyId.equals(dept.getCompanyId())){
-            throw new ApiException("无权操作!");
-        }
+//        Long companyId = SecurityUtils.getCompanyId();
+//        if (!companyId.equals(dept.getCompanyId())){
+//            throw new ApiException("无权操作!");
+//        }
         SysDept sysDept = new SysDept();
         BeanUtils.copyProperties(dept, sysDept);
-        sysDept.setCompanyId(companyId);
         boolean b = checkDeptNameUnique(sysDept);
         if (!b){
             throw new ApiException("部门名称已存在!");
@@ -287,7 +286,7 @@
                 delCaluse(sysDept.getDeptId(), delCaluseIds);
             }
             //处理条款
-            batchSaveCaluse(sysDept.getDeptId(), companyId, dept.getCaluseVO1List());
+            batchSaveCaluse(sysDept.getDeptId(), dept.getCompanyId(), dept.getCaluseVO1List());
 
         }
 
@@ -297,15 +296,15 @@
     @Override
     @Transactional
     public int saveDeptResponsibility(SysDeptResponsibilityReqVo reqVo) {
-        Long companyId = SecurityUtils.getCompanyId();
-        if (!companyId.equals(reqVo.getCompanyId())){
-            throw new ApiException("无权操作!");
-        }
+//        Long companyId = SecurityUtils.getCompanyId();
+//        if (!companyId.equals(reqVo.getCompanyId())){
+//            throw new ApiException("无权操作!");
+//        }
         SysDept sysDept = deptMapper.selectDeptById(reqVo.getDeptId());
         if (null == sysDept){
             throw new ApiException("部门不存在!");
         }
-        if (!companyId.equals(sysDept.getCompanyId())){
+        if (!reqVo.getCompanyId().equals(sysDept.getCompanyId())){
             throw new ApiException("无权操作!");
         }
         SysDept dept = new SysDept();
@@ -336,9 +335,9 @@
     @Transactional
     public int initFunctionalDistribution(Long companyId) {
 
-        if (!companyId.equals(SecurityUtils.getCompanyId())){
-            throw new ApiException("无权操作!");
-        }
+//        if (!companyId.equals(SecurityUtils.getCompanyId())){
+//            throw new ApiException("无权操作!");
+//        }
 
         sysFunctionalDistributionMapper.delByCompanyId(companyId);
         SysDept sysDept = new SysDept();
@@ -370,15 +369,15 @@
 
     @Override
     public int saveFunctionalDistribution(FunctionalDistributionVo reqVo) {
-        Long companyId = SecurityUtils.getCompanyId();
-        if (!companyId.equals(reqVo.getCompanyId())){
-            throw new ApiException("无权操作!");
-        }
+//        Long companyId = SecurityUtils.getCompanyId();
+//        if (!companyId.equals(reqVo.getCompanyId())){
+//            throw new ApiException("无权操作!");
+//        }
         List<SysFunctionalDistribution> list = reqVo.getList();
         if (list != null && !list.isEmpty())
         {
             for (SysFunctionalDistribution sysFunctionalDistribution : list) {
-                sysFunctionalDistribution.setCompanyId(companyId);
+                sysFunctionalDistribution.setCompanyId(reqVo.getCompanyId());
                 sysFunctionalDistribution.setUpdateBy(SecurityUtils.getUsername());
                 sysFunctionalDistribution.setUpdateTime(LocalDateTime.now());
             }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysMenuServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysMenuServiceImpl.java
index 7ecc2e2..0f6c76d 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysMenuServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysMenuServiceImpl.java
@@ -64,7 +64,7 @@
     {
         List<SysMenu> menuList = null;
         // 管理员显示所有菜单信息
-        if (SecurityUtils.isAdmin(userId))
+        if (SecurityUtils.adminUser() )
         {
             menuList = menuMapper.selectMenuList(menu);
         }
@@ -128,7 +128,7 @@
     public List<SysMenu> selectMenuTreeByUserId(Long userId)
     {
         List<SysMenu> menus = null;
-        if (SecurityUtils.isAdmin(userId))
+        if (SecurityUtils.adminUser() )
         {
             menus = menuMapper.selectMenuTreeAll();
         }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysRoleServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysRoleServiceImpl.java
index ac4ca56..3ef86c3 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysRoleServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysRoleServiceImpl.java
@@ -197,7 +197,7 @@
     @Override
     public void checkRoleDataScope(Long... roleIds)
     {
-        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()))
+        if (!SecurityUtils.adminUser())
         {
             for (Long roleId : roleIds)
             {
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 7690a1c..379e974 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
@@ -14,7 +14,9 @@
 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.domain.SysUserRole;
 import com.gkhy.exam.system.mapper.SysUserMapper;
+import com.gkhy.exam.system.mapper.SysUserRoleMapper;
 import com.gkhy.exam.system.service.SysConfigService;
 import com.gkhy.exam.system.service.SysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,6 +47,8 @@
     private SysConfigService configService;
     @Autowired
     private Validator validator;
+    @Autowired
+    private SysUserRoleMapper userRoleMapper;
 
     @Override
     public CommonPage<SysUser> selectUserList(SysUser user) {
@@ -131,6 +135,13 @@
         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);
+
         if(row<1){
             throw new ApiException("新增用户失败");
         }

--
Gitblit v1.9.2