diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/annotation/SystemLog.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/annotation/SystemLog.java similarity index 84% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/annotation/SystemLog.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/annotation/SystemLog.java index cf9bbf0..f881eca 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/annotation/SystemLog.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/annotation/SystemLog.java @@ -1,4 +1,4 @@ -package com.ecell.internationalize.common.sysytem.annotation; +package com.ecell.internationalize.common.system.annotation; import java.lang.annotation.*; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/aspect/SystemLogAspect.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/aspect/SystemLogAspect.java similarity index 92% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/aspect/SystemLogAspect.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/aspect/SystemLogAspect.java index c854fe8..da1a638 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/aspect/SystemLogAspect.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/aspect/SystemLogAspect.java @@ -1,4 +1,4 @@ -package com.ecell.internationalize.common.sysytem.aspect; +package com.ecell.internationalize.common.system.aspect; import com.ecell.internationalize.common.core.utils.ServletUtils; import com.ecell.internationalize.common.core.utils.StringUtils; @@ -6,10 +6,10 @@ import com.ecell.internationalize.common.core.utils.ip.IpUtils; import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; import com.ecell.internationalize.common.core.utils.uuid.UUID; import com.ecell.internationalize.common.security.utils.SecurityUtils; -import com.ecell.internationalize.common.sysytem.annotation.SystemLog; -import com.ecell.internationalize.common.sysytem.constant.FieldConstant; -import com.ecell.internationalize.common.sysytem.entity.SysOperateInfo; -import com.ecell.internationalize.common.sysytem.feign.SysOperatorInfoFeignClient; +import com.ecell.internationalize.common.system.annotation.SystemLog; +import com.ecell.internationalize.common.system.constant.FieldConstant; +import com.ecell.internationalize.common.system.entity.SysOperateInfo; +import com.ecell.internationalize.common.system.feign.SysOperatorInfoFeignClient; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterThrowing; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/config/MybatisPlusPageConfig.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/config/MybatisPlusPageConfig.java similarity index 91% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/config/MybatisPlusPageConfig.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/config/MybatisPlusPageConfig.java index e8773df..5bec0e2 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/config/MybatisPlusPageConfig.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/config/MybatisPlusPageConfig.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/OssClientConstants.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/OssClientConstants.java similarity index 89% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/OssClientConstants.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/OssClientConstants.java index 1a27423..0c6e06d 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/OssClientConstants.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/OssClientConstants.java @@ -1,4 +1,4 @@ -package com.ecell.internationalize.common.sysytem.constant; +package com.ecell.internationalize.common.system.constant; /** * @author borui diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/ServiceExceptionResultConstant.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/ServiceExceptionResultConstant.java similarity index 98% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/ServiceExceptionResultConstant.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/ServiceExceptionResultConstant.java index 2ad163e..68dfc43 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/ServiceExceptionResultConstant.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/ServiceExceptionResultConstant.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/PositioningModelInfo.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/PositioningModelInfo.java similarity index 67% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/PositioningModelInfo.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/PositioningModelInfo.java index 921a4a9..9ff60e0 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/PositioningModelInfo.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/PositioningModelInfo.java @@ -1,4 +1,4 @@ -package com.ecell.internationalize.common.sysytem.entity; +package com.ecell.internationalize.common.system.entity; import java.io.Serializable; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysMenu.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysMenu.java similarity index 97% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysMenu.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysMenu.java index 846af4c..283e050 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysMenu.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysMenu.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysOperateInfo.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysOperateInfo.java similarity index 96% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysOperateInfo.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysOperateInfo.java index a926117..049bf9f 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysOperateInfo.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysOperateInfo.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRole.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRole.java similarity index 96% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRole.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRole.java index c437582..07eac4c 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRole.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRole.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRoleMenu.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRoleMenu.java similarity index 88% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRoleMenu.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRoleMenu.java index f38b46c..02b0e99 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRoleMenu.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRoleMenu.java @@ -1,4 +1,4 @@ -package com.ecell.internationalize.common.sysytem.entity; +package com.ecell.internationalize.common.system.entity; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUser.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUser.java similarity index 97% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUser.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUser.java index 67b2152..52903c8 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUser.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUser.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUserRole.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUserRole.java similarity index 88% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUserRole.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUserRole.java index 2738d51..d105ff3 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUserRole.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUserRole.java @@ -1,4 +1,4 @@ -package com.ecell.internationalize.common.sysytem.entity; +package com.ecell.internationalize.common.system.entity; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/User.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/User.java similarity index 98% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/User.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/User.java index 5b43da7..eb5c932 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/User.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/User.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/UserDeviceBindApp.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/UserDeviceBindApp.java similarity index 96% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/UserDeviceBindApp.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/UserDeviceBindApp.java index abbc16a..8f96b6b 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/UserDeviceBindApp.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/UserDeviceBindApp.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatio.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatio.java similarity index 93% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatio.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatio.java index a465f9b..e9ffc10 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatio.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatio.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatioHistory.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatioHistory.java similarity index 92% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatioHistory.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatioHistory.java index 27b4dea..4cc236f 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatioHistory.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatioHistory.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/fallback/SysOperatorInfoFeignClientFallBack.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/fallback/SysOperatorInfoFeignClientFallBack.java similarity index 64% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/fallback/SysOperatorInfoFeignClientFallBack.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/fallback/SysOperatorInfoFeignClientFallBack.java index a2d7181..375bc35 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/fallback/SysOperatorInfoFeignClientFallBack.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/fallback/SysOperatorInfoFeignClientFallBack.java @@ -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; /** diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/feign/SysOperatorInfoFeignClient.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java similarity index 71% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/feign/SysOperatorInfoFeignClient.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java index eb70c59..388e835 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/feign/SysOperatorInfoFeignClient.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java @@ -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; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/utlis/UploadUtil.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/utlis/UploadUtil.java similarity index 97% rename from ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/utlis/UploadUtil.java rename to ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/utlis/UploadUtil.java index 6d29df6..f65e7a8 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/utlis/UploadUtil.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/utlis/UploadUtil.java @@ -1,4 +1,4 @@ -package com.ecell.internationalize.common.sysytem.utlis; +package com.ecell.internationalize.common.system.utlis; import com.aliyun.oss.ClientException; import com.aliyun.oss.OSS; @@ -7,9 +7,9 @@ import com.aliyun.oss.OSSException; import com.aliyun.oss.model.PutObjectRequest; import com.ecell.internationalize.common.core.exception.ServiceException; import com.ecell.internationalize.common.core.utils.uuid.UUID; -import com.ecell.internationalize.common.sysytem.constant.OssClientConstants; -import com.ecell.internationalize.common.sysytem.entity.ChatOssDto; -import com.ecell.internationalize.common.sysytem.entity.CheckVersionUpload; +import com.ecell.internationalize.common.system.constant.OssClientConstants; +import com.ecell.internationalize.common.system.entity.ChatOssDto; +import com.ecell.internationalize.common.system.entity.CheckVersionUpload; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.web.multipart.MultipartFile; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-core/src/main/java/com/ecell/internationalize/common/core/context/SecurityContextHolder.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-core/src/main/java/com/ecell/internationalize/common/core/context/SecurityContextHolder.java index 3b57e62..c645747 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-core/src/main/java/com/ecell/internationalize/common/core/context/SecurityContextHolder.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-core/src/main/java/com/ecell/internationalize/common/core/context/SecurityContextHolder.java @@ -9,94 +9,84 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** - *获取当前线程变量中的 用户id、用户名称、Token等信息 - * * 注意: 必须在网关通过请求头的方法传入,同时在HeaderInterceptor拦截器设置值。 否则这里无法获取 + * 获取当前线程变量中的 用户id、用户名称、Token等信息 + * * 注意: 必须在网关通过请求头的方法传入,同时在HeaderInterceptor拦截器设置值。 否则这里无法获取 + * * @author borui */ public class SecurityContextHolder { private static final TransmittableThreadLocal> THREAD_LOCAL = new TransmittableThreadLocal<>(); - public static void set(String key, Object value) - { + public static void set(String key, Object value) { Map map = getLocalMap(); map.put(key, value == null ? StringUtils.EMPTY : value); } - public static String get(String key) - { + public static String get(String key) { Map map = getLocalMap(); return Convert.toStr(map.getOrDefault(key, StringUtils.EMPTY)); } - public static T get(String key, Class clazz) - { + public static T get(String key, Class clazz) { Map map = getLocalMap(); return StringUtils.cast(map.getOrDefault(key, null)); } - public static Map getLocalMap() - { + public static Map getLocalMap() { Map map = THREAD_LOCAL.get(); - if (map == null) - { + if (map == null) { map = new ConcurrentHashMap(); THREAD_LOCAL.set(map); } return map; } - public static void setLocalMap(Map threadLocalMap) - { + public static void setLocalMap(Map threadLocalMap) { THREAD_LOCAL.set(threadLocalMap); } - public static Long getUserId() - { - return Convert.toLong(get(SecurityConstants.DETAILS_USER_ID), 0L); + // public static Long getUserId() +// { +// return Convert.toLong(get(SecurityConstants.DETAILS_USER_ID), 0L); +// } + public static String getUserId() { + return Convert.toStr(get(SecurityConstants.DETAILS_USER_ID), ""); } - public static String getStringUserId() - { - return Convert.toStr(get(SecurityConstants.DETAILS_USER_ID),""); + public static String getStringUserId() { + return Convert.toStr(get(SecurityConstants.DETAILS_USER_ID), ""); } - public static void setUserId(String account) - { + public static void setUserId(String account) { set(SecurityConstants.DETAILS_USER_ID, account); } - public static String getUserName() - { + public static String getUserName() { return get(SecurityConstants.DETAILS_USERNAME); } - public static void setUserName(String username) - { + public static void setUserName(String username) { set(SecurityConstants.DETAILS_USERNAME, username); } - public static void setUserAgent(String userId,String useragent) - { + public static void setUserAgent(String userId, String useragent) { set("userId", useragent); } - public static String getUserAgent(String userId) - { + + public static String getUserAgent(String userId) { return get(userId); } - public static String getUserKey() - { + public static String getUserKey() { return get(SecurityConstants.USER_KEY); } - public static void setUserKey(String userKey) - { + public static void setUserKey(String userKey) { set(SecurityConstants.USER_KEY, userKey); } - public static void remove() - { + public static void remove() { THREAD_LOCAL.remove(); } } diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/utils/SecurityUtils.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/utils/SecurityUtils.java index 78bbf34..c9d594a 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/utils/SecurityUtils.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/utils/SecurityUtils.java @@ -18,7 +18,11 @@ public class SecurityUtils { /** * 获取用户ID */ - public static Long getUserId() +// public static Long getUserId() +// { +// return SecurityContextHolder.getUserId(); +// } + public static String getUserId() { return SecurityContextHolder.getUserId(); } diff --git a/ecell-internationalize/ecell-internationalize-system-security/pom.xml b/ecell-internationalize/ecell-internationalize-system-security/pom.xml new file mode 100644 index 0000000..74a0260 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/pom.xml @@ -0,0 +1,123 @@ + + + + ecell-internationalize + com.ecell.internationalize + 1.0-SNAPSHOT + + 4.0.0 + + com.ecell.internationalize.system.security + ecell-internationalize-system-security + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + com.ecell.internationalize.common.swagger + ecell-internationalize-swagger + 1.0-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-web + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + mysql + mysql-connector-java + + + + + com.alibaba + druid-spring-boot-starter + 1.1.10 + + + + org.projectlombok + lombok + true + + + + com.ecell.internationalize.common.sysytem + ecell-internationalize-common-system + 1.0-SNAPSHOT + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + 2.6.8 + + + + repackage + + + + + + + + src/main/java + + **/*.xml + + true + + + src/main/resources + + **/*.xml + **/*.yml + **/*.vm + **/*.properties + + false + + + + + + \ No newline at end of file diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysMenuController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysMenuController.java new file mode 100644 index 0000000..c1b15b7 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysMenuController.java @@ -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)); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysOperateInfoController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysOperateInfoController.java new file mode 100644 index 0000000..14335fb --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysOperateInfoController.java @@ -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 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()); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java new file mode 100644 index 0000000..c5525f4 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java @@ -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 map){ + Page page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString())); + LambdaQueryWrapper 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() + .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 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 lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG); + return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.getBaseMapper().selectList(lambdaQueryWrapper)); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleMenuController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleMenuController.java new file mode 100644 index 0000000..7dd0b76 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleMenuController.java @@ -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 { + +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java new file mode 100644 index 0000000..371d516 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java @@ -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 queryAll() { + return sysUserService.getBaseMapper().selectList(null); + } + /** + * 根据userId查询用户信息 + * @Author: liy + * @Date: 2022/7/18 16:34 + */ + @ApiOperation("根据userId查询用户信息") + @GetMapping("user/queryByUserId") + public SysUser queryByUserId() { + LambdaQueryWrapper 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 sysUserLambdaQueryWrapper=new LambdaQueryWrapper<>(); + sysUserLambdaQueryWrapper.eq(SysUser::getAccount,userName); + UserLogin sysUserVo = new UserLogin(); + SysUser sysUser = sysUserService.getBaseMapper().selectOne(sysUserLambdaQueryWrapper); + if (null == sysUser){ + return null; + } + // 角色集合 + Set roles = permissionService.getRolePermission(sysUser.getUserId()); + // 权限集合 + Set 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 roles = permissionService.getRolePermission(userId); + // 菜单权限集合 + Set 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 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() + .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 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 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); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserRoleController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserRoleController.java new file mode 100644 index 0000000..34302a1 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserRoleController.java @@ -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 { +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MenuVO.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MenuVO.java new file mode 100644 index 0000000..3865648 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MenuVO.java @@ -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; + +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MetaVo.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MetaVo.java new file mode 100644 index 0000000..fff2885 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MetaVo.java @@ -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,则不会被 缓存 + */ + 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; + } + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/RouterVo.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/RouterVo.java new file mode 100644 index 0000000..25f8455 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/RouterVo.java @@ -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 children; +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/TreeNode.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/TreeNode.java new file mode 100644 index 0000000..775c719 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/TreeNode.java @@ -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 children ; + + /** + * 是否包含子节点 + * + * @since 3.7 + */ + private Boolean hasChildren; + + public void add(TreeNode node) { + children.add(node); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysMenuMapper.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysMenuMapper.java new file mode 100644 index 0000000..93976be --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysMenuMapper.java @@ -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; + +/** + *

+ * 菜单 Mapper 接口 + *

+ * + * @author liy + * @since 2022-07-18 + */ +public interface SysMenuMapper extends BaseMapper { + /** + * 根据用户ID查询权限 + * @param userId 用户ID + * @return 权限列表 + */ + List selectMenuPermsByUserId(String userId); + + /** + * 根据用户ID查询菜单 + * @param userId 用户ID + * @return 菜单列表 + */ + List selectMenuTreeByUserId(String userId); + /** + * 根据用户查询系统菜单列表 + * @param menu 菜单信息 + * @param userId 用户Id + * @return 菜单列表 + */ + List selectMenuListByUserId(@Param("menu") SysMenu menu,@Param("userId") String userId); + /** + * 角色Id查询菜单相关 + * @Author liy + * @Date 2022/7/21 16:42 + * @param roleId 角色信息 + * @return List + */ + List queryMenuByRoleId(String roleId); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.java new file mode 100644 index 0000000..af4973d --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.java @@ -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; + +/** + *

+ * 用户操作记录 Mapper 接口 + *

+ * + * @author liy + * @since 2022-07-18 + */ +public interface SysOperateInfoMapper extends BaseMapper { + /** + * 用户操作记录条件分页查询 + * @Author liy + * @Date 2022/7/11 11:42 + * @param page 分页 + * @param map 查询条件 + * @return Page + */ + Page getList(@Param("page") Page page, @Param("map") Map map); + /** + * 查询模块名称 + * @Author liy + * @Date 2022/7/20 16:42 + * @return List + */ + List queryModuleName(); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMapper.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMapper.java new file mode 100644 index 0000000..f94c2c0 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMapper.java @@ -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; + +/** + *

+ * 系统角色 Mapper 接口 + *

+ * + * @author liy + * @since 2022-07-18 + */ +public interface SysRoleMapper extends BaseMapper { + /** + * 根据用户ID查询角色 + * + * @param userId 用户ID + * @return 角色列表 + */ + List selectRolePermissionByUserId(@Param("userId") String userId); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.java new file mode 100644 index 0000000..14ae60c --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.java @@ -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; + +/** + *

+ * 角色和菜单关联 Mapper 接口 + *

+ * + * @author liy + * @since 2022-07-18 + */ +public interface SysRoleMenuMapper extends BaseMapper { + /** + * 批量新增角色菜单信息 + * + * @param roleMenuList 角色菜单列表 + * @return 结果 + */ + int batchRoleMenu(List roleMenuList); + /** + * 通过角色ID删除角色和菜单关联 + * + * @param roleId 角色ID + * @return 结果 + */ + int deleteRoleMenuByRoleId(String roleId); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserMapper.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserMapper.java new file mode 100644 index 0000000..6481951 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserMapper.java @@ -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; + +/** + *

+ * 系统用户 Mapper 接口 + *

+ * + * @author liy + * @since 2022-07-18 + */ +public interface SysUserMapper extends BaseMapper { + /** + * 用户管理条件分页查询 + * @Author liy + * @Date 2022/7/13 15:42 + * @param page 分页 + * @param map 查询条件 + * @return Page + */ + Page getList(@Param("page") Page page, @Param("map") Map map); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.java new file mode 100644 index 0000000..ca1dcf9 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.java @@ -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; + +/** + *

+ * 用户和角色关联 Mapper 接口 + *

+ * + * @author liy + * @since 2022-07-18 + */ +public interface SysUserRoleMapper extends BaseMapper { + /** + * 批量新增用户角色信息 + * + * @param userRoleList 用户角色列表 + * @return 结果 + */ + int batchUserRole(List userRoleList); + /** + * 通过用户ID删除用户和角色关联 + * @param userId 用户ID + * @return 结果 + */ + int deleteUserRoleByUserId(String userId); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysMenuService.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysMenuService.java new file mode 100644 index 0000000..a29b6e5 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysMenuService.java @@ -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 { + /** + * 构建树 + * @Author liy + * @Date 2022/7/26 11:07 + * @return List 权限树集合 + */ + List getMenuTree(); + /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + Set selectMenuPermsByUserId(String userId); + /** + * 角色Id查询菜单相关 + * @Author liy + * @Date 2022/7/21 16:42 + * @param roleId 角色信息 + * @return List + */ + List queryMenuByRoleId(String roleId); + /** + * 根据用户ID查询菜单树信息 + * + * @param userId 用户ID + * @return 菜单列表 + */ + List selectMenuTreeByUserId(String userId); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysOperateInfoService.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysOperateInfoService.java new file mode 100644 index 0000000..d149fd7 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysOperateInfoService.java @@ -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 { + /** + * 用户管理条件分页查询 + * @Author liy + * @Date 2022/7/20 16:42 + * @param map 分页查询体 + * @return IPage + */ + IPage findAllByPage(Map map); + + /** + * 查询模块名称 + * @Author liy + * @Date 2022/7/20 16:42 + * @return List + */ + List queryModuleName(); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysPermissionService.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysPermissionService.java new file mode 100644 index 0000000..650d0b5 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysPermissionService.java @@ -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 getRolePermission(String userId); + + /** + * 获取菜单数据权限 + * + * @param userId 用户Id + * @return 菜单权限信息 + */ + Set getMenuPermission(String userId); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleMenuService.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleMenuService.java new file mode 100644 index 0000000..0fda95f --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleMenuService.java @@ -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 { +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleService.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleService.java new file mode 100644 index 0000000..cd166ed --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleService.java @@ -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 { + /** + * 根据用户ID查询角色权限 + * + * @param userId 用户Id + * @return 权限列表 + */ + Set 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); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserRoleService.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserRoleService.java new file mode 100644 index 0000000..d9bc965 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserRoleService.java @@ -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 { +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserService.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserService.java new file mode 100644 index 0000000..38b08b8 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserService.java @@ -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 { + /** + * 用户管理条件分页查询 + * @Author liy + * @Date 2022/7/20 16:42 + * @param map 分页查询体 + * @return IPage + */ + IPage findAllByPage(Map 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); +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysMenuServiceImpl.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysMenuServiceImpl.java new file mode 100644 index 0000000..8d2b7cf --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysMenuServiceImpl.java @@ -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 implements SysMenuService { + @Autowired + private SysMenuMapper sysMenuMapper; + + /** + * 构建树查询 + * + * @return List 树形集合 + * @Author liy + * @Date 2022/7/19 11:07 + */ + @Override + public List getMenuTree() { + return TreeUtil.buildFirmTree(sysMenuMapper.selectList(null), FieldConstant.TREE_ROOT_ID); + } + + /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + @Override + public Set selectMenuPermsByUserId(String userId) { + List perms = sysMenuMapper.selectMenuPermsByUserId(userId); + Set 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 queryMenuByRoleId(String roleId) { + return sysMenuMapper.queryMenuByRoleId(roleId); + } + + /** + * 根据用户ID查询菜单树信息 + * + * @param userId 用户ID + * @return 菜单列表 + */ + @Override + public List selectMenuTreeByUserId(String userId) { + List menus = null; + LambdaQueryWrapper 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 getChildPerms(List list, String parentId) { + List returnList = new ArrayList(); + for (Iterator 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 list, SysMenu t) { + // 得到子节点列表 + List childList = getChildList(list, t); + t.setChildren(childList); + for (SysMenu tChild : childList) { + if (hasChild(list, tChild)) { + recursionFn(list, tChild); + } + } + } + + /** + * 得到子节点列表 + */ + private List getChildList(List list, SysMenu t) { + List tlist = new ArrayList(); + Iterator 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 list, SysMenu t) { + return getChildList(list, t).size() > 0; + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysOperateInfoServiceImpl.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysOperateInfoServiceImpl.java new file mode 100644 index 0000000..42d2e22 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysOperateInfoServiceImpl.java @@ -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 implements SysOperateInfoService { + @Autowired + private SysOperateInfoMapper sysOperateInfoMapper; + /** + * 操作日志条件分页查询 + * @Author liy + * @Date 2022/7/20 16:42 + * @param map 分页查询体 + * @return IPage + */ + @Override + public IPage findAllByPage(Map map) { + Page 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 queryModuleName() { + return sysOperateInfoMapper.queryModuleName(); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysPermissionServiceImpl.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysPermissionServiceImpl.java new file mode 100644 index 0000000..94d3648 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysPermissionServiceImpl.java @@ -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 getRolePermission(String userId) { + Set roles = new HashSet(); + // 管理员拥有所有权限 + if (FieldConstant.ADMIN.equals(userId)){ + roles.add("admin"); + } else { + roles.addAll(roleService.selectRolePermissionByUserId(userId)); + } + return roles; + } + + /** + * 获取菜单数据权限 + * + * @param userId 用户Id + * @return 菜单权限信息 + */ + @Override + public Set getMenuPermission(String userId) { + Set perms = new HashSet(); + // 管理员拥有所有权限 + if (FieldConstant.ADMIN.equals(userId)) { + perms.add("*:*:*"); + } else { + perms.addAll(menuService.selectMenuPermsByUserId(userId)); + } + return perms; + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleMenuServiceImpl.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleMenuServiceImpl.java new file mode 100644 index 0000000..cd27fdb --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleMenuServiceImpl.java @@ -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 implements SysRoleMenuService { + +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleServiceImpl.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleServiceImpl.java new file mode 100644 index 0000000..6bbb911 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleServiceImpl.java @@ -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 implements SysRoleService { + @Autowired + private SysRoleMapper sysRoleMapper; + @Autowired + private SysRoleMenuMapper sysRoleMenuMapper; + /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + @Override + public Set selectRolePermissionByUserId(String userId) + { + List perms = sysRoleMapper.selectRolePermissionByUserId(userId); + Set 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 lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysRoleMenu::getRoleId,sysRole.getRoleId()); + sysRoleMenuMapper.delete(lambdaQueryWrapper); + return sysRoleMapper.updateById(sysRole); + + } + + /** + * 新增角色菜单信息 + * @param sysRole 角色对象 + */ + public void insertRoleMenu(SysRole sysRole) { + // 新增用户与角色管理 + List 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); + } + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserRoleServiceImpl.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserRoleServiceImpl.java new file mode 100644 index 0000000..965b805 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserRoleServiceImpl.java @@ -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 implements SysUserRoleService { +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserServiceImpl.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserServiceImpl.java new file mode 100644 index 0000000..0838f95 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserServiceImpl.java @@ -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 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 findAllByPage(Map map) { + Page page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString())); + Page list = sysUserMapper.getList(page, map); + Map 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 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 getAgent() { + List agent = firmManageFeignClient.getAgent(); + Map map=new HashMap<>(16); + if (!CollectionUtils.isEmpty(agent)){ + for (FirmManageVO firmManageVO:agent){ + map.put(firmManageVO.getFirmId(),firmManageVO.getFirmName()); + } + } + return map; + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/util/TreeUtil.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/util/TreeUtil.java new file mode 100644 index 0000000..c95e5d6 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/util/TreeUtil.java @@ -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 List build(List treeNodes, Object root) { + List 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 buildFirmTree(List sysMenus, String root) { + List 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); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysMenuMapper.xml b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysMenuMapper.xml new file mode 100644 index 0000000..3716536 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysMenuMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.xml b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.xml new file mode 100644 index 0000000..05464e7 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + id, account, login_ip, msg, access_time, operation_module, create_user, create_time, update_user, update_time,error_msg,status + + + + + diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMapper.xml b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMapper.xml new file mode 100644 index 0000000..b19a11d --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + role_id, role_name, role_key, status, del_flag, create_user, create_time, update_user, update_time + + + + + diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.xml b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.xml new file mode 100644 index 0000000..1adb6f7 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + role_id, menu_id + + + insert into sys_role_menu(role_id, menu_id) values + + (#{item.roleId},#{item.menuId}) + + + + delete from sys_role_menu where role_id=#{roleId} + + diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserMapper.xml b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserMapper.xml new file mode 100644 index 0000000..c993181 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserMapper.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.xml b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.xml new file mode 100644 index 0000000..b4c08f8 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + user_id, role_id + + + insert into sys_user_role(user_id, role_id) values + + (#{item.userId},#{item.roleId}) + + + + delete from sys_user_role where user_id=#{userId} + + diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties new file mode 100644 index 0000000..b5a187a --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties @@ -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=修改个人信息 \ No newline at end of file diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties new file mode 100644 index 0000000..b8c09ef --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties @@ -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 \ No newline at end of file diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties new file mode 100644 index 0000000..b5a187a --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties @@ -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=修改个人信息 \ No newline at end of file diff --git a/ecell-internationalize/pom.xml b/ecell-internationalize/pom.xml index 3b9f949..0079d28 100644 --- a/ecell-internationalize/pom.xml +++ b/ecell-internationalize/pom.xml @@ -13,6 +13,7 @@ ecell-internationalize-common ecell-internationalize-gateway ecell-internationalize-auth + ecell-internationalize-system-security