From 8920722356a2b880f81f79c27741c5bc87e02816 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Sun, 5 Jan 2025 10:38:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=AC=E5=8F=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bonus/system/api/domain/SysDept.java | 13 +++++++++++++ .../bonus/system/controller/SysDeptController.java | 4 ++++ .../system/service/impl/SysDeptServiceImpl.java | 13 +++++++------ .../main/resources/mapper/system/SysDeptMapper.xml | 5 ++++- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java index a0be524..9e82604 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysDept.java @@ -117,6 +117,11 @@ public class SysDept extends BaseEntity { private SysUser sysUser; + /** + * 所属公司ID + */ + private Long companyId; + /** *角色名称 */ @@ -209,6 +214,14 @@ public class SysDept extends BaseEntity { this.sysUser = sysUser; } + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + public String getRoleName() { return roleName; } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDeptController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDeptController.java index f157248..461aa8d 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDeptController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysDeptController.java @@ -3,6 +3,7 @@ package com.bonus.system.controller; import java.util.ArrayList; import java.util.List; +import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; @@ -63,6 +64,9 @@ public class SysDeptController extends BaseController @GetMapping("/deptList") @SysLog(title = "运营人员获取公司列表", businessType = OperaType.QUERY,logType = 0,module = "系统管理->部门管理") public TableDataInfo deptList(SysDept dept) { + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) { + throw new ServiceException("抱歉,您无权查看公司列表!"); + } List deptList = new ArrayList<>(); try{ startPage(); diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java index 6c33444..824b91d 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java @@ -87,6 +87,7 @@ public class SysDeptServiceImpl implements ISysDeptService String str = dept.getDeptName().replace("\\", "\\\\").replace("%", "\\%").replace("_", "\\_"); dept.setDeptName(str); } + dept.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId()); return deptMapper.selectDeptList(dept); } @@ -302,11 +303,11 @@ public class SysDeptServiceImpl implements ISysDeptService dept.setStatus("0");//默认启用 dept.setMenuTemplateId(1L);//TODO 将来用前端传的模版ID dept.setInitPassword(SecurityUtils.encryptPassword(dept.getSysUser().getPassword())); - if (StringUtils.isNotNull(dept.getSysUser()) && !userService.checkUserNameUnique(dept.getSysUser())) { - throw new ServiceException("新增公司管理员用户'" + dept.getSysUser().getUserName() + "'失败,登录账号已存在"); - } int result = deptMapper.insertDept(dept); - if (result > 0) { + if (systemConfig.isAddRootCompany() && result > 0) { + if (StringUtils.isNotNull(dept.getSysUser()) && !userService.checkUserNameUnique(dept.getSysUser())) { + throw new ServiceException("新增公司管理员用户'" + dept.getSysUser().getUserName() + "'失败,登录账号已存在"); + } SysUser user = createCompanyAdminUser(dept); createCompanyAdminRole(dept, user); } @@ -347,8 +348,8 @@ public class SysDeptServiceImpl implements ISysDeptService // 如果该部门是启用状态,则启用该部门的所有上级部门 updateParentDeptStatusNormal(dept); } - //判断是否是修改公司信息并判断是否关联用户信息 - if (Objects.nonNull(dept.getParentId()) && dept.getParentId().equals(0L)){ + //判断是否需要修改公司管理员用户信息 + if (systemConfig.isAddRootCompany() && Objects.nonNull(dept.getParentId()) && dept.getParentId().equals(0L)){ updateCompanyAdminUserAndRole(dept); } return result; diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml index f9b56e6..b689796 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -59,6 +59,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"