From b5a95200f8d0fa5e340eb62b9e4a5f370aeffecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Sun, 22 Sep 2024 23:16:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=A7=9F=E6=88=B7=E7=9A=84?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/common/system/domain/SysRole.java | 2 + .../muyu/common/system/domain/SysUser.java | 5 +- .../com/muyu/cloud/firm/FirmApplication.java | 2 +- .../cloud-modules-system-saas/pom.xml | 104 ++++++++++++++++++ .../saas/CloudSystemSaasApplication.java | 32 ++++++ .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 59 ++++++++++ .../src/main/resources/logback/dev.xml | 74 +++++++++++++ .../src/main/resources/logback/prod.xml | 81 ++++++++++++++ .../src/main/resources/logback/test.xml | 81 ++++++++++++++ cloud-modules/cloud-modules-system/pom.xml | 5 + .../muyu/system/CloudSystemApplication.java | 8 ++ .../system}/controller/SysFirmController.java | 6 +- .../system/controller/SysRoleController.java | 6 +- .../system/controller/SysUserController.java | 20 +++- .../java/com/muyu/system}/domain/SysFirm.java | 2 +- .../muyu/system}/mapper/SysFirmMapper.java | 4 +- .../com/muyu/system/mapper/SysRoleMapper.java | 5 +- .../muyu/system}/service/ISysFirmService.java | 4 +- .../muyu/system/service/SysRoleService.java | 6 +- .../service/impl/SysFirmServiceImpl.java | 9 +- .../impl/SysPermissionServiceImpl.java | 6 +- .../service/impl/SysRoleServiceImpl.java | 29 ++--- .../mapper/system}/SysFirmMapper.xml | 10 +- .../resources/mapper/system/SysRoleMapper.xml | 14 ++- .../resources/mapper/system/SysUserMapper.xml | 10 +- 26 files changed, 534 insertions(+), 52 deletions(-) create mode 100644 cloud-modules/cloud-modules-system-saas/pom.xml create mode 100644 cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/CloudSystemSaasApplication.java create mode 100644 cloud-modules/cloud-modules-system-saas/src/main/resources/banner.txt create mode 100644 cloud-modules/cloud-modules-system-saas/src/main/resources/bootstrap.yml create mode 100644 cloud-modules/cloud-modules-system-saas/src/main/resources/logback/dev.xml create mode 100644 cloud-modules/cloud-modules-system-saas/src/main/resources/logback/prod.xml create mode 100644 cloud-modules/cloud-modules-system-saas/src/main/resources/logback/test.xml rename {cloud-firm/src/main/java/com/muyu/cloud/firm => cloud-modules/cloud-modules-system/src/main/java/com/muyu/system}/controller/SysFirmController.java (95%) rename {cloud-firm/src/main/java/com/muyu/cloud/firm => cloud-modules/cloud-modules-system/src/main/java/com/muyu/system}/domain/SysFirm.java (98%) rename {cloud-firm/src/main/java/com/muyu/cloud/firm => cloud-modules/cloud-modules-system/src/main/java/com/muyu/system}/mapper/SysFirmMapper.java (80%) rename {cloud-firm/src/main/java/com/muyu/cloud/firm => cloud-modules/cloud-modules-system/src/main/java/com/muyu/system}/service/ISysFirmService.java (90%) rename {cloud-firm/src/main/java/com/muyu/cloud/firm => cloud-modules/cloud-modules-system/src/main/java/com/muyu/system}/service/impl/SysFirmServiceImpl.java (87%) rename {cloud-firm/src/main/resources/mapper/firm => cloud-modules/cloud-modules-system/src/main/resources/mapper/system}/SysFirmMapper.xml (90%) diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java index 1aab56a..9844e5a 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java @@ -36,6 +36,8 @@ public class SysRole extends BaseEntity { @Excel(name = "角色名称") private String roleName; + private String firmCode; + /** * 角色权限 */ diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java index dda384b..7644e1d 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java @@ -37,6 +37,8 @@ public class SysUser extends BaseEntity { @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") private Long userId; + private Integer isAdmin; + /** * 部门ID */ @@ -148,8 +150,9 @@ public class SysUser extends BaseEntity { return userId != null && 1L == userId; } + public boolean isAdmin () { - return isAdmin(this.userId); + return isAdmin(this.userId) || (this.isAdmin != null && this.isAdmin == 1); } @Xss(message = "用户昵称不能包含脚本字符") diff --git a/cloud-firm/src/main/java/com/muyu/cloud/firm/FirmApplication.java b/cloud-firm/src/main/java/com/muyu/cloud/firm/FirmApplication.java index 4733b8a..534ab13 100644 --- a/cloud-firm/src/main/java/com/muyu/cloud/firm/FirmApplication.java +++ b/cloud-firm/src/main/java/com/muyu/cloud/firm/FirmApplication.java @@ -1,4 +1,4 @@ -package com.muyu.cloud.firm; +package com.muyu.system; import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; diff --git a/cloud-modules/cloud-modules-system-saas/pom.xml b/cloud-modules/cloud-modules-system-saas/pom.xml new file mode 100644 index 0000000..42a5e88 --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/pom.xml @@ -0,0 +1,104 @@ + + + 4.0.0 + + com.muyu + cloud-modules + 3.6.3 + + + cloud-modules-system-saas + + + 17 + 17 + UTF-8 + + + + + com.muyu + cloud-common-saas + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + cloud-common-datasource + + + + + com.muyu + cloud-common-datascope + + + + + com.muyu + cloud-common-log + + + + + com.muyu + cloud-common-api-doc + + + + + com.muyu + cloud-common-xxl + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + + diff --git a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/CloudSystemSaasApplication.java b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/CloudSystemSaasApplication.java new file mode 100644 index 0000000..95d43df --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/CloudSystemSaasApplication.java @@ -0,0 +1,32 @@ +package com.muyu.system.saas; + +import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure; +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; + +/** + * @Author: 胡杨 + * @Name: CloudSystemSaas + * @Description: SaaS系统驱动器 + * @CreatedDate: 2024/9/22 上午10:05 + * @FilePath: com.muyu.system.saas + */ +@EnableCustomConfig +@EnableMyFeignClients +@SpringBootApplication( + exclude = { + DataSourceAutoConfiguration.class, + DruidDataSourceAutoConfigure.class, + DynamicDataSourceAutoConfiguration.class + } +) +public class CloudSystemSaasApplication { + public static void main(String[] args) { + SpringApplication.run(CloudSystemSaasApplication.class, args); + System.out.println("CloudSystemSaas 模块启动成功!"); + } +} diff --git a/cloud-modules/cloud-modules-system-saas/src/main/resources/banner.txt b/cloud-modules/cloud-modules-system-saas/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/cloud-modules/cloud-modules-system-saas/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-system-saas/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..220dec5 --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/resources/bootstrap.yml @@ -0,0 +1,59 @@ +# Tomcat +server: + port: 9704 + +# nacos线上地址 +nacos: + addr: 47.116.173.119:8848 + user-name: nacos + password: nacos + namespace: one-saas +# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all +# Spring +spring: + amqp: + deserialization: + trust: + all: true + main: + allow-bean-definition-overriding: true + application: + # 应用名称 + name: cloud-system-saas + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: ${nacos.addr} + # nacos用户名 + username: ${nacos.user-name} + # nacos密码 + password: ${nacos.password} + # 命名空间 + namespace: ${nacos.namespace} + config: + # 服务注册地址 + server-addr: ${nacos.addr} + # nacos用户名 + username: ${nacos.user-name} + # nacos密码 + password: ${nacos.password} + # 命名空间 + namespace: ${nacos.namespace} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + # 系统共享配置 + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # 系统环境Config共享配置 + - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # xxl-job 配置文件 + - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + +logging: + level: + com.muyu.system.mapper: DEBUG diff --git a/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/dev.xml b/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/dev.xml new file mode 100644 index 0000000..44768a1 --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/dev.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/prod.xml b/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/prod.xml new file mode 100644 index 0000000..727021d --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/prod.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/test.xml b/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/test.xml new file mode 100644 index 0000000..727021d --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/resources/logback/test.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/cloud-modules/cloud-modules-system/pom.xml b/cloud-modules/cloud-modules-system/pom.xml index f718fbf..ba4df8c 100644 --- a/cloud-modules/cloud-modules-system/pom.xml +++ b/cloud-modules/cloud-modules-system/pom.xml @@ -17,6 +17,11 @@ + + + + + com.alibaba.cloud diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java index fd125f4..3840328 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java @@ -1,5 +1,6 @@ package com.muyu.system; +import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; import com.muyu.common.security.annotation.EnableCustomConfig; import com.muyu.common.security.annotation.EnableMyFeignClients; @@ -16,6 +17,13 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; //@EnableCustomSwagger2 @EnableMyFeignClients @SpringBootApplication +//@SpringBootApplication( +// exclude = { +// DataSourceAutoConfiguration.class, +// DruidDataSourceAutoConfigure.class, +// DynamicDataSourceAutoConfiguration.class +// } +//) public class CloudSystemApplication { public static void main (String[] args) { SpringApplication.run(CloudSystemApplication.class, args); diff --git a/cloud-firm/src/main/java/com/muyu/cloud/firm/controller/SysFirmController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysFirmController.java similarity index 95% rename from cloud-firm/src/main/java/com/muyu/cloud/firm/controller/SysFirmController.java rename to cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysFirmController.java index fc32a10..e5fa720 100644 --- a/cloud-firm/src/main/java/com/muyu/cloud/firm/controller/SysFirmController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysFirmController.java @@ -1,13 +1,13 @@ -package com.muyu.cloud.firm.controller; +package com.muyu.system.controller; -import com.muyu.cloud.firm.service.ISysFirmService; +import com.muyu.system.service.ISysFirmService; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.utils.SecurityUtils; -import com.muyu.cloud.firm.domain.SysFirm; +import com.muyu.system.domain.SysFirm; import jakarta.servlet.http.HttpServletResponse; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java index f8b05ad..069c2e5 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java @@ -44,6 +44,7 @@ public class SysRoleController extends BaseController { @GetMapping("/list") public Result> list (SysRole role) { startPage(); + role.setFirmCode(SecurityUtils.getSaasKey()); List list = roleService.selectRoleList(role); return getDataTable(list); } @@ -74,6 +75,7 @@ public class SysRoleController extends BaseController { @Log(title = "角色管理", businessType = BusinessType.INSERT) @PostMapping public Result add (@Validated @RequestBody SysRole role) { + role.setFirmCode(SecurityUtils.getSaasKey()); if (!roleService.checkRoleNameUnique(role)) { return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在"); } else if (!roleService.checkRoleKeyUnique(role)) { @@ -143,7 +145,9 @@ public class SysRoleController extends BaseController { @RequiresPermissions("system:role:query") @GetMapping("/optionselect") public Result optionselect () { - return success(roleService.selectRoleAll()); + SysRole role = new SysRole(); + role.setFirmCode(SecurityUtils.getSaasKey()); + return success(roleService.selectRoleAll(role)); } /** diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java index 14c5dd7..c98bea3 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -19,6 +19,7 @@ import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserInfoResp; import com.muyu.system.service.*; import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -165,9 +166,13 @@ public class SysUserController extends BaseController { @RequiresPermissions("system:user:query") @GetMapping(value = {"/", "/{userId}"}) public Result getInfo (@PathVariable(value = "userId", required = false) Long userId) { - userService.checkUserDataScope(userId); + SysUser user = userService.selectUserById(userId); UserDetailInfoResp.UserDetailInfoRespBuilder builder = UserDetailInfoResp.builder(); - List roles = roleService.selectRoleAll(); + SysRole role = new SysRole(); + if (ObjectUtils.isNotEmpty(user)){ + role.setFirmCode(user.getFirmCode()); + } + List roles = roleService.selectRoleAll(role); builder.roles( SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()) ) @@ -198,7 +203,14 @@ public class SysUserController extends BaseController { } user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - user.setFirmCode(SecurityUtils.getSaasKey()); + + String saasKey = SecurityUtils.getSaasKey(); + if ("FIRM".equals(saasKey)) { + SysDept sysDept = deptService.selectDeptById(user.getDeptId()); + user.setFirmCode(sysDept.getFirmCode()); + }else { + user.setFirmCode(saasKey); + } return toAjax(userService.insertUser(user)); } @@ -269,7 +281,7 @@ public class SysUserController extends BaseController { @GetMapping("/authRole/{userId}") public Result authRole (@PathVariable("userId") Long userId) { SysUser user = userService.selectUserById(userId); - List roles = roleService.selectRolesByUserId(userId); + List roles = roleService.selectRolesByUserId(user.getFirmCode(), userId); return Result.success( AuthRoleResp.builder() .roles(SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())) diff --git a/cloud-firm/src/main/java/com/muyu/cloud/firm/domain/SysFirm.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysFirm.java similarity index 98% rename from cloud-firm/src/main/java/com/muyu/cloud/firm/domain/SysFirm.java rename to cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysFirm.java index 0517fd8..bc5698b 100644 --- a/cloud-firm/src/main/java/com/muyu/cloud/firm/domain/SysFirm.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysFirm.java @@ -1,4 +1,4 @@ -package com.muyu.cloud.firm.domain; +package com.muyu.system.domain; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.web.domain.BaseEntity; diff --git a/cloud-firm/src/main/java/com/muyu/cloud/firm/mapper/SysFirmMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysFirmMapper.java similarity index 80% rename from cloud-firm/src/main/java/com/muyu/cloud/firm/mapper/SysFirmMapper.java rename to cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysFirmMapper.java index 60c0bfc..a343b5b 100644 --- a/cloud-firm/src/main/java/com/muyu/cloud/firm/mapper/SysFirmMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysFirmMapper.java @@ -1,7 +1,7 @@ -package com.muyu.cloud.firm.mapper; +package com.muyu.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.cloud.firm.domain.SysFirm; +import com.muyu.system.domain.SysFirm; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java index 2b01dc3..f33aa51 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysRoleMapper.java @@ -2,6 +2,7 @@ package com.muyu.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.common.system.domain.SysRole; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -27,7 +28,7 @@ public interface SysRoleMapper extends BaseMapper { * * @return 角色列表 */ - public List selectRolePermissionByUserId (Long userId); + public List selectRolePermissionByUserId (@Param("firmCode") String firmCode, @Param("userId") Long userId); /** * 查询所有角色 @@ -70,7 +71,7 @@ public interface SysRoleMapper extends BaseMapper { * * @return 角色信息 */ - public SysRole checkRoleNameUnique (String roleName); + public SysRole checkRoleNameUnique (@Param("firmCode") String firmCode, @Param("roleName") String roleName); /** * 校验角色权限是否唯一 diff --git a/cloud-firm/src/main/java/com/muyu/cloud/firm/service/ISysFirmService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/ISysFirmService.java similarity index 90% rename from cloud-firm/src/main/java/com/muyu/cloud/firm/service/ISysFirmService.java rename to cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/ISysFirmService.java index 04246c4..728ad11 100644 --- a/cloud-firm/src/main/java/com/muyu/cloud/firm/service/ISysFirmService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/ISysFirmService.java @@ -1,7 +1,7 @@ -package com.muyu.cloud.firm.service; +package com.muyu.system.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.cloud.firm.domain.SysFirm; +import com.muyu.system.domain.SysFirm; import java.util.List; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java index 47009f8..2b707a8 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java @@ -29,7 +29,7 @@ public interface SysRoleService extends IService { * * @return 角色列表 */ - public List selectRolesByUserId (Long userId); + public List selectRolesByUserId (String firmCode, Long userId); /** * 根据用户ID查询角色权限 @@ -38,14 +38,14 @@ public interface SysRoleService extends IService { * * @return 权限列表 */ - public Set selectRolePermissionByUserId (Long userId); + public Set selectRolePermissionByUserId (String firmCode, Long userId); /** * 查询所有角色 * * @return 角色列表 */ - public List selectRoleAll (); + public List selectRoleAll (SysRole role); /** * 根据用户ID获取角色选择框列表 diff --git a/cloud-firm/src/main/java/com/muyu/cloud/firm/service/impl/SysFirmServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysFirmServiceImpl.java similarity index 87% rename from cloud-firm/src/main/java/com/muyu/cloud/firm/service/impl/SysFirmServiceImpl.java rename to cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysFirmServiceImpl.java index 6857c9f..fc88b1a 100644 --- a/cloud-firm/src/main/java/com/muyu/cloud/firm/service/impl/SysFirmServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysFirmServiceImpl.java @@ -1,11 +1,10 @@ -package com.muyu.cloud.firm.service.impl; +package com.muyu.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.cloud.firm.domain.SysFirm; -import com.muyu.cloud.firm.mapper.SysFirmMapper; -import com.muyu.cloud.firm.service.ISysFirmService; -import com.muyu.common.core.utils.StringUtils; +import com.muyu.system.domain.SysFirm; +import com.muyu.system.mapper.SysFirmMapper; +import com.muyu.system.service.ISysFirmService; import org.springframework.stereotype.Service; import org.springframework.util.Assert; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java index a8641a1..bcc2afb 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysPermissionServiceImpl.java @@ -30,7 +30,7 @@ public class SysPermissionServiceImpl implements SysPermissionService { /** * 获取角色数据权限 * - * @param userId 用户Id + * @param user 用户 * * @return 角色权限信息 */ @@ -41,7 +41,7 @@ public class SysPermissionServiceImpl implements SysPermissionService { if (user.isAdmin()) { roles.add("admin"); } else { - roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); + roles.addAll(roleService.selectRolePermissionByUserId(user.getFirmCode(), user.getUserId())); } return roles; } @@ -49,7 +49,7 @@ public class SysPermissionServiceImpl implements SysPermissionService { /** * 获取菜单数据权限 * - * @param userId 用户Id + * @param user 用户 * * @return 菜单权限信息 */ diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java index fa832da..39b4275 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java @@ -17,10 +17,11 @@ import com.muyu.system.mapper.SysRoleMapper; import com.muyu.system.mapper.SysRoleMenuMapper; import com.muyu.system.mapper.SysUserRoleMapper; import com.muyu.system.service.SysRoleService; -import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.*; /** @@ -30,16 +31,16 @@ import java.util.*; */ @Service public class SysRoleServiceImpl extends ServiceImpl implements SysRoleService { - @Autowired + @Resource private SysRoleMapper roleMapper; - @Autowired + @Resource private SysRoleMenuMapper roleMenuMapper; - @Autowired + @Resource private SysUserRoleMapper userRoleMapper; - @Autowired + @Resource private SysRoleDeptMapper roleDeptMapper; /** @@ -63,9 +64,11 @@ public class SysRoleServiceImpl extends ServiceImpl impl * @return 角色列表 */ @Override - public List selectRolesByUserId (Long userId) { - List userRoles = roleMapper.selectRolePermissionByUserId(userId); - List roles = selectRoleAll(); + public List selectRolesByUserId (String firmCode, Long userId) { + List userRoles = roleMapper.selectRolePermissionByUserId(firmCode, userId); + SysRole sysRole = new SysRole(); + sysRole.setFirmCode(firmCode); + List roles = selectRoleAll(sysRole); for (SysRole role : roles) { for (SysRole userRole : userRoles) { if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) { @@ -85,8 +88,8 @@ public class SysRoleServiceImpl extends ServiceImpl impl * @return 权限列表 */ @Override - public Set selectRolePermissionByUserId (Long userId) { - List perms = roleMapper.selectRolePermissionByUserId(userId); + public Set selectRolePermissionByUserId (String firmCode, Long userId) { + List perms = roleMapper.selectRolePermissionByUserId(firmCode, userId); Set permsSet = new HashSet<>(); for (SysRole perm : perms) { if (StringUtils.isNotNull(perm)) { @@ -102,8 +105,8 @@ public class SysRoleServiceImpl extends ServiceImpl impl * @return 角色列表 */ @Override - public List selectRoleAll () { - return SpringUtils.getAopProxy(this).selectRoleList(new SysRole()); + public List selectRoleAll (SysRole role) { + return SpringUtils.getAopProxy(this).selectRoleList(role); } /** @@ -140,7 +143,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Override public boolean checkRoleNameUnique (SysRole role) { Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId(); - SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName()); + SysRole info = roleMapper.checkRoleNameUnique(role.getFirmCode(), role.getRoleName()); if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) { return UserConstants.NOT_UNIQUE; } diff --git a/cloud-firm/src/main/resources/mapper/firm/SysFirmMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysFirmMapper.xml similarity index 90% rename from cloud-firm/src/main/resources/mapper/firm/SysFirmMapper.xml rename to cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysFirmMapper.xml index 32f06d4..25c02a3 100644 --- a/cloud-firm/src/main/resources/mapper/firm/SysFirmMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysFirmMapper.xml @@ -2,9 +2,9 @@ - + - + @@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, firm_credit_code, firm_code, firm_name, firm_logs , state, create_by, create_time, update_by, update_time, remark from sys_firm - and firm_name like concat('%', #{firmName}, '%') @@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + insert into sys_firm firm_credit_code, @@ -64,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update sys_firm firm_credit_code = #{firmCreditCode}, diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml index f6b56b3..61f7b81 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -6,6 +6,7 @@ + @@ -23,6 +24,7 @@ select distinct r.role_id, + r.firm_code, r.role_name, r.role_key, r.role_sort, @@ -51,6 +53,9 @@ AND r.status = #{status} + + AND r.firm_code = #{firmCode} + AND r.role_key like concat('%', #{roleKey}, '%') @@ -65,9 +70,9 @@ order by r.role_sort - - WHERE r.del_flag = '0' and ur.user_id = #{userId} + WHERE r.firm_code = #{firmCode} AND r.del_flag = '0' and ur.user_id = #{userId} - where r.role_name=#{roleName} and r.del_flag = '0' limit 1 + where r.firm_code = #{firmCode} AND r.role_name=#{roleName} and r.del_flag = '0' limit 1 - select u.user_id, u.dept_id, u.nick_name,u.firm_code, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, + select u.user_id, u.dept_id,u.is_admin, u.nick_name,u.firm_code, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag,u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u left join sys_dept d on u.dept_id = d.dept_id @@ -120,7 +122,7 @@