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
-
-
+
- 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}
@@ -94,7 +99,7 @@
- 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
@@ -105,6 +110,7 @@
insert into sys_role(
role_id,
+ firm_code,
role_name,
role_key,
role_sort,
@@ -117,6 +123,7 @@
create_time
)values(
#{roleId},
+ #{firmCode},
#{roleName},
#{roleKey},
#{roleSort},
@@ -133,6 +140,7 @@
update sys_role
+ firm_code = #{firmCode},
role_name = #{roleName},
role_key = #{roleKey},
role_sort = #{roleSort},
diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml
index a7e4061..152ee29 100644
--- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -6,6 +6,7 @@
+
@@ -49,6 +50,7 @@
select u.user_id,
+ u.is_admin,
u.dept_id,
u.firm_code,
u.user_name,
@@ -85,7 +87,7 @@
- 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 @@
- select distinct u.user_id, u.dept_id,u.firm_code, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+ select distinct u.user_id,u.is_admin, u.dept_id,u.firm_code, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
@@ -137,7 +139,7 @@
- select distinct u.user_id, u.dept_id,u.firm_code, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+ select distinct u.user_id,u.is_admin, u.dept_id,u.firm_code, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
@@ -197,6 +199,7 @@
insert into sys_user(
user_id,
dept_id,
+ is_admin,
user_name,
firm_code,
nick_name,
@@ -212,6 +215,7 @@
)values(
#{userId},
#{deptId},
+ #{isAdmin},
#{userName},
#{firmCode},
#{nickName},