82 changed files with 3641 additions and 1368 deletions
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/annotation/SystemLog.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/annotation/SystemLog.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/annotation/SystemLog.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/annotation/SystemLog.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.annotation; |
||||
package com.ecell.internationalize.common.system.annotation; |
||||
|
||||
import java.lang.annotation.*; |
||||
|
10
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/aspect/SystemLogAspect.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/aspect/SystemLogAspect.java
10
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/aspect/SystemLogAspect.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/aspect/SystemLogAspect.java
4
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/config/MybatisPlusPageConfig.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/config/MybatisPlusPageConfig.java
4
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/config/MybatisPlusPageConfig.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/config/MybatisPlusPageConfig.java
@ -1,10 +1,10 @@
@@ -1,10 +1,10 @@
|
||||
package com.ecell.internationalize.common.sysytem.config; |
||||
package com.ecell.internationalize.common.system.config; |
||||
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; |
||||
import com.ecell.internationalize.common.core.utils.StringUtils; |
||||
import com.ecell.internationalize.common.security.utils.SecurityUtils; |
||||
import com.ecell.internationalize.common.sysytem.constant.FieldConstant; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import org.apache.ibatis.reflection.MetaObject; |
||||
import org.springframework.context.annotation.Bean; |
||||
|
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/OssClientConstants.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/OssClientConstants.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/OssClientConstants.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/OssClientConstants.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.constant; |
||||
package com.ecell.internationalize.common.system.constant; |
||||
|
||||
/** |
||||
* @author borui |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/ServiceExceptionResultConstant.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/ServiceExceptionResultConstant.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/ServiceExceptionResultConstant.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/ServiceExceptionResultConstant.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.constant; |
||||
package com.ecell.internationalize.common.system.constant; |
||||
|
||||
import java.util.HashMap; |
||||
import java.util.Map; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/PositioningModelInfo.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/PositioningModelInfo.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/PositioningModelInfo.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/PositioningModelInfo.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import java.io.Serializable; |
||||
|
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysMenu.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysMenu.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysMenu.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysMenu.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysOperateInfo.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysOperateInfo.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysOperateInfo.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysOperateInfo.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRole.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRole.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRole.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRole.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRoleMenu.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRoleMenu.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRoleMenu.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRoleMenu.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUser.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUser.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUser.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUser.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUserRole.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUserRole.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUserRole.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUserRole.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/User.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/User.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/User.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/User.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/UserDeviceBindApp.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/UserDeviceBindApp.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/UserDeviceBindApp.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/UserDeviceBindApp.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatio.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatio.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatio.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatio.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatioHistory.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatioHistory.java
2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatioHistory.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatioHistory.java
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.ecell.internationalize.common.sysytem.entity; |
||||
package com.ecell.internationalize.common.system.entity; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/fallback/SysOperatorInfoFeignClientFallBack.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/fallback/SysOperatorInfoFeignClientFallBack.java
6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/fallback/SysOperatorInfoFeignClientFallBack.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/fallback/SysOperatorInfoFeignClientFallBack.java
@ -1,8 +1,8 @@
@@ -1,8 +1,8 @@
|
||||
package com.ecell.internationalize.common.sysytem.fallback; |
||||
package com.ecell.internationalize.common.system.fallback; |
||||
|
||||
import com.ecell.internationalize.common.core.exception.ServiceException; |
||||
import com.ecell.internationalize.common.sysytem.entity.SysOperateInfo; |
||||
import com.ecell.internationalize.common.sysytem.feign.SysOperatorInfoFeignClient; |
||||
import com.ecell.internationalize.common.system.entity.SysOperateInfo; |
||||
import com.ecell.internationalize.common.system.feign.SysOperatorInfoFeignClient; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
/** |
6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/feign/SysOperatorInfoFeignClient.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java
6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/feign/SysOperatorInfoFeignClient.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.ecell.internationalize.common.sysytem.feign; |
||||
package com.ecell.internationalize.common.system.feign; |
||||
|
||||
import com.ecell.internationalize.common.sysytem.entity.SysOperateInfo; |
||||
import com.ecell.internationalize.common.sysytem.fallback.SysOperatorInfoFeignClientFallBack; |
||||
import com.ecell.internationalize.common.system.entity.SysOperateInfo; |
||||
import com.ecell.internationalize.common.system.fallback.SysOperatorInfoFeignClientFallBack; |
||||
import org.springframework.cloud.openfeign.FeignClient; |
||||
import org.springframework.web.bind.annotation.PostMapping; |
||||
import org.springframework.web.bind.annotation.RequestBody; |
8
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/utlis/UploadUtil.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/utlis/UploadUtil.java
8
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/utlis/UploadUtil.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/utlis/UploadUtil.java
@ -0,0 +1,123 @@
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<parent> |
||||
<artifactId>ecell-internationalize</artifactId> |
||||
<groupId>com.ecell.internationalize</groupId> |
||||
<version>1.0-SNAPSHOT</version> |
||||
</parent> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
|
||||
<groupId>com.ecell.internationalize.system.security</groupId> |
||||
<artifactId>ecell-internationalize-system-security</artifactId> |
||||
<dependencies> |
||||
<!-- SpringCloud Alibaba Nacos --> |
||||
<dependency> |
||||
<groupId>com.alibaba.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
||||
</dependency> |
||||
|
||||
<!-- SpringCloud Alibaba Nacos Config --> |
||||
<dependency> |
||||
<groupId>com.alibaba.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> |
||||
</dependency> |
||||
|
||||
<!-- SpringCloud Alibaba Sentinel --> |
||||
<dependency> |
||||
<groupId>com.alibaba.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> |
||||
</dependency> |
||||
|
||||
<!-- SpringBoot Actuator --> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-actuator</artifactId> |
||||
</dependency> |
||||
|
||||
<!-- RuoYi Common Swagger --> |
||||
<dependency> |
||||
<groupId>com.ecell.internationalize.common.swagger</groupId> |
||||
<artifactId>ecell-internationalize-swagger</artifactId> |
||||
<version>1.0-SNAPSHOT</version> |
||||
</dependency> |
||||
<!-- SpringBoot Web --> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-web</artifactId> |
||||
</dependency> |
||||
|
||||
<!-- Swagger UI --> |
||||
<dependency> |
||||
<groupId>io.springfox</groupId> |
||||
<artifactId>springfox-swagger-ui</artifactId> |
||||
<version>${swagger.fox.version}</version> |
||||
</dependency> |
||||
|
||||
<!-- Mysql Connector --> |
||||
<dependency> |
||||
<groupId>mysql</groupId> |
||||
<artifactId>mysql-connector-java</artifactId> |
||||
</dependency> |
||||
|
||||
<!--druid数据源 --> |
||||
<dependency> |
||||
<groupId>com.alibaba</groupId> |
||||
<artifactId>druid-spring-boot-starter</artifactId> |
||||
<version>1.1.10</version> |
||||
</dependency> |
||||
|
||||
<dependency> |
||||
<groupId>org.projectlombok</groupId> |
||||
<artifactId>lombok</artifactId> |
||||
<optional>true</optional> |
||||
</dependency> |
||||
|
||||
<dependency> |
||||
<groupId>com.ecell.internationalize.common.sysytem</groupId> |
||||
<artifactId>ecell-internationalize-common-system</artifactId> |
||||
<version>1.0-SNAPSHOT</version> |
||||
|
||||
</dependency> |
||||
</dependencies> |
||||
|
||||
<build> |
||||
<finalName>${project.artifactId}</finalName> |
||||
<plugins> |
||||
<plugin> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-maven-plugin</artifactId> |
||||
<version>2.6.8</version> |
||||
<executions> |
||||
<execution> |
||||
<goals> |
||||
<goal>repackage</goal> |
||||
</goals> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
</plugins> |
||||
<resources> |
||||
<resource> |
||||
<directory>src/main/java</directory> |
||||
<includes> |
||||
<include>**/*.xml</include> |
||||
</includes> |
||||
<filtering>true</filtering> |
||||
</resource> |
||||
<resource> |
||||
<directory>src/main/resources</directory> |
||||
<includes> |
||||
<include>**/*.xml</include> |
||||
<include>**/*.yml</include> |
||||
<include>**/*.vm</include> |
||||
<include>**/*.properties</include> |
||||
</includes> |
||||
<filtering>false</filtering> |
||||
</resource> |
||||
|
||||
</resources> |
||||
</build> |
||||
|
||||
</project> |
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
package com.ecell.internationalize.system.security.controller; |
||||
|
||||
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; |
||||
import com.ecell.internationalize.common.core.web.domain.AjaxResult; |
||||
import com.ecell.internationalize.common.security.utils.SecurityUtils; |
||||
import com.ecell.internationalize.system.security.service.SysMenuService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiParam; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RequestParam; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@Api(value="菜单",tags={"菜单管理接口"}) |
||||
@RestController |
||||
@RequestMapping("/sys_user") |
||||
public class SysMenuController { |
||||
@Autowired |
||||
private SysMenuService sysMenuService; |
||||
/** |
||||
* 构建树形菜单结构 |
||||
* @return 路由信息 |
||||
*/ |
||||
@ApiOperation("构建树形菜单结构") |
||||
@GetMapping("/menu/getMenuTree") |
||||
public AjaxResult getMenuTree() { |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysMenuService.getMenuTree()); |
||||
} |
||||
/** |
||||
* 角色Id查询菜单相关 |
||||
* @Author liy |
||||
* @Date 2022/7/25 10:38 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("根据角色Id查询菜单") |
||||
@GetMapping(value = "role/queryMenuByRoleId") |
||||
public AjaxResult queryMenuByRoleId(@RequestParam @ApiParam(name="Id",value="角色id",required=true) String roleId) { |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysMenuService.queryMenuByRoleId(roleId)); |
||||
} |
||||
/** |
||||
* 获取路由信息 |
||||
* @return 路由信息 |
||||
*/ |
||||
@ApiOperation("获取路由信息") |
||||
@GetMapping("menu/getRouter") |
||||
public AjaxResult getRouters() { |
||||
String userId = SecurityUtils.getUserId(); |
||||
return AjaxResult.success(sysMenuService.selectMenuTreeByUserId(userId)); |
||||
} |
||||
} |
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
package com.ecell.internationalize.system.security.controller; |
||||
|
||||
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; |
||||
import com.ecell.internationalize.common.core.web.domain.AjaxResult; |
||||
import com.ecell.internationalize.common.system.entity.SysOperateInfo; |
||||
import com.ecell.internationalize.system.security.service.SysOperateInfoService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.PostMapping; |
||||
import org.springframework.web.bind.annotation.RequestBody; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@Api(value="用户操作日志",tags={"用户操作日志接口"}) |
||||
@RestController |
||||
@RequestMapping("/sys_user") |
||||
public class SysOperateInfoController { |
||||
@Autowired |
||||
private SysOperateInfoService sysOperateInfoService; |
||||
/** |
||||
* 新增日志信息 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:38 |
||||
* @param sysOperateInfo 操作日志 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("新增日志信息") |
||||
@PostMapping("operator/save") |
||||
public AjaxResult save(@RequestBody SysOperateInfo sysOperateInfo){ |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysOperateInfoService.save(sysOperateInfo)); |
||||
} |
||||
/** |
||||
* 分页查询日志信息 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:38 |
||||
* @param map 操作日志 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@PostMapping("operator/pageList") |
||||
@ApiOperation("条件分页查询日志信息") |
||||
public AjaxResult queryAllByPage(@RequestBody Map<String,Object> map){ |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysOperateInfoService.findAllByPage(map)); |
||||
} |
||||
/** |
||||
* 查询模块名称 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:38 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@PostMapping("operator/queryModuleName") |
||||
@ApiOperation("查询模块名称") |
||||
public AjaxResult queryModuleName(){ |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysOperateInfoService.queryModuleName()); |
||||
} |
||||
} |
@ -0,0 +1,150 @@
@@ -0,0 +1,150 @@
|
||||
package com.ecell.internationalize.system.security.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; |
||||
import com.ecell.internationalize.common.core.web.domain.AjaxResult; |
||||
import com.ecell.internationalize.common.security.utils.SecurityUtils; |
||||
import com.ecell.internationalize.common.system.annotation.SystemLog; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.common.system.entity.SysRole; |
||||
import com.ecell.internationalize.system.security.service.SysRoleService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiParam; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.Date; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@Api(value="角色管理",tags={"角色管理接口"}) |
||||
@RestController |
||||
@RequestMapping("/sys_user") |
||||
public class SysRoleController { |
||||
@Autowired |
||||
private SysRoleService roleService; |
||||
/** |
||||
* 角色管理条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/21 10:38 |
||||
* @param map 分页条件查询体 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("条件分页查询角色信息") |
||||
@PostMapping("role/pageList") |
||||
public AjaxResult queryAllByPage(@RequestBody Map<String,Object> map){ |
||||
Page<SysRole> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString())); |
||||
LambdaQueryWrapper<SysRole> sysRoleLambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
if (map.containsKey(FieldConstant.ROLE_NAME)&&null!=map.get(FieldConstant.ROLE_NAME).toString()){ |
||||
sysRoleLambdaQueryWrapper.eq(SysRole::getRoleName,map.get(FieldConstant.ROLE_NAME).toString()); |
||||
} |
||||
if (map.containsKey(FieldConstant.ACCOUNT_STATUS)&&null!=map.get(FieldConstant.ACCOUNT_STATUS).toString()){ |
||||
sysRoleLambdaQueryWrapper.eq(SysRole::getStatus,map.get(FieldConstant.ACCOUNT_STATUS).toString()); |
||||
} |
||||
sysRoleLambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG); |
||||
sysRoleLambdaQueryWrapper.orderByDesc(SysRole::getCreateTime); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.getBaseMapper().selectPage(page,sysRoleLambdaQueryWrapper)); |
||||
} |
||||
/** |
||||
* 新增角色信息 |
||||
* @Author liy |
||||
* @Date 2022/7/21 11:38 |
||||
* @param sysRole 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("新增角色信息") |
||||
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.SAVE_OPERATOR) |
||||
@PostMapping("role/save") |
||||
public AjaxResult save(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){ |
||||
int count = roleService.count(new QueryWrapper<SysRole>() |
||||
.eq(FieldConstant.ROLE_NAME,sysRole.getRoleName()) |
||||
.eq(FieldConstant.USER_DEL_FLAG,FieldConstant.DEL_FLAG) |
||||
); |
||||
if (count>0){ |
||||
//角色已存在
|
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.role.exit")); |
||||
} |
||||
sysRole.setCreateUser(SecurityUtils.getUsername()); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.saveRole(sysRole)); |
||||
} |
||||
/** |
||||
* 修改角色信息 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:38 |
||||
* @param sysRole 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("修改角色信息") |
||||
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.UPDATE_OPERATOR) |
||||
@PostMapping("role/update") |
||||
public AjaxResult update(@RequestBody @ApiParam(name="角色", value = "角色实体",required=true) SysRole sysRole){ |
||||
//admin用户禁止修改操作
|
||||
if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){ |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); |
||||
} |
||||
LambdaQueryWrapper<SysRole> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(SysRole::getRoleName,sysRole.getRoleName()); |
||||
lambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG); |
||||
SysRole role = roleService.getBaseMapper().selectOne(lambdaQueryWrapper); |
||||
//修改名称相同
|
||||
if (null!=role&&!role.getRoleId().equals(sysRole.getRoleId())){ |
||||
//角色已存在
|
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.role.exit")); |
||||
} |
||||
sysRole.setUpdateTime(new Date()); |
||||
sysRole.setUpdateUser(SecurityUtils.getUsername()); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.updateRole(sysRole)); |
||||
} |
||||
/** |
||||
* 删除角色信息 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:38 |
||||
* @param sysRole 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("删除角色信息") |
||||
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.DELETE_OPERATOR) |
||||
@PostMapping("role/del") |
||||
public AjaxResult del(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){ |
||||
//admin用户禁止修改操作
|
||||
if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){ |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); |
||||
} |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.deleteRoleById(sysRole)); |
||||
} |
||||
/** |
||||
* 修改角色状态 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:38 |
||||
* @param sysRole 角色 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("修改角色状态") |
||||
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.CHANGE_STATUS_OPERATOR) |
||||
@PostMapping("role/updateStatus") |
||||
public AjaxResult updateStatus(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){ |
||||
//admin用户禁止修改操作
|
||||
if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){ |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); |
||||
} |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.updateById(sysRole)); |
||||
} |
||||
/** |
||||
* 查询角色名称 |
||||
* @Author liy |
||||
* @Date 2022/7/25 10:38 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("查询角色名称") |
||||
@GetMapping(value = "role/queryRole") |
||||
public AjaxResult queryRole() { |
||||
LambdaQueryWrapper<SysRole> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.getBaseMapper().selectList(lambdaQueryWrapper)); |
||||
} |
||||
} |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
package com.ecell.internationalize.system.security.controller; |
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@RestController |
||||
@RequestMapping("/sys-role-menu") |
||||
public class SysRoleMenuController { |
||||
|
||||
} |
@ -0,0 +1,307 @@
@@ -0,0 +1,307 @@
|
||||
package com.ecell.internationalize.system.security.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.ecell.internationalize.common.core.domain.UserLogin; |
||||
import com.ecell.internationalize.common.core.utils.ServletUtils; |
||||
import com.ecell.internationalize.common.core.utils.ip.IpUtils; |
||||
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; |
||||
import com.ecell.internationalize.common.core.web.domain.AjaxResult; |
||||
import com.ecell.internationalize.common.security.annotation.RequiresPermissions; |
||||
import com.ecell.internationalize.common.security.utils.SecurityUtils; |
||||
import com.ecell.internationalize.common.system.annotation.SystemLog; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.common.system.entity.SysUser; |
||||
import com.ecell.internationalize.common.system.utlis.UploadUtil; |
||||
import com.ecell.internationalize.system.security.feign.FirmManageFeignClient; |
||||
import com.ecell.internationalize.system.security.service.SysPermissionService; |
||||
import com.ecell.internationalize.system.security.service.SysUserService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiParam; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.*; |
||||
import org.springframework.web.multipart.MultipartFile; |
||||
|
||||
import java.io.IOException; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import java.util.Set; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@Api(value="用户管理",tags={"用户管理接口"}) |
||||
@RestController |
||||
@RequestMapping("/sys_user") |
||||
@Slf4j |
||||
public class SysUserController { |
||||
@Autowired |
||||
private SysUserService sysUserService; |
||||
@Autowired |
||||
private SysPermissionService permissionService; |
||||
@Autowired |
||||
private FirmManageFeignClient firmManageFeignClient; |
||||
|
||||
/** |
||||
* 查询所有用户 |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:34 |
||||
*/ |
||||
@ApiOperation("查询所有用户(非分页)") |
||||
@GetMapping("user/list") |
||||
public List<SysUser> queryAll() { |
||||
return sysUserService.getBaseMapper().selectList(null); |
||||
} |
||||
/** |
||||
* 根据userId查询用户信息 |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:34 |
||||
*/ |
||||
@ApiOperation("根据userId查询用户信息") |
||||
@GetMapping("user/queryByUserId") |
||||
public SysUser queryByUserId() { |
||||
LambdaQueryWrapper<SysUser> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(SysUser::getUserId, SecurityUtils.getUserId()); |
||||
return sysUserService.getBaseMapper().selectOne(lambdaQueryWrapper); |
||||
} |
||||
/** |
||||
* 根据用户账号查询 |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:34 |
||||
*/ |
||||
@ApiOperation("根据用户账号查询") |
||||
@GetMapping("user/queryByUserName") |
||||
public UserLogin queryByUserName(@ApiParam(name="userName",value="用户账号",required=true) String userName) { |
||||
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
sysUserLambdaQueryWrapper.eq(SysUser::getAccount,userName); |
||||
UserLogin sysUserVo = new UserLogin(); |
||||
SysUser sysUser = sysUserService.getBaseMapper().selectOne(sysUserLambdaQueryWrapper); |
||||
if (null == sysUser){ |
||||
return null; |
||||
} |
||||
// 角色集合
|
||||
Set<String> roles = permissionService.getRolePermission(sysUser.getUserId()); |
||||
// 权限集合
|
||||
Set<String> permissions = permissionService.getMenuPermission(sysUser.getUserId()); |
||||
sysUserVo.setUserId(sysUser.getUserId()); |
||||
sysUserVo.setAccount(sysUser.getAccount()); |
||||
sysUserVo.setPassword(sysUser.getPassword()); |
||||
sysUserVo.setDelFlag(sysUser.getDelFlag()); |
||||
sysUserVo.setFirmFlag(sysUser.getFirmFlag()); |
||||
sysUserVo.setFirmId(sysUser.getFirmId()); |
||||
sysUserVo.setStatus(sysUser.getStatus()); |
||||
sysUserVo.setSecondFirmId(sysUser.getSecondFirmId()); |
||||
sysUserVo.setRoles(roles); |
||||
sysUserVo.setPermissions(permissions); |
||||
return sysUserVo; |
||||
} |
||||
/** |
||||
* 获取用户信息 |
||||
* @Author: liy |
||||
* @Date: 2022/7/20 16:34 |
||||
*/ |
||||
@ApiOperation("获取用户信息") |
||||
@GetMapping("user/getInfo") |
||||
public AjaxResult getInfo() |
||||
{ |
||||
String userId = String.valueOf(SecurityUtils.getUserId()); |
||||
log.info("获取到的userId:{}",userId); |
||||
// 角色集合
|
||||
Set<String> roles = permissionService.getRolePermission(userId); |
||||
// 菜单权限集合
|
||||
Set<String> permissions = permissionService.getMenuPermission(userId); |
||||
AjaxResult ajax = AjaxResult.success(); |
||||
ajax.put("user", sysUserService.getBaseMapper().selectById(userId)); |
||||
ajax.put("roles", roles); |
||||
ajax.put("permissions", permissions); |
||||
return ajax; |
||||
} |
||||
/** |
||||
* 用户管理条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/20 15:38 |
||||
* @param map 分页条件查询体 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("条件分页查询用户信息") |
||||
@RequiresPermissions("system:userList:list") |
||||
@PostMapping("user/pageList") |
||||
public AjaxResult queryAllByPage(@RequestBody Map<String,Object> map){ |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.findAllByPage(map)); |
||||
} |
||||
/** |
||||
* 新增用户信息 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:38 |
||||
* @param sysUser 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("新增用户信息") |
||||
@RequiresPermissions("system:userList:add") |
||||
@SystemLog(msg = FieldConstant.USER_MANAGE,operation = FieldConstant.SAVE_OPERATOR) |
||||
@PostMapping("user/save") |
||||
public AjaxResult save(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser) { |
||||
sysUser.setHeadImg(FieldConstant.USER_IMAGE); |
||||
int count = sysUserService.count(new QueryWrapper<SysUser>() |
||||
.eq(FieldConstant.ACCOUNT,sysUser.getAccount()) |
||||
.eq(FieldConstant.USER_DEL_FLAG,FieldConstant.DEL_FLAG) |
||||
); |
||||
if (count>0){ |
||||
//账号已存在
|
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.account.exit")); |
||||
} |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.saveUser(sysUser)); |
||||
} |
||||
/** |
||||
* 修改用户信息 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:38 |
||||
* @param sysUser 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("修改用户信息") |
||||
@RequiresPermissions("system:userList:update") |
||||
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.UPDATE_OPERATOR) |
||||
@PostMapping("user/update") |
||||
public AjaxResult update(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){ |
||||
//admin用户禁止修改操作
|
||||
if(FieldConstant.ADMIN.equals(sysUser.getUserId())){ |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); |
||||
} |
||||
LambdaQueryWrapper<SysUser> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(SysUser::getAccount,sysUser.getAccount()); |
||||
lambdaQueryWrapper.eq(SysUser::getDelFlag,FieldConstant.DEL_FLAG); |
||||
SysUser user = sysUserService.getBaseMapper().selectOne(lambdaQueryWrapper); |
||||
//修改名称相同
|
||||
if (null!=user&&!user.getUserId().equals(sysUser.getUserId())){ |
||||
//用户已存在
|
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.account.exit")); |
||||
} |
||||
sysUser.setUpdateTime(new Date()); |
||||
sysUser.setUpdateUser(SecurityUtils.getUsername()); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateUser(sysUser)); |
||||
} |
||||
/** |
||||
* 删除用户信息 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:38 |
||||
* @param sysUser 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("删除用户信息") |
||||
@RequiresPermissions("system:userList:delete") |
||||
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.DELETE_OPERATOR) |
||||
@PostMapping("user/del") |
||||
public AjaxResult del(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){ |
||||
//admin用户禁止删除
|
||||
if(FieldConstant.ADMIN.equals(sysUser.getUserId())){ |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); |
||||
} |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.deleteUserById(sysUser)); |
||||
} |
||||
/** |
||||
* 修改用户状态 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:38 |
||||
* @param sysUser 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("修改用户状态") |
||||
@RequiresPermissions("system:userList:status") |
||||
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.CHANGE_STATUS_OPERATOR) |
||||
@PostMapping("user/updateStatus") |
||||
public AjaxResult updateStatus(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){ |
||||
//admin用户禁止修改状态
|
||||
if(FieldConstant.ADMIN.equals(sysUser.getUserId())){ |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); |
||||
} |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateById(sysUser)); |
||||
} |
||||
/** |
||||
* 显示所有厂商名称 |
||||
* @Author liy |
||||
* @Date 2022/7/25 14:38 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("显示所有厂商名称") |
||||
@GetMapping("user/queryFirm") |
||||
public AjaxResult queryFirm(){ |
||||
return firmManageFeignClient.queryAll(); |
||||
} |
||||
/** |
||||
* 根据Id查询 |
||||
* @Author liy |
||||
* @Date 2022/7/25 10:38 |
||||
* @param firmId 主键firmId |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("根据firmId查询厂商信息") |
||||
@GetMapping(value = "user/queryById") |
||||
public AjaxResult queryById(@ApiParam(name="Id", value = "厂商Id",required=true) String firmId) { |
||||
return firmManageFeignClient.findById(firmId); |
||||
} |
||||
|
||||
/** |
||||
* 认证修改用户登录时间 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:38 |
||||
* @param sysUser 用户 |
||||
* @Return AjaxResult |
||||
*/ |
||||
@ApiOperation("认证修改用户登录时间") |
||||
@PostMapping("user/updateLoginStatus") |
||||
public AjaxResult updateLoginStatus(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){ |
||||
return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS),sysUserService.updateById(sysUser)); |
||||
} |
||||
/** |
||||
* 重置密码 |
||||
*/ |
||||
@ApiOperation("重置密码") |
||||
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.RESET_PASSWORD) |
||||
@PostMapping("user/resetPwd") |
||||
public AjaxResult resetPwd(@RequestBody @ApiParam(name="密码", value = "重置密码,旧密码字段为password,新密码字段为:newPassword",required=true) SysUser sysUser) { |
||||
String userId=SecurityUtils.getUserId(); |
||||
sysUser.setUserId(userId); |
||||
//若为admin,禁止操作
|
||||
if (FieldConstant.ADMIN.equals(userId)) { |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.admin.prohibit")); |
||||
} |
||||
LambdaQueryWrapper<SysUser> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(SysUser::getUserId,userId); |
||||
SysUser user = sysUserService.getBaseMapper().selectOne(lambdaQueryWrapper); |
||||
//输入的旧密码与实际密码不一致
|
||||
if (!SecurityUtils.matchesPassword(sysUser.getPassword(),user.getPassword())){ |
||||
return AjaxResult.error(LocaleUtil.getMessage("messages.different.password")); |
||||
} |
||||
sysUser.setPassword(SecurityUtils.encryptPassword(sysUser.getNewPassword())); |
||||
sysUser.setUpdateUser(SecurityUtils.getUsername()); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateById(sysUser)); |
||||
} |
||||
/** |
||||
* 修改个人信息 |
||||
*/ |
||||
@ApiOperation("修改个人信息") |
||||
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.UPDATE_USER_INFO) |
||||
@PostMapping("user/updateInfo") |
||||
public AjaxResult updateInfo(@RequestParam("file") MultipartFile file, @RequestParam("nickName")String nickName) throws IOException { |
||||
String userId=SecurityUtils.getUserId(); |
||||
SysUser sysUser=new SysUser(); |
||||
sysUser.setNickName(nickName); |
||||
String path = UploadUtil.upload(file); |
||||
sysUser.setUserId(userId); |
||||
sysUser.setHeadImg(path); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateById(sysUser)); |
||||
} |
||||
/** |
||||
* 获取IP地址 |
||||
*/ |
||||
@ApiOperation("获取IP地址") |
||||
@GetMapping("user/getIpHost") |
||||
public AjaxResult getIpHost(){ |
||||
String ip = IpUtils.getIpAddr(ServletUtils.getRequest()); |
||||
return AjaxResult.success(LocaleUtil.getMessage("messages.success"), ip); |
||||
} |
||||
} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
package com.ecell.internationalize.system.security.controller; |
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@RestController |
||||
@RequestMapping("/sys-user-role") |
||||
public class SysUserRoleController { |
||||
} |
@ -0,0 +1,94 @@
@@ -0,0 +1,94 @@
|
||||
package com.ecell.internationalize.system.security.entity; |
||||
|
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@Data |
||||
public class MenuVO implements Serializable { |
||||
private static final long serialVersionUID=1L; |
||||
|
||||
/** |
||||
* 主键Id |
||||
*/ |
||||
private String menuId; |
||||
|
||||
/** |
||||
* 菜单名称 |
||||
*/ |
||||
private String menuName; |
||||
|
||||
/** |
||||
* 父菜单ID |
||||
*/ |
||||
private String parentId; |
||||
|
||||
/** |
||||
* 显示顺序 |
||||
*/ |
||||
private Integer showOrder; |
||||
|
||||
/** |
||||
* 路由地址 |
||||
*/ |
||||
private String path; |
||||
|
||||
/** |
||||
* 菜单类型(M目录 C菜单 F按钮) |
||||
*/ |
||||
private String menuType; |
||||
|
||||
/** |
||||
* 菜单状态(0显示 1隐藏) |
||||
*/ |
||||
private String visible; |
||||
|
||||
/** |
||||
* 权限标识 |
||||
*/ |
||||
private String perms; |
||||
|
||||
/** |
||||
* 菜单图标 |
||||
*/ |
||||
private String icon; |
||||
|
||||
/** |
||||
* 创建人 |
||||
*/ |
||||
private String createUser; |
||||
|
||||
/** |
||||
* 创建时间 |
||||
*/ |
||||
private Date createTime; |
||||
|
||||
/** |
||||
* 修改人 |
||||
*/ |
||||
private String updateUser; |
||||
|
||||
/** |
||||
* 修改时间 |
||||
*/ |
||||
private Date updateTime; |
||||
/** |
||||
* 组件路径 |
||||
*/ |
||||
private String component; |
||||
/** |
||||
* 路由参数 |
||||
*/ |
||||
private String query; |
||||
|
||||
/** 是否为外链(0是 1否) */ |
||||
private String isFrame; |
||||
|
||||
/** 是否缓存(0缓存 1不缓存) */ |
||||
private String isCache; |
||||
|
||||
} |
@ -0,0 +1,65 @@
@@ -0,0 +1,65 @@
|
||||
package com.ecell.internationalize.system.security.entity; |
||||
|
||||
import com.ecell.internationalize.common.core.utils.StringUtils; |
||||
import lombok.Data; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@Data |
||||
public class MetaVo { |
||||
/** |
||||
* 设置该路由在侧边栏和面包屑中展示的名字 |
||||
*/ |
||||
private String title; |
||||
|
||||
/** |
||||
* 设置该路由的图标,对应路径src/assets/icons/svg |
||||
*/ |
||||
private String icon; |
||||
|
||||
/** |
||||
* 设置为true,则不会被 <keep-alive>缓存 |
||||
*/ |
||||
private boolean noCache; |
||||
|
||||
/** |
||||
* 内链地址(http(s)://开头)
|
||||
*/ |
||||
private String link; |
||||
|
||||
public MetaVo() |
||||
{ |
||||
} |
||||
|
||||
public MetaVo(String title, String icon) |
||||
{ |
||||
this.title = title; |
||||
this.icon = icon; |
||||
} |
||||
|
||||
public MetaVo(String title, String icon, boolean noCache) |
||||
{ |
||||
this.title = title; |
||||
this.icon = icon; |
||||
this.noCache = noCache; |
||||
} |
||||
|
||||
public MetaVo(String title, String icon, String link) |
||||
{ |
||||
this.title = title; |
||||
this.icon = icon; |
||||
this.link = link; |
||||
} |
||||
|
||||
public MetaVo(String title, String icon, boolean noCache, String link) |
||||
{ |
||||
this.title = title; |
||||
this.icon = icon; |
||||
this.noCache = noCache; |
||||
if (StringUtils.ishttp(link)) |
||||
{ |
||||
this.link = link; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,58 @@
@@ -0,0 +1,58 @@
|
||||
package com.ecell.internationalize.system.security.entity; |
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude; |
||||
import lombok.Data; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY) |
||||
@Data |
||||
public class RouterVo { |
||||
/** |
||||
* 路由名字 |
||||
*/ |
||||
private String name; |
||||
|
||||
/** |
||||
* 路由地址 |
||||
*/ |
||||
private String path; |
||||
|
||||
/** |
||||
* 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现 |
||||
*/ |
||||
private boolean hidden; |
||||
|
||||
/** |
||||
* 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 |
||||
*/ |
||||
private String redirect; |
||||
|
||||
/** |
||||
* 组件地址 |
||||
*/ |
||||
private String component; |
||||
|
||||
/** |
||||
* 路由参数:如 {"id": 1, "name": "ry"} |
||||
*/ |
||||
private String query; |
||||
|
||||
/** |
||||
* 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 |
||||
*/ |
||||
private Boolean alwaysShow; |
||||
|
||||
/** |
||||
* 其他元素 |
||||
*/ |
||||
private MetaVo meta; |
||||
|
||||
/** |
||||
* 子路由 |
||||
*/ |
||||
private List<RouterVo> children; |
||||
} |
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
package com.ecell.internationalize.system.security.entity; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@Data |
||||
@ApiModel(value = "树形节点") |
||||
public class TreeNode { |
||||
@ApiModelProperty(value = "当前节点id") |
||||
protected String menuId; |
||||
|
||||
@ApiModelProperty(value = "父节点id") |
||||
protected String parentId; |
||||
|
||||
@ApiModelProperty(value = "子节点列表") |
||||
protected List<TreeNode> children ; |
||||
|
||||
/** |
||||
* 是否包含子节点 |
||||
* |
||||
* @since 3.7 |
||||
*/ |
||||
private Boolean hasChildren; |
||||
|
||||
public void add(TreeNode node) { |
||||
children.add(node); |
||||
} |
||||
} |
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
package com.ecell.internationalize.system.security.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.ecell.internationalize.common.system.entity.SysMenu; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* 菜单 Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-18 |
||||
*/ |
||||
public interface SysMenuMapper extends BaseMapper<SysMenu> { |
||||
/** |
||||
* 根据用户ID查询权限 |
||||
* @param userId 用户ID |
||||
* @return 权限列表 |
||||
*/ |
||||
List<String> selectMenuPermsByUserId(String userId); |
||||
|
||||
/** |
||||
* 根据用户ID查询菜单 |
||||
* @param userId 用户ID |
||||
* @return 菜单列表 |
||||
*/ |
||||
List<SysMenu> selectMenuTreeByUserId(String userId); |
||||
/** |
||||
* 根据用户查询系统菜单列表 |
||||
* @param menu 菜单信息 |
||||
* @param userId 用户Id |
||||
* @return 菜单列表 |
||||
*/ |
||||
List<SysMenu> selectMenuListByUserId(@Param("menu") SysMenu menu,@Param("userId") String userId); |
||||
/** |
||||
* 角色Id查询菜单相关 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:42 |
||||
* @param roleId 角色信息 |
||||
* @return List |
||||
*/ |
||||
List<SysMenu> queryMenuByRoleId(String roleId); |
||||
} |
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
package com.ecell.internationalize.system.security.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.ecell.internationalize.common.system.entity.SysOperateInfo; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* <p> |
||||
* 用户操作记录 Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-18 |
||||
*/ |
||||
public interface SysOperateInfoMapper extends BaseMapper<SysOperateInfo> { |
||||
/** |
||||
* 用户操作记录条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/11 11:42 |
||||
* @param page 分页 |
||||
* @param map 查询条件 |
||||
* @return Page |
||||
*/ |
||||
Page<SysOperateInfo> getList(@Param("page") Page<SysOperateInfo> page, @Param("map") Map<String, Object> map); |
||||
/** |
||||
* 查询模块名称 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @return List |
||||
*/ |
||||
List<String> queryModuleName(); |
||||
} |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
package com.ecell.internationalize.system.security.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.ecell.internationalize.common.system.entity.SysRole; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* 系统角色 Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-18 |
||||
*/ |
||||
public interface SysRoleMapper extends BaseMapper<SysRole> { |
||||
/** |
||||
* 根据用户ID查询角色 |
||||
* |
||||
* @param userId 用户ID |
||||
* @return 角色列表 |
||||
*/ |
||||
List<SysRole> selectRolePermissionByUserId(@Param("userId") String userId); |
||||
} |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
package com.ecell.internationalize.system.security.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.ecell.internationalize.common.system.entity.SysRoleMenu; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* 角色和菜单关联 Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-18 |
||||
*/ |
||||
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> { |
||||
/** |
||||
* 批量新增角色菜单信息 |
||||
* |
||||
* @param roleMenuList 角色菜单列表 |
||||
* @return 结果 |
||||
*/ |
||||
int batchRoleMenu(List<SysRoleMenu> roleMenuList); |
||||
/** |
||||
* 通过角色ID删除角色和菜单关联 |
||||
* |
||||
* @param roleId 角色ID |
||||
* @return 结果 |
||||
*/ |
||||
int deleteRoleMenuByRoleId(String roleId); |
||||
} |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
package com.ecell.internationalize.system.security.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.ecell.internationalize.common.system.entity.SysUser; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* <p> |
||||
* 系统用户 Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-18 |
||||
*/ |
||||
public interface SysUserMapper extends BaseMapper<SysUser> { |
||||
/** |
||||
* 用户管理条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/13 15:42 |
||||
* @param page 分页 |
||||
* @param map 查询条件 |
||||
* @return Page |
||||
*/ |
||||
Page<SysUser> getList(@Param("page") Page<SysUser> page, @Param("map") Map<String, Object> map); |
||||
} |
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
package com.ecell.internationalize.system.security.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.ecell.internationalize.common.system.entity.SysUserRole; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* 用户和角色关联 Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author liy |
||||
* @since 2022-07-18 |
||||
*/ |
||||
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> { |
||||
/** |
||||
* 批量新增用户角色信息 |
||||
* |
||||
* @param userRoleList 用户角色列表 |
||||
* @return 结果 |
||||
*/ |
||||
int batchUserRole(List<SysUserRole> userRoleList); |
||||
/** |
||||
* 通过用户ID删除用户和角色关联 |
||||
* @param userId 用户ID |
||||
* @return 结果 |
||||
*/ |
||||
int deleteUserRoleByUserId(String userId); |
||||
} |
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
package com.ecell.internationalize.system.security.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ecell.internationalize.common.system.entity.SysMenu; |
||||
import com.ecell.internationalize.common.system.entity.SysRoleMenu; |
||||
import com.ecell.internationalize.system.security.entity.MenuTree; |
||||
|
||||
import java.util.List; |
||||
import java.util.Set; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface SysMenuService extends IService<SysMenu> { |
||||
/** |
||||
* 构建树 |
||||
* @Author liy |
||||
* @Date 2022/7/26 11:07 |
||||
* @return List<FirmTree> 权限树集合 |
||||
*/ |
||||
List<MenuTree> getMenuTree(); |
||||
/** |
||||
* 根据用户ID查询权限 |
||||
* |
||||
* @param userId 用户ID |
||||
* @return 权限列表 |
||||
*/ |
||||
Set<String> selectMenuPermsByUserId(String userId); |
||||
/** |
||||
* 角色Id查询菜单相关 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:42 |
||||
* @param roleId 角色信息 |
||||
* @return List |
||||
*/ |
||||
List<SysMenu> queryMenuByRoleId(String roleId); |
||||
/** |
||||
* 根据用户ID查询菜单树信息 |
||||
* |
||||
* @param userId 用户ID |
||||
* @return 菜单列表 |
||||
*/ |
||||
List<SysMenu> selectMenuTreeByUserId(String userId); |
||||
} |
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
package com.ecell.internationalize.system.security.service; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ecell.internationalize.common.system.entity.SysOperateInfo; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface SysOperateInfoService extends IService<SysOperateInfo> { |
||||
/** |
||||
* 用户管理条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param map 分页查询体 |
||||
* @return IPage |
||||
*/ |
||||
IPage<SysOperateInfo> findAllByPage(Map<String, Object> map); |
||||
|
||||
/** |
||||
* 查询模块名称 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @return List |
||||
*/ |
||||
List<String> queryModuleName(); |
||||
} |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
package com.ecell.internationalize.system.security.service; |
||||
|
||||
import java.util.Set; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface SysPermissionService { |
||||
/** |
||||
* 获取角色数据权限 |
||||
* |
||||
* @param userId 用户Id |
||||
* @return 角色权限信息 |
||||
*/ |
||||
Set<String> getRolePermission(String userId); |
||||
|
||||
/** |
||||
* 获取菜单数据权限 |
||||
* |
||||
* @param userId 用户Id |
||||
* @return 菜单权限信息 |
||||
*/ |
||||
Set<String> getMenuPermission(String userId); |
||||
} |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
package com.ecell.internationalize.system.security.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ecell.internationalize.common.system.entity.SysRoleMenu; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface SysRoleMenuService extends IService<SysRoleMenu> { |
||||
} |
@ -0,0 +1,41 @@
@@ -0,0 +1,41 @@
|
||||
package com.ecell.internationalize.system.security.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ecell.internationalize.common.system.entity.SysRole; |
||||
|
||||
import java.util.Set; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface SysRoleService extends IService<SysRole> { |
||||
/** |
||||
* 根据用户ID查询角色权限 |
||||
* |
||||
* @param userId 用户Id |
||||
* @return 权限列表 |
||||
*/ |
||||
Set<String> selectRolePermissionByUserId(String userId); |
||||
/** |
||||
* 新增用户 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:42 |
||||
* @param sysRole 实体类 |
||||
* @return void |
||||
*/ |
||||
int saveRole(SysRole sysRole); |
||||
/** |
||||
* 修改保存角色信息 |
||||
* @param sysRole 角色信息 |
||||
* @return 结果 |
||||
*/ |
||||
int updateRole(SysRole sysRole); |
||||
/** |
||||
* 删除角色 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:42 |
||||
* @param sysRole 角色信息 |
||||
* @return int |
||||
*/ |
||||
int deleteRoleById(SysRole sysRole); |
||||
} |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
package com.ecell.internationalize.system.security.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ecell.internationalize.common.system.entity.SysUserRole; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface SysUserRoleService extends IService<SysUserRole> { |
||||
} |
@ -0,0 +1,43 @@
@@ -0,0 +1,43 @@
|
||||
package com.ecell.internationalize.system.security.service; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ecell.internationalize.common.system.entity.SysUser; |
||||
|
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public interface SysUserService extends IService<SysUser> { |
||||
/** |
||||
* 用户管理条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param map 分页查询体 |
||||
* @return IPage |
||||
*/ |
||||
IPage<SysUser> findAllByPage(Map<String, Object> map); |
||||
/** |
||||
* 新增用户 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param sysUser 实体类 |
||||
* @return void |
||||
*/ |
||||
int saveUser(SysUser sysUser); |
||||
/** |
||||
* 删除用户 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param sysUser 用户 |
||||
* @return int |
||||
*/ |
||||
int deleteUserById(SysUser sysUser); |
||||
/** |
||||
* 修改用户信息 |
||||
* @param sysUser 用户信息 |
||||
* @return 结果 |
||||
*/ |
||||
int updateUser(SysUser sysUser); |
||||
} |
@ -0,0 +1,144 @@
@@ -0,0 +1,144 @@
|
||||
package com.ecell.internationalize.system.security.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ecell.internationalize.common.core.utils.StringUtils; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.common.system.entity.SysMenu; |
||||
import com.ecell.internationalize.system.security.entity.MenuTree; |
||||
import com.ecell.internationalize.system.security.mapper.SysMenuMapper; |
||||
import com.ecell.internationalize.system.security.service.SysMenuService; |
||||
import com.ecell.internationalize.system.security.util.TreeUtil; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
||||
import java.util.*; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService { |
||||
@Autowired |
||||
private SysMenuMapper sysMenuMapper; |
||||
|
||||
/** |
||||
* 构建树查询 |
||||
* |
||||
* @return List<FirmTree> 树形集合 |
||||
* @Author liy |
||||
* @Date 2022/7/19 11:07 |
||||
*/ |
||||
@Override |
||||
public List<MenuTree> getMenuTree() { |
||||
return TreeUtil.buildFirmTree(sysMenuMapper.selectList(null), FieldConstant.TREE_ROOT_ID); |
||||
} |
||||
|
||||
/** |
||||
* 根据用户ID查询权限 |
||||
* |
||||
* @param userId 用户ID |
||||
* @return 权限列表 |
||||
*/ |
||||
@Override |
||||
public Set<String> selectMenuPermsByUserId(String userId) { |
||||
List<String> perms = sysMenuMapper.selectMenuPermsByUserId(userId); |
||||
Set<String> permsSet = new HashSet<>(); |
||||
for (String perm : perms) { |
||||
if (StringUtils.isNotEmpty(perm)) { |
||||
permsSet.addAll(Arrays.asList(perm.trim().split(","))); |
||||
} |
||||
} |
||||
return permsSet; |
||||
} |
||||
|
||||
/** |
||||
* 角色Id查询菜单相关 |
||||
* |
||||
* @param roleId 角色信息 |
||||
* @return List |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:42 |
||||
*/ |
||||
@Override |
||||
public List<SysMenu> queryMenuByRoleId(String roleId) { |
||||
return sysMenuMapper.queryMenuByRoleId(roleId); |
||||
} |
||||
|
||||
/** |
||||
* 根据用户ID查询菜单树信息 |
||||
* |
||||
* @param userId 用户ID |
||||
* @return 菜单列表 |
||||
*/ |
||||
@Override |
||||
public List<SysMenu> selectMenuTreeByUserId(String userId) { |
||||
List<SysMenu> menus = null; |
||||
LambdaQueryWrapper<SysMenu> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.in(SysMenu::getMenuType, "M", "C"); |
||||
//判断是否admin用户
|
||||
if (FieldConstant.ADMIN.equals(userId)) { |
||||
menus = sysMenuMapper.selectList(lambdaQueryWrapper); |
||||
} else { |
||||
menus = sysMenuMapper.selectMenuTreeByUserId(userId); |
||||
} |
||||
return getChildPerms(menus, "-1"); |
||||
} |
||||
|
||||
/** |
||||
* 根据父节点的ID获取所有子节点 |
||||
* |
||||
* @param list 分类表 |
||||
* @param parentId 传入的父节点ID |
||||
* @return String |
||||
*/ |
||||
public List<SysMenu> getChildPerms(List<SysMenu> list, String parentId) { |
||||
List<SysMenu> returnList = new ArrayList<SysMenu>(); |
||||
for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) { |
||||
SysMenu t = (SysMenu) iterator.next(); |
||||
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
|
||||
if (t.getParentId().equals(parentId)) { |
||||
recursionFn(list, t); |
||||
returnList.add(t); |
||||
} |
||||
} |
||||
return returnList; |
||||
} |
||||
|
||||
/** |
||||
* 递归列表 |
||||
* |
||||
* @param list |
||||
* @param t |
||||
*/ |
||||
private void recursionFn(List<SysMenu> list, SysMenu t) { |
||||
// 得到子节点列表
|
||||
List<SysMenu> childList = getChildList(list, t); |
||||
t.setChildren(childList); |
||||
for (SysMenu tChild : childList) { |
||||
if (hasChild(list, tChild)) { |
||||
recursionFn(list, tChild); |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 得到子节点列表 |
||||
*/ |
||||
private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) { |
||||
List<SysMenu> tlist = new ArrayList<SysMenu>(); |
||||
Iterator<SysMenu> it = list.iterator(); |
||||
while (it.hasNext()) { |
||||
SysMenu n = (SysMenu) it.next(); |
||||
if (n.getParentId().equals(t.getMenuId())) { |
||||
tlist.add(n); |
||||
} |
||||
} |
||||
return tlist; |
||||
} |
||||
|
||||
/** |
||||
* 判断是否有子节点 |
||||
*/ |
||||
private boolean hasChild(List<SysMenu> list, SysMenu t) { |
||||
return getChildList(list, t).size() > 0; |
||||
} |
||||
} |
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
package com.ecell.internationalize.system.security.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.common.system.entity.SysOperateInfo; |
||||
import com.ecell.internationalize.system.security.mapper.SysOperateInfoMapper; |
||||
import com.ecell.internationalize.system.security.service.SysOperateInfoService; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @Title: SysOperateInfoServiceImpl |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:23 |
||||
* @Description: |
||||
* @Version:1.0 |
||||
*/ |
||||
@Service |
||||
public class SysOperateInfoServiceImpl extends ServiceImpl<SysOperateInfoMapper, SysOperateInfo> implements SysOperateInfoService { |
||||
@Autowired |
||||
private SysOperateInfoMapper sysOperateInfoMapper; |
||||
/** |
||||
* 操作日志条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param map 分页查询体 |
||||
* @return IPage |
||||
*/ |
||||
@Override |
||||
public IPage<SysOperateInfo> findAllByPage(Map<String, Object> map) { |
||||
Page<SysOperateInfo> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString())); |
||||
return sysOperateInfoMapper.getList(page, map); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public List<String> queryModuleName() { |
||||
return sysOperateInfoMapper.queryModuleName(); |
||||
} |
||||
} |
@ -0,0 +1,63 @@
@@ -0,0 +1,63 @@
|
||||
package com.ecell.internationalize.system.security.service.impl; |
||||
|
||||
|
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.system.security.service.SysMenuService; |
||||
import com.ecell.internationalize.system.security.service.SysPermissionService; |
||||
import com.ecell.internationalize.system.security.service.SysRoleService; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.HashSet; |
||||
import java.util.Set; |
||||
|
||||
/** |
||||
* @Title: SysPermissionServiceImpl |
||||
* @Author: liy |
||||
* @Date: 2022/7/19 16:04 |
||||
* @Description: |
||||
* @Version:1.0 |
||||
*/ |
||||
@Service |
||||
public class SysPermissionServiceImpl implements SysPermissionService { |
||||
@Autowired |
||||
private SysRoleService roleService; |
||||
|
||||
@Autowired |
||||
private SysMenuService menuService; |
||||
/** |
||||
* 获取角色数据权限 |
||||
* |
||||
* @param userId 用户Id |
||||
* @return 角色权限信息 |
||||
*/ |
||||
@Override |
||||
public Set<String> getRolePermission(String userId) { |
||||
Set<String> roles = new HashSet<String>(); |
||||
// 管理员拥有所有权限
|
||||
if (FieldConstant.ADMIN.equals(userId)){ |
||||
roles.add("admin"); |
||||
} else { |
||||
roles.addAll(roleService.selectRolePermissionByUserId(userId)); |
||||
} |
||||
return roles; |
||||
} |
||||
|
||||
/** |
||||
* 获取菜单数据权限 |
||||
* |
||||
* @param userId 用户Id |
||||
* @return 菜单权限信息 |
||||
*/ |
||||
@Override |
||||
public Set<String> getMenuPermission(String userId) { |
||||
Set<String> perms = new HashSet<String>(); |
||||
// 管理员拥有所有权限
|
||||
if (FieldConstant.ADMIN.equals(userId)) { |
||||
perms.add("*:*:*"); |
||||
} else { |
||||
perms.addAll(menuService.selectMenuPermsByUserId(userId)); |
||||
} |
||||
return perms; |
||||
} |
||||
} |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
package com.ecell.internationalize.system.security.service.impl; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ecell.internationalize.common.system.entity.SysRoleMenu; |
||||
import com.ecell.internationalize.system.security.mapper.SysRoleMenuMapper; |
||||
import com.ecell.internationalize.system.security.service.SysRoleMenuService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* @Title: SysRoleMenuServiceImpl |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:23 |
||||
* @Description: |
||||
* @Version:1.0 |
||||
*/ |
||||
@Service |
||||
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService { |
||||
|
||||
} |
@ -0,0 +1,120 @@
@@ -0,0 +1,120 @@
|
||||
package com.ecell.internationalize.system.security.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ecell.internationalize.common.core.utils.StringUtils; |
||||
import com.ecell.internationalize.common.core.utils.uuid.UUID; |
||||
import com.ecell.internationalize.common.security.utils.SecurityUtils; |
||||
import com.ecell.internationalize.common.system.entity.SysRole; |
||||
import com.ecell.internationalize.common.system.entity.SysRoleMenu; |
||||
import com.ecell.internationalize.system.security.mapper.SysRoleMapper; |
||||
import com.ecell.internationalize.system.security.mapper.SysRoleMenuMapper; |
||||
import com.ecell.internationalize.system.security.service.SysRoleService; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
|
||||
import java.util.*; |
||||
|
||||
/** |
||||
* @Title: SysRoleServiceImpl |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:24 |
||||
* @Description: |
||||
* @Version:1.0 |
||||
*/ |
||||
@Service |
||||
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService { |
||||
@Autowired |
||||
private SysRoleMapper sysRoleMapper; |
||||
@Autowired |
||||
private SysRoleMenuMapper sysRoleMenuMapper; |
||||
/** |
||||
* 根据用户ID查询权限 |
||||
* |
||||
* @param userId 用户ID |
||||
* @return 权限列表 |
||||
*/ |
||||
@Override |
||||
public Set<String> selectRolePermissionByUserId(String userId) |
||||
{ |
||||
List<SysRole> perms = sysRoleMapper.selectRolePermissionByUserId(userId); |
||||
Set<String> permsSet = new HashSet<>(); |
||||
for (SysRole perm : perms) { |
||||
if (StringUtils.isNotNull(perm)) { |
||||
permsSet.addAll(Arrays.asList(perm.getRoleName().trim().split(","))); |
||||
} |
||||
} |
||||
return permsSet; |
||||
} |
||||
/** |
||||
* 新增角色 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:42 |
||||
* @param sysRole 实体类 |
||||
* @return void |
||||
*/ |
||||
@Transactional(rollbackFor = Exception.class) |
||||
@Override |
||||
public int saveRole(SysRole sysRole) { |
||||
sysRole.setCreateUser(SecurityUtils.getUsername()); |
||||
String roleId= UUID.randomUUID().toString(true); |
||||
sysRole.setRoleId(roleId); |
||||
sysRole.setCreateTime(new Date()); |
||||
//新增角色信息
|
||||
int rows = sysRoleMapper.insert(sysRole); |
||||
//新增关联的角色菜单信息
|
||||
insertRoleMenu(sysRole); |
||||
return rows; |
||||
} |
||||
/** |
||||
* 修改保存角色信息 |
||||
* |
||||
* @param sysRole 角色信息 |
||||
* @return 结果 |
||||
*/ |
||||
@Override |
||||
@Transactional(rollbackFor = Exception.class) |
||||
public int updateRole(SysRole sysRole) { |
||||
// 修改角色信息
|
||||
int rows = sysRoleMapper.updateById(sysRole); |
||||
// 删除角色与菜单关联
|
||||
sysRoleMenuMapper.deleteRoleMenuByRoleId(sysRole.getRoleId()); |
||||
insertRoleMenu(sysRole); |
||||
return rows; |
||||
} |
||||
/** |
||||
* 删除角色 |
||||
* @Author liy |
||||
* @Date 2022/7/21 16:42 |
||||
* @param sysRole 角色信息 |
||||
* @return int |
||||
*/ |
||||
@Override |
||||
public int deleteRoleById(SysRole sysRole) { |
||||
// 删除角色与菜单关联
|
||||
LambdaQueryWrapper<SysRoleMenu> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(SysRoleMenu::getRoleId,sysRole.getRoleId()); |
||||
sysRoleMenuMapper.delete(lambdaQueryWrapper); |
||||
return sysRoleMapper.updateById(sysRole); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 新增角色菜单信息 |
||||
* @param sysRole 角色对象 |
||||
*/ |
||||
public void insertRoleMenu(SysRole sysRole) { |
||||
// 新增用户与角色管理
|
||||
List<SysRoleMenu> list = new ArrayList<>(); |
||||
for (String menuId : sysRole.getMenuIds()) { |
||||
SysRoleMenu rm = new SysRoleMenu(); |
||||
rm.setRoleId(sysRole.getRoleId()); |
||||
rm.setMenuId(menuId); |
||||
list.add(rm); |
||||
} |
||||
if (list.size() > 0) { |
||||
sysRoleMenuMapper.batchRoleMenu(list); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
package com.ecell.internationalize.system.security.service.impl; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ecell.internationalize.common.system.entity.SysUserRole; |
||||
import com.ecell.internationalize.system.security.mapper.SysUserRoleMapper; |
||||
import com.ecell.internationalize.system.security.service.SysUserRoleService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* @Title: SysUserRoleServiceImpl |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:24 |
||||
* @Description: |
||||
* @Version:1.0 |
||||
*/ |
||||
@Service |
||||
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService { |
||||
} |
@ -0,0 +1,140 @@
@@ -0,0 +1,140 @@
|
||||
package com.ecell.internationalize.system.security.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ecell.internationalize.common.core.utils.StringUtils; |
||||
import com.ecell.internationalize.common.core.utils.uuid.UUID; |
||||
import com.ecell.internationalize.common.security.utils.SecurityUtils; |
||||
import com.ecell.internationalize.common.system.constant.FieldConstant; |
||||
import com.ecell.internationalize.common.system.entity.SysUser; |
||||
import com.ecell.internationalize.common.system.entity.SysUserRole; |
||||
import com.ecell.internationalize.system.security.entity.FirmManageVO; |
||||
import com.ecell.internationalize.system.security.feign.FirmManageFeignClient; |
||||
import com.ecell.internationalize.system.security.mapper.SysUserMapper; |
||||
import com.ecell.internationalize.system.security.mapper.SysUserRoleMapper; |
||||
import com.ecell.internationalize.system.security.service.SysUserService; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
import org.springframework.util.CollectionUtils; |
||||
|
||||
import java.util.*; |
||||
|
||||
/** |
||||
* @Title: SysUserServiceImpl |
||||
* @Author: liy |
||||
* @Date: 2022/7/18 16:24 |
||||
* @Description: |
||||
* @Version:1.0 |
||||
*/ |
||||
@Service |
||||
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService { |
||||
@Autowired |
||||
private SysUserMapper sysUserMapper; |
||||
@Autowired |
||||
private SysUserRoleMapper sysUserRoleMapper; |
||||
@Autowired |
||||
private FirmManageFeignClient firmManageFeignClient; |
||||
/** |
||||
* 用户管理条件分页查询 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param map 分页查询体 |
||||
* @return IPage |
||||
*/ |
||||
@Override |
||||
public IPage<SysUser> findAllByPage(Map<String, Object> map) { |
||||
Page<SysUser> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString())); |
||||
Page<SysUser> list = sysUserMapper.getList(page, map); |
||||
Map<String, String> agent = getAgent(); |
||||
list.getRecords().forEach(temp ->{ |
||||
//为代理商
|
||||
if (FieldConstant.SECOND_FLAG.equals(temp.getFirmFlag())){ |
||||
temp.setSecondFirmName(agent.get(temp.getSecondFirmId())); |
||||
} |
||||
}); |
||||
return list; |
||||
} |
||||
/** |
||||
* 新增用户 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param sysUser 实体类 |
||||
* @return void |
||||
*/ |
||||
@Transactional(rollbackFor = Exception.class) |
||||
@Override |
||||
public int saveUser(SysUser sysUser) { |
||||
//密码加密
|
||||
sysUser.setPassword(SecurityUtils.encryptPassword(sysUser.getPassword())); |
||||
sysUser.setCreateUser(SecurityUtils.getUsername()); |
||||
String userId= UUID.randomUUID().toString(true); |
||||
sysUser.setUserId(userId); |
||||
sysUser.setCreateTime(new Date()); |
||||
//新增用户信息
|
||||
int rows = sysUserMapper.insert(sysUser); |
||||
//新增关联的用户角色
|
||||
insertUserRole(sysUser.getUserId(),sysUser.getRoleId()); |
||||
return rows; |
||||
} |
||||
/** |
||||
* 删除用户 |
||||
* @Author liy |
||||
* @Date 2022/7/20 16:42 |
||||
* @param sysUser 用户 |
||||
* @return int |
||||
*/ |
||||
@Transactional(rollbackFor = Exception.class) |
||||
@Override |
||||
public int deleteUserById(SysUser sysUser) { |
||||
// 删除用户与角色关联
|
||||
LambdaQueryWrapper<SysUserRole> lambdaQueryWrapper=new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(SysUserRole::getUserId,sysUser.getUserId()); |
||||
sysUserRoleMapper.delete(lambdaQueryWrapper); |
||||
return sysUserMapper.updateById(sysUser); |
||||
} |
||||
/** |
||||
* 修改保存用户信息 |
||||
* @param sysUser 用户信息 |
||||
* @return 结果 |
||||
*/ |
||||
@Override |
||||
@Transactional(rollbackFor = Exception.class) |
||||
public int updateUser(SysUser sysUser) { |
||||
String userId = sysUser.getUserId(); |
||||
// 删除用户与角色关联
|
||||
sysUserRoleMapper.deleteUserRoleByUserId(userId); |
||||
// 新增用户与角色管理
|
||||
insertUserRole(userId,sysUser.getRoleId()); |
||||
return sysUserMapper.updateById(sysUser); |
||||
} |
||||
/** |
||||
* 新增用户角色信息 |
||||
* @param userId 用户ID |
||||
* @param roleId 角色 |
||||
*/ |
||||
public void insertUserRole(String userId, String roleId) { |
||||
if (StringUtils.isNotEmpty(roleId)) { |
||||
// 新增用户与角色管理
|
||||
SysUserRole ur = new SysUserRole(); |
||||
ur.setUserId(userId); |
||||
ur.setRoleId(roleId); |
||||
sysUserRoleMapper.insert(ur); |
||||
} |
||||
} |
||||
/** |
||||
* 封装代理商信息 |
||||
*/ |
||||
public Map<String,String> getAgent() { |
||||
List<FirmManageVO> agent = firmManageFeignClient.getAgent(); |
||||
Map<String,String> map=new HashMap<>(16); |
||||
if (!CollectionUtils.isEmpty(agent)){ |
||||
for (FirmManageVO firmManageVO:agent){ |
||||
map.put(firmManageVO.getFirmId(),firmManageVO.getFirmName()); |
||||
} |
||||
} |
||||
return map; |
||||
} |
||||
} |
@ -0,0 +1,59 @@
@@ -0,0 +1,59 @@
|
||||
package com.ecell.internationalize.system.security.util; |
||||
|
||||
import com.ecell.internationalize.common.system.entity.SysMenu; |
||||
import com.ecell.internationalize.system.security.entity.MenuTree; |
||||
import com.ecell.internationalize.system.security.entity.TreeNode; |
||||
import lombok.experimental.UtilityClass; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author borui |
||||
*/ |
||||
@UtilityClass |
||||
public class TreeUtil { |
||||
/** |
||||
* 两层循环实现建树 |
||||
* @param treeNodes 传入的树节点列表 |
||||
* @return |
||||
*/ |
||||
public <T extends TreeNode> List<T> build(List<T> treeNodes, Object root) { |
||||
List<T> trees = new ArrayList<>(); |
||||
for (T treeNode : treeNodes) { |
||||
if (root.equals(treeNode.getParentId())) { |
||||
trees.add(treeNode); |
||||
} |
||||
for (T it : treeNodes) { |
||||
if (it.getParentId().equals(treeNode.getMenuId())) { |
||||
if (treeNode.getChildren() == null) { |
||||
treeNode.setChildren(new ArrayList<>()); |
||||
} |
||||
treeNode.add(it); |
||||
} |
||||
} |
||||
} |
||||
return trees; |
||||
} |
||||
|
||||
/** |
||||
* 通过SysMenu创建树形节点 |
||||
* @param sysMenus |
||||
* @param root |
||||
* @return |
||||
*/ |
||||
public List<MenuTree> buildFirmTree(List<SysMenu> sysMenus, String root) { |
||||
List<MenuTree> trees = new ArrayList<>(); |
||||
MenuTree node; |
||||
for (SysMenu sysMenu : sysMenus) { |
||||
node = new MenuTree(); |
||||
node.setMenuId(sysMenu.getMenuId()); |
||||
node.setParentId(sysMenu.getParentId()); |
||||
node.setPath(sysMenu.getPath()); |
||||
node.setMenuName(sysMenu.getMenuName()); |
||||
node.setHasChildren(false); |
||||
trees.add(node); |
||||
} |
||||
return TreeUtil.build(trees, root); |
||||
} |
||||
} |
@ -0,0 +1,68 @@
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysMenuMapper"> |
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysMenu"> |
||||
<id column="menu_id" property="menuId" /> |
||||
<result column="menu_name" property="menuName" /> |
||||
<result column="parent_id" property="parentId" /> |
||||
<result column="show_order" property="showOrder" /> |
||||
<result column="path" property="path" /> |
||||
<result column="menu_type" property="menuType" /> |
||||
<result column="visible" property="visible" /> |
||||
<result column="perms" property="perms" /> |
||||
<result column="icon" property="icon" /> |
||||
<result column="create_user" property="createUser" /> |
||||
<result column="create_time" property="createTime" /> |
||||
<result column="update_user" property="updateUser" /> |
||||
<result column="update_time" property="updateTime" /> |
||||
<result column="component" property="component" /> |
||||
<result column="query" property="query" /> |
||||
<result column="is_frame" property="isFrame" /> |
||||
<result column="is_cache" property="isCache" /> |
||||
</resultMap> |
||||
|
||||
<!-- 通用查询结果列 --> |
||||
<sql id="Base_Column_List"> |
||||
menu_id, menu_name, parent_id, show_order, path, menu_type, visible, perms, icon, create_user, create_time, update_user, update_time,query,component,is_frame,isCache |
||||
</sql> |
||||
<select id="selectMenuTreeByUserId" parameterType="java.lang.String" resultMap="BaseResultMap"> |
||||
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.visible, ifnull(m.perms,'') as perms, m.is_cache,m.is_frame,m.component,m.query,m.menu_type, m.icon, m.show_order, m.create_time |
||||
from sys_menu m |
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id |
||||
left join sys_user_role ur on rm.role_id = ur.role_id |
||||
left join sys_role ro on ur.role_id = ro.role_id |
||||
left join sys_user u on ur.user_id = u.user_id |
||||
where u.user_id = #{userId} and m.menu_type in ('M', 'C') AND ro.status = 0 |
||||
order by m.show_order |
||||
</select> |
||||
<select id="selectMenuPermsByUserId" parameterType="java.lang.String" resultType="java.lang.String"> |
||||
select distinct m.perms |
||||
from sys_menu m |
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id |
||||
left join sys_user_role ur on rm.role_id = ur.role_id |
||||
left join sys_role r on r.role_id = ur.role_id |
||||
where r.status = '0' and ur.user_id = #{userId} |
||||
</select> |
||||
|
||||
<select id="selectMenuListByUserId" resultMap="BaseResultMap"> |
||||
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.query, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.show_order, m.create_time |
||||
from sys_menu m |
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id |
||||
left join sys_user_role ur on rm.role_id = ur.role_id |
||||
left join sys_role ro on ur.role_id = ro.role_id |
||||
where ur.user_id = #{userId} |
||||
<if test="menu.menuName != null and menu.menuName != ''"> |
||||
AND m.menu_name = #{menu.menuName} |
||||
</if> |
||||
<if test="menu.visible != null and menu.visible != ''"> |
||||
AND m.visible = #{menu.visible} |
||||
</if> |
||||
order by m.show_order |
||||
</select> |
||||
|
||||
<select id="queryMenuByRoleId" resultMap="BaseResultMap" parameterType="java.lang.String"> |
||||
select A.menu_id,A.menu_name,A.parent_id from sys_menu A left join sys_role_menu B |
||||
ON A.menu_id=B.menu_id where B.role_id=#{roleId} |
||||
</select> |
||||
</mapper> |
@ -0,0 +1,49 @@
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysOperateInfoMapper"> |
||||
|
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysOperateInfo"> |
||||
<id column="id" property="id" /> |
||||
<result column="account" property="account" /> |
||||
<result column="login_ip" property="loginIp" /> |
||||
<result column="msg" property="msg" /> |
||||
<result column="access_time" property="accessTime" /> |
||||
<result column="operation_module" property="operationModule" /> |
||||
<result column="create_user" property="createUser" /> |
||||
<result column="create_time" property="createTime" /> |
||||
<result column="update_user" property="updateUser" /> |
||||
<result column="update_time" property="updateTime" /> |
||||
<result column="error_msg" property="errorMsg" /> |
||||
<result column="status" property="status" /> |
||||
</resultMap> |
||||
|
||||
<!-- 通用查询结果列 --> |
||||
<sql id="Base_Column_List"> |
||||
id, account, login_ip, msg, access_time, operation_module, create_user, create_time, update_user, update_time,error_msg,status |
||||
</sql> |
||||
<select id="getList" resultMap="BaseResultMap"> |
||||
select <include refid="Base_Column_List"/> from sys_operate_info A |
||||
where 1=1 |
||||
<if test="map.loginIp!=null and map.loginIp!=''"> |
||||
and A.login_ip=#{map.loginIp} |
||||
</if> |
||||
<if test="map.account!=null and map.account!=''"> |
||||
and A.account=#{map.account} |
||||
</if> |
||||
<if test="map.msg!=null and map.msg!=''"> |
||||
and A.msg=#{map.msg} |
||||
</if> |
||||
<if test="map.startTime!=null"> |
||||
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')>=DATE_FORMAT(#{map.startTime},'%Y-%m-%d')]]> |
||||
</if> |
||||
<if test="map.endTime!=null"> |
||||
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')<=DATE_FORMAT(#{map.endTime},'%Y-%m-%d')]]> |
||||
</if> |
||||
order by A.create_time desc |
||||
</select> |
||||
<select id="queryModuleName" resultType="java.lang.String"> |
||||
select distinct msg from sys_operate_info |
||||
</select> |
||||
|
||||
</mapper> |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysRoleMapper"> |
||||
|
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysRole"> |
||||
<id column="role_id" property="roleId" /> |
||||
<result column="role_name" property="roleName" /> |
||||
<result column="role_key" property="roleKey" /> |
||||
<result column="status" property="status" /> |
||||
<result column="del_flag" property="delFlag" /> |
||||
<result column="create_user" property="createUser" /> |
||||
<result column="create_time" property="createTime" /> |
||||
<result column="update_user" property="updateUser" /> |
||||
<result column="update_time" property="updateTime" /> |
||||
</resultMap> |
||||
|
||||
<!-- 通用查询结果列 --> |
||||
<sql id="Base_Column_List"> |
||||
role_id, role_name, role_key, status, del_flag, create_user, create_time, update_user, update_time |
||||
</sql> |
||||
|
||||
<select id="selectRolePermissionByUserId" resultMap="BaseResultMap" parameterType="java.lang.String"> |
||||
select distinct r.role_id, r.role_name, r.role_key,r.status, r.del_flag, r.create_time,ur.user_id |
||||
from sys_role r |
||||
left join sys_user_role ur on ur.role_id = r.role_id |
||||
left join sys_user u on u.user_id = ur.user_id |
||||
where r.del_flag='1' and ur.user_id = #{userId} |
||||
</select> |
||||
|
||||
</mapper> |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysRoleMenuMapper"> |
||||
|
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysRoleMenu"> |
||||
<id column="role_id" property="roleId" /> |
||||
<result column="menu_id" property="menuId" /> |
||||
</resultMap> |
||||
|
||||
<!-- 通用查询结果列 --> |
||||
<sql id="Base_Column_List"> |
||||
role_id, menu_id |
||||
</sql> |
||||
<insert id="batchRoleMenu"> |
||||
insert into sys_role_menu(role_id, menu_id) values |
||||
<foreach item="item" index="index" collection="list" separator=","> |
||||
(#{item.roleId},#{item.menuId}) |
||||
</foreach> |
||||
</insert> |
||||
<delete id="deleteRoleMenuByRoleId" parameterType="java.lang.String"> |
||||
delete from sys_role_menu where role_id=#{roleId} |
||||
</delete> |
||||
</mapper> |
@ -0,0 +1,52 @@
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysUserMapper"> |
||||
|
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysUser"> |
||||
<id column="user_id" property="userId" /> |
||||
<result column="nick_name" property="nickName" /> |
||||
<result column="account" property="account" /> |
||||
<result column="user_type" property="userType" /> |
||||
<result column="head_img" property="headImg" /> |
||||
<result column="password" property="password" /> |
||||
<result column="status" property="status" /> |
||||
<result column="del_flag" property="delFlag" /> |
||||
<result column="login_ip" property="loginIp" /> |
||||
<result column="login_date" property="loginDate" /> |
||||
<result column="create_user" property="createUser" /> |
||||
<result column="create_time" property="createTime" /> |
||||
<result column="update_user" property="updateUser" /> |
||||
<result column="update_time" property="updateTime" /> |
||||
<result column="firm_id" property="firmId" /> |
||||
<result column="firm_flag" property="firmFlag" /> |
||||
<result column="firm_name" property="firmName" /> |
||||
<result column="firm_name" property="firmName" /> |
||||
<result column="role_id" property="roleId" /> |
||||
<result column="role_name" property="roleName" /> |
||||
<result column="second_firm_id" property="secondFirmId" /> |
||||
<result column="second_firm_name" property="secondFirmName" /> |
||||
</resultMap> |
||||
|
||||
<!-- 通用查询结果列 --> |
||||
<sql id="Base_Column_List"> |
||||
user_id, nick_name, account, user_type, head_img, password, status, del_flag, login_ip, login_date, create_user, create_time, update_user, update_time, firm_id, firm_flag,second_firm_id |
||||
</sql> |
||||
<select id="getList" resultMap="BaseResultMap"> |
||||
select A.firm_id,A.second_firm_id,C.role_id,D.role_name,A.user_id,A.nick_name,A.account,A.user_type,A.head_img,A.password,A.status,A.del_flag,A.login_ip,A.login_date,A.firm_flag,A.create_user,A.create_time,A.update_user,A.update_time,B.firm_name from |
||||
sys_user A left join firm_manage B ON A.firm_id=B.firm_id |
||||
left join sys_user_role C ON A.user_id=C.user_id left join sys_role D ON C.role_id=D.role_id |
||||
where 1=1 |
||||
<if test="map.account!=null and map.account!=''"> |
||||
and A.account=#{map.account} |
||||
</if> |
||||
<if test="map.nickName!=null and map.nickName!=''"> |
||||
and A.nick_name=#{map.nickName} |
||||
</if> |
||||
<if test="map.status!=null and map.status!=''"> |
||||
and A.status=#{map.status} |
||||
</if> |
||||
and A.del_flag='1' |
||||
order by create_time DESC |
||||
</select> |
||||
</mapper> |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysUserRoleMapper"> |
||||
|
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysUserRole"> |
||||
<id column="user_id" property="userId" /> |
||||
<result column="role_id" property="roleId" /> |
||||
</resultMap> |
||||
|
||||
<!-- 通用查询结果列 --> |
||||
<sql id="Base_Column_List"> |
||||
user_id, role_id |
||||
</sql> |
||||
<insert id="batchUserRole"> |
||||
insert into sys_user_role(user_id, role_id) values |
||||
<foreach item="item" index="index" collection="list" separator=","> |
||||
(#{item.userId},#{item.roleId}) |
||||
</foreach> |
||||
</insert> |
||||
<delete id="deleteUserRoleByUserId" parameterType="java.lang.String"> |
||||
delete from sys_user_role where user_id=#{userId} |
||||
</delete> |
||||
</mapper> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
messages.success=操作成功 |
||||
messages.error=操作失败,请联系管理员处理 |
||||
messages.account.exit=输入的登录账号已存在 |
||||
messages.not.permission=没有权限访问 |
||||
messages.role.exit=角色名称已存在 |
||||
messages.user.management=用户管理 |
||||
messages.role.management=角色管理 |
||||
messages.save.operator=新增操作 |
||||
messages.update.operator=修改操作 |
||||
messages.delete.operator=删除操作 |
||||
messages.change.operator=修改状态操作 |
||||
messages.system.error=系统异常,请联系管理员处理 |
||||
messages.fallback.info=服务不存在或网络端口错误 |
||||
messages.not.delete=管理员用户禁止此操作 |
||||
messages.reset.password=个人信息重置密码 |
||||
messages.admin.prohibit=管理员用户不允许重置密码 |
||||
messages.different.password=输入的密码错误,请重新输入 |
||||
messages.update.userInfo=修改个人信息 |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
messages.success=Operation successful |
||||
messages.error=Operation failed, please contact the administrator for handling |
||||
messages.account.exit=The login account entered already exists |
||||
messages.not.permission=you do not have permission to access this interface |
||||
messages.role.exit=Role name already exists |
||||
messages.user.management=User management |
||||
messages.role.management=Role management |
||||
messages.save.operator=add operation |
||||
messages.update.operator=Modify operation |
||||
messages.delete.operator=delete operation |
||||
messages.change.operator=Modify status operation |
||||
messages.system.error=The system is abnormal. Please contact the administrator for handling |
||||
messages.fallback.info=Service does not exist or network port error |
||||
messages.not.delete=Administrator user prohibits this operation |
||||
messages.reset.password=Personal information reset password |
||||
messages.admin.prohibit=Administrator user is not allowed to reset password |
||||
messages.different.password=The password you entered is incorrect. Please re-enter it |
||||
messages.update.userInfo=Modify personal information |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
messages.success=操作成功 |
||||
messages.error=操作失败,请联系管理员处理 |
||||
messages.account.exit=输入的登录账号已存在 |
||||
messages.not.permission=没有权限访问 |
||||
messages.role.exit=角色名称已存在 |
||||
messages.user.management=用户管理 |
||||
messages.role.management=角色管理 |
||||
messages.save.operator=新增操作 |
||||
messages.update.operator=修改操作 |
||||
messages.delete.operator=删除操作 |
||||
messages.change.operator=修改状态操作 |
||||
messages.system.error=系统异常,请联系管理员处理 |
||||
messages.fallback.info=服务不存在或网络端口错误 |
||||
messages.not.delete=管理员用户禁止此操作 |
||||
messages.reset.password=个人信息重置密码 |
||||
messages.admin.prohibit=管理员用户不允许重置密码 |
||||
messages.different.password=输入的密码错误,请重新输入 |
||||
messages.update.userInfo=修改个人信息 |
Loading…
Reference in new issue