Browse Source

重构国际化,用户模块开发two

master
caojianbin 1 year ago
parent
commit
e691159f0c
  1. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/annotation/SystemLog.java
  2. 10
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/aspect/SystemLogAspect.java
  3. 4
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/config/MybatisPlusPageConfig.java
  4. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/OssClientConstants.java
  5. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/ServiceExceptionResultConstant.java
  6. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/PositioningModelInfo.java
  7. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysMenu.java
  8. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysOperateInfo.java
  9. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRole.java
  10. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRoleMenu.java
  11. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUser.java
  12. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUserRole.java
  13. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/User.java
  14. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/UserDeviceBindApp.java
  15. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatio.java
  16. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatioHistory.java
  17. 6
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/fallback/SysOperatorInfoFeignClientFallBack.java
  18. 6
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java
  19. 8
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/utlis/UploadUtil.java
  20. 62
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-core/src/main/java/com/ecell/internationalize/common/core/context/SecurityContextHolder.java
  21. 6
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/utils/SecurityUtils.java
  22. 123
      ecell-internationalize/ecell-internationalize-system-security/pom.xml
  23. 55
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysMenuController.java
  24. 61
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysOperateInfoController.java
  25. 150
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java
  26. 13
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleMenuController.java
  27. 307
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java
  28. 12
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserRoleController.java
  29. 94
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MenuVO.java
  30. 65
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MetaVo.java
  31. 58
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/RouterVo.java
  32. 34
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/TreeNode.java
  33. 46
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysMenuMapper.java
  34. 36
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.java
  35. 25
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMapper.java
  36. 31
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.java
  37. 28
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserMapper.java
  38. 30
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.java
  39. 44
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysMenuService.java
  40. 30
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysOperateInfoService.java
  41. 24
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysPermissionService.java
  42. 10
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleMenuService.java
  43. 41
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleService.java
  44. 10
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserRoleService.java
  45. 43
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserService.java
  46. 144
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysMenuServiceImpl.java
  47. 45
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysOperateInfoServiceImpl.java
  48. 63
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysPermissionServiceImpl.java
  49. 18
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleMenuServiceImpl.java
  50. 120
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleServiceImpl.java
  51. 17
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserRoleServiceImpl.java
  52. 140
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserServiceImpl.java
  53. 59
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/util/TreeUtil.java
  54. 68
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysMenuMapper.xml
  55. 49
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.xml
  56. 31
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMapper.xml
  57. 24
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.xml
  58. 52
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserMapper.xml
  59. 24
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.xml
  60. 18
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties
  61. 18
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties
  62. 18
      ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties
  63. 1
      ecell-internationalize/pom.xml

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/annotation/SystemLog.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/annotation/SystemLog.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.annotation;
package com.ecell.internationalize.common.system.annotation;
import java.lang.annotation.*;

10
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/aspect/SystemLogAspect.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/aspect/SystemLogAspect.java

@ -1,4 +1,4 @@ @@ -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; @@ -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;

4
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/config/MybatisPlusPageConfig.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/config/MybatisPlusPageConfig.java

@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
package com.ecell.internationalize.common.sysytem.config;
package com.ecell.internationalize.common.system.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.ecell.internationalize.common.core.utils.StringUtils;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import com.ecell.internationalize.common.sysytem.constant.FieldConstant;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.context.annotation.Bean;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/OssClientConstants.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/OssClientConstants.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.constant;
package com.ecell.internationalize.common.system.constant;
/**
* @author borui

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/constant/ServiceExceptionResultConstant.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/ServiceExceptionResultConstant.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.constant;
package com.ecell.internationalize.common.system.constant;
import java.util.HashMap;
import java.util.Map;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/PositioningModelInfo.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/PositioningModelInfo.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import java.io.Serializable;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysMenu.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysMenu.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysOperateInfo.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysOperateInfo.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRole.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRole.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysRoleMenu.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysRoleMenu.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUser.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUser.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/SysUserRole.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/SysUserRole.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/User.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/User.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/UserDeviceBindApp.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/UserDeviceBindApp.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatio.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatio.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/entity/VersionRatioHistory.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/entity/VersionRatioHistory.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package com.ecell.internationalize.common.sysytem.entity;
package com.ecell.internationalize.common.system.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/fallback/SysOperatorInfoFeignClientFallBack.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/fallback/SysOperatorInfoFeignClientFallBack.java

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
package com.ecell.internationalize.common.sysytem.fallback;
package com.ecell.internationalize.common.system.fallback;
import com.ecell.internationalize.common.core.exception.ServiceException;
import com.ecell.internationalize.common.sysytem.entity.SysOperateInfo;
import com.ecell.internationalize.common.sysytem.feign.SysOperatorInfoFeignClient;
import com.ecell.internationalize.common.system.entity.SysOperateInfo;
import com.ecell.internationalize.common.system.feign.SysOperatorInfoFeignClient;
import org.springframework.stereotype.Component;
/**

6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/feign/SysOperatorInfoFeignClient.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
package com.ecell.internationalize.common.sysytem.feign;
package com.ecell.internationalize.common.system.feign;
import com.ecell.internationalize.common.sysytem.entity.SysOperateInfo;
import com.ecell.internationalize.common.sysytem.fallback.SysOperatorInfoFeignClientFallBack;
import com.ecell.internationalize.common.system.entity.SysOperateInfo;
import com.ecell.internationalize.common.system.fallback.SysOperatorInfoFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

8
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/sysytem/utlis/UploadUtil.java → ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/utlis/UploadUtil.java

@ -1,4 +1,4 @@ @@ -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; @@ -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;

62
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; @@ -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<Map<String, Object>> THREAD_LOCAL = new TransmittableThreadLocal<>();
public static void set(String key, Object value)
{
public static void set(String key, Object value) {
Map<String, Object> map = getLocalMap();
map.put(key, value == null ? StringUtils.EMPTY : value);
}
public static String get(String key)
{
public static String get(String key) {
Map<String, Object> map = getLocalMap();
return Convert.toStr(map.getOrDefault(key, StringUtils.EMPTY));
}
public static <T> T get(String key, Class<T> clazz)
{
public static <T> T get(String key, Class<T> clazz) {
Map<String, Object> map = getLocalMap();
return StringUtils.cast(map.getOrDefault(key, null));
}
public static Map<String, Object> getLocalMap()
{
public static Map<String, Object> getLocalMap() {
Map<String, Object> map = THREAD_LOCAL.get();
if (map == null)
{
if (map == null) {
map = new ConcurrentHashMap<String, Object>();
THREAD_LOCAL.set(map);
}
return map;
}
public static void setLocalMap(Map<String, Object> threadLocalMap)
{
public static void setLocalMap(Map<String, Object> 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();
}
}

6
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 { @@ -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();
}

123
ecell-internationalize/ecell-internationalize-system-security/pom.xml

@ -0,0 +1,123 @@ @@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ecell-internationalize</artifactId>
<groupId>com.ecell.internationalize</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.ecell.internationalize.system.security</groupId>
<artifactId>ecell-internationalize-system-security</artifactId>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- RuoYi Common Swagger -->
<dependency>
<groupId>com.ecell.internationalize.common.swagger</groupId>
<artifactId>ecell-internationalize-swagger</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- SpringBoot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--druid数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.ecell.internationalize.common.sysytem</groupId>
<artifactId>ecell-internationalize-common-system</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.6.8</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.vm</include>
<include>**/*.properties</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>

55
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysMenuController.java

@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
package com.ecell.internationalize.system.security.controller;
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
import com.ecell.internationalize.common.core.web.domain.AjaxResult;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import com.ecell.internationalize.system.security.service.SysMenuService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @author borui
*/
@Api(value="菜单",tags={"菜单管理接口"})
@RestController
@RequestMapping("/sys_user")
public class SysMenuController {
@Autowired
private SysMenuService sysMenuService;
/**
* 构建树形菜单结构
* @return 路由信息
*/
@ApiOperation("构建树形菜单结构")
@GetMapping("/menu/getMenuTree")
public AjaxResult getMenuTree() {
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysMenuService.getMenuTree());
}
/**
* 角色Id查询菜单相关
* @Author liy
* @Date 2022/7/25 10:38
* @Return AjaxResult
*/
@ApiOperation("根据角色Id查询菜单")
@GetMapping(value = "role/queryMenuByRoleId")
public AjaxResult queryMenuByRoleId(@RequestParam @ApiParam(name="Id",value="角色id",required=true) String roleId) {
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysMenuService.queryMenuByRoleId(roleId));
}
/**
* 获取路由信息
* @return 路由信息
*/
@ApiOperation("获取路由信息")
@GetMapping("menu/getRouter")
public AjaxResult getRouters() {
String userId = SecurityUtils.getUserId();
return AjaxResult.success(sysMenuService.selectMenuTreeByUserId(userId));
}
}

61
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysOperateInfoController.java

@ -0,0 +1,61 @@ @@ -0,0 +1,61 @@
package com.ecell.internationalize.system.security.controller;
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
import com.ecell.internationalize.common.core.web.domain.AjaxResult;
import com.ecell.internationalize.common.system.entity.SysOperateInfo;
import com.ecell.internationalize.system.security.service.SysOperateInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* @author borui
*/
@Api(value="用户操作日志",tags={"用户操作日志接口"})
@RestController
@RequestMapping("/sys_user")
public class SysOperateInfoController {
@Autowired
private SysOperateInfoService sysOperateInfoService;
/**
* 新增日志信息
* @Author liy
* @Date 2022/7/21 16:38
* @param sysOperateInfo 操作日志
* @Return AjaxResult
*/
@ApiOperation("新增日志信息")
@PostMapping("operator/save")
public AjaxResult save(@RequestBody SysOperateInfo sysOperateInfo){
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysOperateInfoService.save(sysOperateInfo));
}
/**
* 分页查询日志信息
* @Author liy
* @Date 2022/7/21 16:38
* @param map 操作日志
* @Return AjaxResult
*/
@PostMapping("operator/pageList")
@ApiOperation("条件分页查询日志信息")
public AjaxResult queryAllByPage(@RequestBody Map<String,Object> map){
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysOperateInfoService.findAllByPage(map));
}
/**
* 查询模块名称
* @Author liy
* @Date 2022/7/21 16:38
* @Return AjaxResult
*/
@PostMapping("operator/queryModuleName")
@ApiOperation("查询模块名称")
public AjaxResult queryModuleName(){
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysOperateInfoService.queryModuleName());
}
}

150
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java

@ -0,0 +1,150 @@ @@ -0,0 +1,150 @@
package com.ecell.internationalize.system.security.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
import com.ecell.internationalize.common.core.web.domain.AjaxResult;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import com.ecell.internationalize.common.system.annotation.SystemLog;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.common.system.entity.SysRole;
import com.ecell.internationalize.system.security.service.SysRoleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.Map;
/**
* @author borui
*/
@Api(value="角色管理",tags={"角色管理接口"})
@RestController
@RequestMapping("/sys_user")
public class SysRoleController {
@Autowired
private SysRoleService roleService;
/**
* 角色管理条件分页查询
* @Author liy
* @Date 2022/7/21 10:38
* @param map 分页条件查询体
* @Return AjaxResult
*/
@ApiOperation("条件分页查询角色信息")
@PostMapping("role/pageList")
public AjaxResult queryAllByPage(@RequestBody Map<String,Object> map){
Page<SysRole> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString()));
LambdaQueryWrapper<SysRole> sysRoleLambdaQueryWrapper=new LambdaQueryWrapper<>();
if (map.containsKey(FieldConstant.ROLE_NAME)&&null!=map.get(FieldConstant.ROLE_NAME).toString()){
sysRoleLambdaQueryWrapper.eq(SysRole::getRoleName,map.get(FieldConstant.ROLE_NAME).toString());
}
if (map.containsKey(FieldConstant.ACCOUNT_STATUS)&&null!=map.get(FieldConstant.ACCOUNT_STATUS).toString()){
sysRoleLambdaQueryWrapper.eq(SysRole::getStatus,map.get(FieldConstant.ACCOUNT_STATUS).toString());
}
sysRoleLambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG);
sysRoleLambdaQueryWrapper.orderByDesc(SysRole::getCreateTime);
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.getBaseMapper().selectPage(page,sysRoleLambdaQueryWrapper));
}
/**
* 新增角色信息
* @Author liy
* @Date 2022/7/21 11:38
* @param sysRole 用户
* @Return AjaxResult
*/
@ApiOperation("新增角色信息")
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.SAVE_OPERATOR)
@PostMapping("role/save")
public AjaxResult save(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){
int count = roleService.count(new QueryWrapper<SysRole>()
.eq(FieldConstant.ROLE_NAME,sysRole.getRoleName())
.eq(FieldConstant.USER_DEL_FLAG,FieldConstant.DEL_FLAG)
);
if (count>0){
//角色已存在
return AjaxResult.error(LocaleUtil.getMessage("messages.role.exit"));
}
sysRole.setCreateUser(SecurityUtils.getUsername());
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.saveRole(sysRole));
}
/**
* 修改角色信息
* @Author liy
* @Date 2022/7/21 16:38
* @param sysRole 用户
* @Return AjaxResult
*/
@ApiOperation("修改角色信息")
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.UPDATE_OPERATOR)
@PostMapping("role/update")
public AjaxResult update(@RequestBody @ApiParam(name="角色", value = "角色实体",required=true) SysRole sysRole){
//admin用户禁止修改操作
if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete"));
}
LambdaQueryWrapper<SysRole> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysRole::getRoleName,sysRole.getRoleName());
lambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG);
SysRole role = roleService.getBaseMapper().selectOne(lambdaQueryWrapper);
//修改名称相同
if (null!=role&&!role.getRoleId().equals(sysRole.getRoleId())){
//角色已存在
return AjaxResult.error(LocaleUtil.getMessage("messages.role.exit"));
}
sysRole.setUpdateTime(new Date());
sysRole.setUpdateUser(SecurityUtils.getUsername());
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.updateRole(sysRole));
}
/**
* 删除角色信息
* @Author liy
* @Date 2022/7/21 16:38
* @param sysRole 用户
* @Return AjaxResult
*/
@ApiOperation("删除角色信息")
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.DELETE_OPERATOR)
@PostMapping("role/del")
public AjaxResult del(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){
//admin用户禁止修改操作
if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete"));
}
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.deleteRoleById(sysRole));
}
/**
* 修改角色状态
* @Author liy
* @Date 2022/7/21 16:38
* @param sysRole 角色
* @Return AjaxResult
*/
@ApiOperation("修改角色状态")
@SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.CHANGE_STATUS_OPERATOR)
@PostMapping("role/updateStatus")
public AjaxResult updateStatus(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){
//admin用户禁止修改操作
if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete"));
}
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.updateById(sysRole));
}
/**
* 查询角色名称
* @Author liy
* @Date 2022/7/25 10:38
* @Return AjaxResult
*/
@ApiOperation("查询角色名称")
@GetMapping(value = "role/queryRole")
public AjaxResult queryRole() {
LambdaQueryWrapper<SysRole> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG);
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.getBaseMapper().selectList(lambdaQueryWrapper));
}
}

13
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleMenuController.java

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
package com.ecell.internationalize.system.security.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author borui
*/
@RestController
@RequestMapping("/sys-role-menu")
public class SysRoleMenuController {
}

307
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java

@ -0,0 +1,307 @@ @@ -0,0 +1,307 @@
package com.ecell.internationalize.system.security.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ecell.internationalize.common.core.domain.UserLogin;
import com.ecell.internationalize.common.core.utils.ServletUtils;
import com.ecell.internationalize.common.core.utils.ip.IpUtils;
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
import com.ecell.internationalize.common.core.web.domain.AjaxResult;
import com.ecell.internationalize.common.security.annotation.RequiresPermissions;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import com.ecell.internationalize.common.system.annotation.SystemLog;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.common.system.entity.SysUser;
import com.ecell.internationalize.common.system.utlis.UploadUtil;
import com.ecell.internationalize.system.security.feign.FirmManageFeignClient;
import com.ecell.internationalize.system.security.service.SysPermissionService;
import com.ecell.internationalize.system.security.service.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @author borui
*/
@Api(value="用户管理",tags={"用户管理接口"})
@RestController
@RequestMapping("/sys_user")
@Slf4j
public class SysUserController {
@Autowired
private SysUserService sysUserService;
@Autowired
private SysPermissionService permissionService;
@Autowired
private FirmManageFeignClient firmManageFeignClient;
/**
* 查询所有用户
* @Author: liy
* @Date: 2022/7/18 16:34
*/
@ApiOperation("查询所有用户(非分页)")
@GetMapping("user/list")
public List<SysUser> queryAll() {
return sysUserService.getBaseMapper().selectList(null);
}
/**
* 根据userId查询用户信息
* @Author: liy
* @Date: 2022/7/18 16:34
*/
@ApiOperation("根据userId查询用户信息")
@GetMapping("user/queryByUserId")
public SysUser queryByUserId() {
LambdaQueryWrapper<SysUser> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysUser::getUserId, SecurityUtils.getUserId());
return sysUserService.getBaseMapper().selectOne(lambdaQueryWrapper);
}
/**
* 根据用户账号查询
* @Author: liy
* @Date: 2022/7/18 16:34
*/
@ApiOperation("根据用户账号查询")
@GetMapping("user/queryByUserName")
public UserLogin queryByUserName(@ApiParam(name="userName",value="用户账号",required=true) String userName) {
LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper=new LambdaQueryWrapper<>();
sysUserLambdaQueryWrapper.eq(SysUser::getAccount,userName);
UserLogin sysUserVo = new UserLogin();
SysUser sysUser = sysUserService.getBaseMapper().selectOne(sysUserLambdaQueryWrapper);
if (null == sysUser){
return null;
}
// 角色集合
Set<String> roles = permissionService.getRolePermission(sysUser.getUserId());
// 权限集合
Set<String> permissions = permissionService.getMenuPermission(sysUser.getUserId());
sysUserVo.setUserId(sysUser.getUserId());
sysUserVo.setAccount(sysUser.getAccount());
sysUserVo.setPassword(sysUser.getPassword());
sysUserVo.setDelFlag(sysUser.getDelFlag());
sysUserVo.setFirmFlag(sysUser.getFirmFlag());
sysUserVo.setFirmId(sysUser.getFirmId());
sysUserVo.setStatus(sysUser.getStatus());
sysUserVo.setSecondFirmId(sysUser.getSecondFirmId());
sysUserVo.setRoles(roles);
sysUserVo.setPermissions(permissions);
return sysUserVo;
}
/**
* 获取用户信息
* @Author: liy
* @Date: 2022/7/20 16:34
*/
@ApiOperation("获取用户信息")
@GetMapping("user/getInfo")
public AjaxResult getInfo()
{
String userId = String.valueOf(SecurityUtils.getUserId());
log.info("获取到的userId:{}",userId);
// 角色集合
Set<String> roles = permissionService.getRolePermission(userId);
// 菜单权限集合
Set<String> permissions = permissionService.getMenuPermission(userId);
AjaxResult ajax = AjaxResult.success();
ajax.put("user", sysUserService.getBaseMapper().selectById(userId));
ajax.put("roles", roles);
ajax.put("permissions", permissions);
return ajax;
}
/**
* 用户管理条件分页查询
* @Author liy
* @Date 2022/7/20 15:38
* @param map 分页条件查询体
* @Return AjaxResult
*/
@ApiOperation("条件分页查询用户信息")
@RequiresPermissions("system:userList:list")
@PostMapping("user/pageList")
public AjaxResult queryAllByPage(@RequestBody Map<String,Object> map){
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.findAllByPage(map));
}
/**
* 新增用户信息
* @Author liy
* @Date 2022/7/20 16:38
* @param sysUser 用户
* @Return AjaxResult
*/
@ApiOperation("新增用户信息")
@RequiresPermissions("system:userList:add")
@SystemLog(msg = FieldConstant.USER_MANAGE,operation = FieldConstant.SAVE_OPERATOR)
@PostMapping("user/save")
public AjaxResult save(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser) {
sysUser.setHeadImg(FieldConstant.USER_IMAGE);
int count = sysUserService.count(new QueryWrapper<SysUser>()
.eq(FieldConstant.ACCOUNT,sysUser.getAccount())
.eq(FieldConstant.USER_DEL_FLAG,FieldConstant.DEL_FLAG)
);
if (count>0){
//账号已存在
return AjaxResult.error(LocaleUtil.getMessage("messages.account.exit"));
}
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.saveUser(sysUser));
}
/**
* 修改用户信息
* @Author liy
* @Date 2022/7/20 16:38
* @param sysUser 用户
* @Return AjaxResult
*/
@ApiOperation("修改用户信息")
@RequiresPermissions("system:userList:update")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.UPDATE_OPERATOR)
@PostMapping("user/update")
public AjaxResult update(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){
//admin用户禁止修改操作
if(FieldConstant.ADMIN.equals(sysUser.getUserId())){
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete"));
}
LambdaQueryWrapper<SysUser> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysUser::getAccount,sysUser.getAccount());
lambdaQueryWrapper.eq(SysUser::getDelFlag,FieldConstant.DEL_FLAG);
SysUser user = sysUserService.getBaseMapper().selectOne(lambdaQueryWrapper);
//修改名称相同
if (null!=user&&!user.getUserId().equals(sysUser.getUserId())){
//用户已存在
return AjaxResult.error(LocaleUtil.getMessage("messages.account.exit"));
}
sysUser.setUpdateTime(new Date());
sysUser.setUpdateUser(SecurityUtils.getUsername());
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateUser(sysUser));
}
/**
* 删除用户信息
* @Author liy
* @Date 2022/7/20 16:38
* @param sysUser 用户
* @Return AjaxResult
*/
@ApiOperation("删除用户信息")
@RequiresPermissions("system:userList:delete")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.DELETE_OPERATOR)
@PostMapping("user/del")
public AjaxResult del(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){
//admin用户禁止删除
if(FieldConstant.ADMIN.equals(sysUser.getUserId())){
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete"));
}
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.deleteUserById(sysUser));
}
/**
* 修改用户状态
* @Author liy
* @Date 2022/7/20 16:38
* @param sysUser 用户
* @Return AjaxResult
*/
@ApiOperation("修改用户状态")
@RequiresPermissions("system:userList:status")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.CHANGE_STATUS_OPERATOR)
@PostMapping("user/updateStatus")
public AjaxResult updateStatus(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){
//admin用户禁止修改状态
if(FieldConstant.ADMIN.equals(sysUser.getUserId())){
return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete"));
}
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateById(sysUser));
}
/**
* 显示所有厂商名称
* @Author liy
* @Date 2022/7/25 14:38
* @Return AjaxResult
*/
@ApiOperation("显示所有厂商名称")
@GetMapping("user/queryFirm")
public AjaxResult queryFirm(){
return firmManageFeignClient.queryAll();
}
/**
* 根据Id查询
* @Author liy
* @Date 2022/7/25 10:38
* @param firmId 主键firmId
* @Return AjaxResult
*/
@ApiOperation("根据firmId查询厂商信息")
@GetMapping(value = "user/queryById")
public AjaxResult queryById(@ApiParam(name="Id", value = "厂商Id",required=true) String firmId) {
return firmManageFeignClient.findById(firmId);
}
/**
* 认证修改用户登录时间
* @Author liy
* @Date 2022/7/20 16:38
* @param sysUser 用户
* @Return AjaxResult
*/
@ApiOperation("认证修改用户登录时间")
@PostMapping("user/updateLoginStatus")
public AjaxResult updateLoginStatus(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){
return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS),sysUserService.updateById(sysUser));
}
/**
* 重置密码
*/
@ApiOperation("重置密码")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.RESET_PASSWORD)
@PostMapping("user/resetPwd")
public AjaxResult resetPwd(@RequestBody @ApiParam(name="密码", value = "重置密码,旧密码字段为password,新密码字段为:newPassword",required=true) SysUser sysUser) {
String userId=SecurityUtils.getUserId();
sysUser.setUserId(userId);
//若为admin,禁止操作
if (FieldConstant.ADMIN.equals(userId)) {
return AjaxResult.error(LocaleUtil.getMessage("messages.admin.prohibit"));
}
LambdaQueryWrapper<SysUser> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysUser::getUserId,userId);
SysUser user = sysUserService.getBaseMapper().selectOne(lambdaQueryWrapper);
//输入的旧密码与实际密码不一致
if (!SecurityUtils.matchesPassword(sysUser.getPassword(),user.getPassword())){
return AjaxResult.error(LocaleUtil.getMessage("messages.different.password"));
}
sysUser.setPassword(SecurityUtils.encryptPassword(sysUser.getNewPassword()));
sysUser.setUpdateUser(SecurityUtils.getUsername());
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateById(sysUser));
}
/**
* 修改个人信息
*/
@ApiOperation("修改个人信息")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.UPDATE_USER_INFO)
@PostMapping("user/updateInfo")
public AjaxResult updateInfo(@RequestParam("file") MultipartFile file, @RequestParam("nickName")String nickName) throws IOException {
String userId=SecurityUtils.getUserId();
SysUser sysUser=new SysUser();
sysUser.setNickName(nickName);
String path = UploadUtil.upload(file);
sysUser.setUserId(userId);
sysUser.setHeadImg(path);
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.updateById(sysUser));
}
/**
* 获取IP地址
*/
@ApiOperation("获取IP地址")
@GetMapping("user/getIpHost")
public AjaxResult getIpHost(){
String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
return AjaxResult.success(LocaleUtil.getMessage("messages.success"), ip);
}
}

12
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserRoleController.java

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
package com.ecell.internationalize.system.security.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author borui
*/
@RestController
@RequestMapping("/sys-user-role")
public class SysUserRoleController {
}

94
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MenuVO.java

@ -0,0 +1,94 @@ @@ -0,0 +1,94 @@
package com.ecell.internationalize.system.security.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author borui
*/
@Data
public class MenuVO implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键Id
*/
private String menuId;
/**
* 菜单名称
*/
private String menuName;
/**
* 父菜单ID
*/
private String parentId;
/**
* 显示顺序
*/
private Integer showOrder;
/**
* 路由地址
*/
private String path;
/**
* 菜单类型M目录 C菜单 F按钮
*/
private String menuType;
/**
* 菜单状态0显示 1隐藏
*/
private String visible;
/**
* 权限标识
*/
private String perms;
/**
* 菜单图标
*/
private String icon;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 组件路径
*/
private String component;
/**
* 路由参数
*/
private String query;
/** 是否为外链(0是 1否) */
private String isFrame;
/** 是否缓存(0缓存 1不缓存) */
private String isCache;
}

65
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/MetaVo.java

@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
package com.ecell.internationalize.system.security.entity;
import com.ecell.internationalize.common.core.utils.StringUtils;
import lombok.Data;
/**
* @author borui
*/
@Data
public class MetaVo {
/**
* 设置该路由在侧边栏和面包屑中展示的名字
*/
private String title;
/**
* 设置该路由的图标对应路径src/assets/icons/svg
*/
private String icon;
/**
* 设置为true则不会被 <keep-alive>缓存
*/
private boolean noCache;
/**
* 内链地址http(s)://开头)
*/
private String link;
public MetaVo()
{
}
public MetaVo(String title, String icon)
{
this.title = title;
this.icon = icon;
}
public MetaVo(String title, String icon, boolean noCache)
{
this.title = title;
this.icon = icon;
this.noCache = noCache;
}
public MetaVo(String title, String icon, String link)
{
this.title = title;
this.icon = icon;
this.link = link;
}
public MetaVo(String title, String icon, boolean noCache, String link)
{
this.title = title;
this.icon = icon;
this.noCache = noCache;
if (StringUtils.ishttp(link))
{
this.link = link;
}
}
}

58
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/RouterVo.java

@ -0,0 +1,58 @@ @@ -0,0 +1,58 @@
package com.ecell.internationalize.system.security.entity;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.util.List;
/**
* @author borui
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@Data
public class RouterVo {
/**
* 路由名字
*/
private String name;
/**
* 路由地址
*/
private String path;
/**
* 是否隐藏路由当设置 true 的时候该路由不会再侧边栏出现
*/
private boolean hidden;
/**
* 重定向地址当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
*/
private String redirect;
/**
* 组件地址
*/
private String component;
/**
* 路由参数 {"id": 1, "name": "ry"}
*/
private String query;
/**
* 当你一个路由下面的 children 声明的路由大于1个时自动会变成嵌套的模式--如组件页面
*/
private Boolean alwaysShow;
/**
* 其他元素
*/
private MetaVo meta;
/**
* 子路由
*/
private List<RouterVo> children;
}

34
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/entity/TreeNode.java

@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
package com.ecell.internationalize.system.security.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author borui
*/
@Data
@ApiModel(value = "树形节点")
public class TreeNode {
@ApiModelProperty(value = "当前节点id")
protected String menuId;
@ApiModelProperty(value = "父节点id")
protected String parentId;
@ApiModelProperty(value = "子节点列表")
protected List<TreeNode> children ;
/**
* 是否包含子节点
*
* @since 3.7
*/
private Boolean hasChildren;
public void add(TreeNode node) {
children.add(node);
}
}

46
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysMenuMapper.java

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
package com.ecell.internationalize.system.security.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ecell.internationalize.common.system.entity.SysMenu;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 菜单 Mapper 接口
* </p>
*
* @author liy
* @since 2022-07-18
*/
public interface SysMenuMapper extends BaseMapper<SysMenu> {
/**
* 根据用户ID查询权限
* @param userId 用户ID
* @return 权限列表
*/
List<String> selectMenuPermsByUserId(String userId);
/**
* 根据用户ID查询菜单
* @param userId 用户ID
* @return 菜单列表
*/
List<SysMenu> selectMenuTreeByUserId(String userId);
/**
* 根据用户查询系统菜单列表
* @param menu 菜单信息
* @param userId 用户Id
* @return 菜单列表
*/
List<SysMenu> selectMenuListByUserId(@Param("menu") SysMenu menu,@Param("userId") String userId);
/**
* 角色Id查询菜单相关
* @Author liy
* @Date 2022/7/21 16:42
* @param roleId 角色信息
* @return List
*/
List<SysMenu> queryMenuByRoleId(String roleId);
}

36
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.java

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
package com.ecell.internationalize.system.security.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ecell.internationalize.common.system.entity.SysOperateInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
* 用户操作记录 Mapper 接口
* </p>
*
* @author liy
* @since 2022-07-18
*/
public interface SysOperateInfoMapper extends BaseMapper<SysOperateInfo> {
/**
* 用户操作记录条件分页查询
* @Author liy
* @Date 2022/7/11 11:42
* @param page 分页
* @param map 查询条件
* @return Page
*/
Page<SysOperateInfo> getList(@Param("page") Page<SysOperateInfo> page, @Param("map") Map<String, Object> map);
/**
* 查询模块名称
* @Author liy
* @Date 2022/7/20 16:42
* @return List
*/
List<String> queryModuleName();
}

25
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMapper.java

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
package com.ecell.internationalize.system.security.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ecell.internationalize.common.system.entity.SysRole;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 系统角色 Mapper 接口
* </p>
*
* @author liy
* @since 2022-07-18
*/
public interface SysRoleMapper extends BaseMapper<SysRole> {
/**
* 根据用户ID查询角色
*
* @param userId 用户ID
* @return 角色列表
*/
List<SysRole> selectRolePermissionByUserId(@Param("userId") String userId);
}

31
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.java

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
package com.ecell.internationalize.system.security.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ecell.internationalize.common.system.entity.SysRoleMenu;
import java.util.List;
/**
* <p>
* 角色和菜单关联 Mapper 接口
* </p>
*
* @author liy
* @since 2022-07-18
*/
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
/**
* 批量新增角色菜单信息
*
* @param roleMenuList 角色菜单列表
* @return 结果
*/
int batchRoleMenu(List<SysRoleMenu> roleMenuList);
/**
* 通过角色ID删除角色和菜单关联
*
* @param roleId 角色ID
* @return 结果
*/
int deleteRoleMenuByRoleId(String roleId);
}

28
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserMapper.java

@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
package com.ecell.internationalize.system.security.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ecell.internationalize.common.system.entity.SysUser;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* <p>
* 系统用户 Mapper 接口
* </p>
*
* @author liy
* @since 2022-07-18
*/
public interface SysUserMapper extends BaseMapper<SysUser> {
/**
* 用户管理条件分页查询
* @Author liy
* @Date 2022/7/13 15:42
* @param page 分页
* @param map 查询条件
* @return Page
*/
Page<SysUser> getList(@Param("page") Page<SysUser> page, @Param("map") Map<String, Object> map);
}

30
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.java

@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
package com.ecell.internationalize.system.security.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ecell.internationalize.common.system.entity.SysUserRole;
import java.util.List;
/**
* <p>
* 用户和角色关联 Mapper 接口
* </p>
*
* @author liy
* @since 2022-07-18
*/
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
/**
* 批量新增用户角色信息
*
* @param userRoleList 用户角色列表
* @return 结果
*/
int batchUserRole(List<SysUserRole> userRoleList);
/**
* 通过用户ID删除用户和角色关联
* @param userId 用户ID
* @return 结果
*/
int deleteUserRoleByUserId(String userId);
}

44
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysMenuService.java

@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
package com.ecell.internationalize.system.security.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ecell.internationalize.common.system.entity.SysMenu;
import com.ecell.internationalize.common.system.entity.SysRoleMenu;
import com.ecell.internationalize.system.security.entity.MenuTree;
import java.util.List;
import java.util.Set;
/**
* @author borui
*/
public interface SysMenuService extends IService<SysMenu> {
/**
* 构建树
* @Author liy
* @Date 2022/7/26 11:07
* @return List<FirmTree> 权限树集合
*/
List<MenuTree> getMenuTree();
/**
* 根据用户ID查询权限
*
* @param userId 用户ID
* @return 权限列表
*/
Set<String> selectMenuPermsByUserId(String userId);
/**
* 角色Id查询菜单相关
* @Author liy
* @Date 2022/7/21 16:42
* @param roleId 角色信息
* @return List
*/
List<SysMenu> queryMenuByRoleId(String roleId);
/**
* 根据用户ID查询菜单树信息
*
* @param userId 用户ID
* @return 菜单列表
*/
List<SysMenu> selectMenuTreeByUserId(String userId);
}

30
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysOperateInfoService.java

@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
package com.ecell.internationalize.system.security.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ecell.internationalize.common.system.entity.SysOperateInfo;
import java.util.List;
import java.util.Map;
/**
* @author borui
*/
public interface SysOperateInfoService extends IService<SysOperateInfo> {
/**
* 用户管理条件分页查询
* @Author liy
* @Date 2022/7/20 16:42
* @param map 分页查询体
* @return IPage
*/
IPage<SysOperateInfo> findAllByPage(Map<String, Object> map);
/**
* 查询模块名称
* @Author liy
* @Date 2022/7/20 16:42
* @return List
*/
List<String> queryModuleName();
}

24
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysPermissionService.java

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
package com.ecell.internationalize.system.security.service;
import java.util.Set;
/**
* @author borui
*/
public interface SysPermissionService {
/**
* 获取角色数据权限
*
* @param userId 用户Id
* @return 角色权限信息
*/
Set<String> getRolePermission(String userId);
/**
* 获取菜单数据权限
*
* @param userId 用户Id
* @return 菜单权限信息
*/
Set<String> getMenuPermission(String userId);
}

10
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleMenuService.java

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
package com.ecell.internationalize.system.security.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ecell.internationalize.common.system.entity.SysRoleMenu;
/**
* @author borui
*/
public interface SysRoleMenuService extends IService<SysRoleMenu> {
}

41
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysRoleService.java

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
package com.ecell.internationalize.system.security.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ecell.internationalize.common.system.entity.SysRole;
import java.util.Set;
/**
* @author borui
*/
public interface SysRoleService extends IService<SysRole> {
/**
* 根据用户ID查询角色权限
*
* @param userId 用户Id
* @return 权限列表
*/
Set<String> selectRolePermissionByUserId(String userId);
/**
* 新增用户
* @Author liy
* @Date 2022/7/21 16:42
* @param sysRole 实体类
* @return void
*/
int saveRole(SysRole sysRole);
/**
* 修改保存角色信息
* @param sysRole 角色信息
* @return 结果
*/
int updateRole(SysRole sysRole);
/**
* 删除角色
* @Author liy
* @Date 2022/7/21 16:42
* @param sysRole 角色信息
* @return int
*/
int deleteRoleById(SysRole sysRole);
}

10
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserRoleService.java

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
package com.ecell.internationalize.system.security.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ecell.internationalize.common.system.entity.SysUserRole;
/**
* @author borui
*/
public interface SysUserRoleService extends IService<SysUserRole> {
}

43
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/SysUserService.java

@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
package com.ecell.internationalize.system.security.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ecell.internationalize.common.system.entity.SysUser;
import java.util.Map;
/**
* @author borui
*/
public interface SysUserService extends IService<SysUser> {
/**
* 用户管理条件分页查询
* @Author liy
* @Date 2022/7/20 16:42
* @param map 分页查询体
* @return IPage
*/
IPage<SysUser> findAllByPage(Map<String, Object> map);
/**
* 新增用户
* @Author liy
* @Date 2022/7/20 16:42
* @param sysUser 实体类
* @return void
*/
int saveUser(SysUser sysUser);
/**
* 删除用户
* @Author liy
* @Date 2022/7/20 16:42
* @param sysUser 用户
* @return int
*/
int deleteUserById(SysUser sysUser);
/**
* 修改用户信息
* @param sysUser 用户信息
* @return 结果
*/
int updateUser(SysUser sysUser);
}

144
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysMenuServiceImpl.java

@ -0,0 +1,144 @@ @@ -0,0 +1,144 @@
package com.ecell.internationalize.system.security.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ecell.internationalize.common.core.utils.StringUtils;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.common.system.entity.SysMenu;
import com.ecell.internationalize.system.security.entity.MenuTree;
import com.ecell.internationalize.system.security.mapper.SysMenuMapper;
import com.ecell.internationalize.system.security.service.SysMenuService;
import com.ecell.internationalize.system.security.util.TreeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.*;
/**
* @author borui
*/
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
@Autowired
private SysMenuMapper sysMenuMapper;
/**
* 构建树查询
*
* @return List<FirmTree> 树形集合
* @Author liy
* @Date 2022/7/19 11:07
*/
@Override
public List<MenuTree> getMenuTree() {
return TreeUtil.buildFirmTree(sysMenuMapper.selectList(null), FieldConstant.TREE_ROOT_ID);
}
/**
* 根据用户ID查询权限
*
* @param userId 用户ID
* @return 权限列表
*/
@Override
public Set<String> selectMenuPermsByUserId(String userId) {
List<String> perms = sysMenuMapper.selectMenuPermsByUserId(userId);
Set<String> permsSet = new HashSet<>();
for (String perm : perms) {
if (StringUtils.isNotEmpty(perm)) {
permsSet.addAll(Arrays.asList(perm.trim().split(",")));
}
}
return permsSet;
}
/**
* 角色Id查询菜单相关
*
* @param roleId 角色信息
* @return List
* @Author liy
* @Date 2022/7/21 16:42
*/
@Override
public List<SysMenu> queryMenuByRoleId(String roleId) {
return sysMenuMapper.queryMenuByRoleId(roleId);
}
/**
* 根据用户ID查询菜单树信息
*
* @param userId 用户ID
* @return 菜单列表
*/
@Override
public List<SysMenu> selectMenuTreeByUserId(String userId) {
List<SysMenu> menus = null;
LambdaQueryWrapper<SysMenu> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(SysMenu::getMenuType, "M", "C");
//判断是否admin用户
if (FieldConstant.ADMIN.equals(userId)) {
menus = sysMenuMapper.selectList(lambdaQueryWrapper);
} else {
menus = sysMenuMapper.selectMenuTreeByUserId(userId);
}
return getChildPerms(menus, "-1");
}
/**
* 根据父节点的ID获取所有子节点
*
* @param list 分类表
* @param parentId 传入的父节点ID
* @return String
*/
public List<SysMenu> getChildPerms(List<SysMenu> list, String parentId) {
List<SysMenu> returnList = new ArrayList<SysMenu>();
for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) {
SysMenu t = (SysMenu) iterator.next();
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
if (t.getParentId().equals(parentId)) {
recursionFn(list, t);
returnList.add(t);
}
}
return returnList;
}
/**
* 递归列表
*
* @param list
* @param t
*/
private void recursionFn(List<SysMenu> list, SysMenu t) {
// 得到子节点列表
List<SysMenu> childList = getChildList(list, t);
t.setChildren(childList);
for (SysMenu tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 得到子节点列表
*/
private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) {
List<SysMenu> tlist = new ArrayList<SysMenu>();
Iterator<SysMenu> it = list.iterator();
while (it.hasNext()) {
SysMenu n = (SysMenu) it.next();
if (n.getParentId().equals(t.getMenuId())) {
tlist.add(n);
}
}
return tlist;
}
/**
* 判断是否有子节点
*/
private boolean hasChild(List<SysMenu> list, SysMenu t) {
return getChildList(list, t).size() > 0;
}
}

45
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysOperateInfoServiceImpl.java

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
package com.ecell.internationalize.system.security.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.common.system.entity.SysOperateInfo;
import com.ecell.internationalize.system.security.mapper.SysOperateInfoMapper;
import com.ecell.internationalize.system.security.service.SysOperateInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @Title: SysOperateInfoServiceImpl
* @Author: liy
* @Date: 2022/7/18 16:23
* @Description:
* @Version:1.0
*/
@Service
public class SysOperateInfoServiceImpl extends ServiceImpl<SysOperateInfoMapper, SysOperateInfo> implements SysOperateInfoService {
@Autowired
private SysOperateInfoMapper sysOperateInfoMapper;
/**
* 操作日志条件分页查询
* @Author liy
* @Date 2022/7/20 16:42
* @param map 分页查询体
* @return IPage
*/
@Override
public IPage<SysOperateInfo> findAllByPage(Map<String, Object> map) {
Page<SysOperateInfo> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString()));
return sysOperateInfoMapper.getList(page, map);
}
@Override
public List<String> queryModuleName() {
return sysOperateInfoMapper.queryModuleName();
}
}

63
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysPermissionServiceImpl.java

@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
package com.ecell.internationalize.system.security.service.impl;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.system.security.service.SysMenuService;
import com.ecell.internationalize.system.security.service.SysPermissionService;
import com.ecell.internationalize.system.security.service.SysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.Set;
/**
* @Title: SysPermissionServiceImpl
* @Author: liy
* @Date: 2022/7/19 16:04
* @Description:
* @Version:1.0
*/
@Service
public class SysPermissionServiceImpl implements SysPermissionService {
@Autowired
private SysRoleService roleService;
@Autowired
private SysMenuService menuService;
/**
* 获取角色数据权限
*
* @param userId 用户Id
* @return 角色权限信息
*/
@Override
public Set<String> getRolePermission(String userId) {
Set<String> roles = new HashSet<String>();
// 管理员拥有所有权限
if (FieldConstant.ADMIN.equals(userId)){
roles.add("admin");
} else {
roles.addAll(roleService.selectRolePermissionByUserId(userId));
}
return roles;
}
/**
* 获取菜单数据权限
*
* @param userId 用户Id
* @return 菜单权限信息
*/
@Override
public Set<String> getMenuPermission(String userId) {
Set<String> perms = new HashSet<String>();
// 管理员拥有所有权限
if (FieldConstant.ADMIN.equals(userId)) {
perms.add("*:*:*");
} else {
perms.addAll(menuService.selectMenuPermsByUserId(userId));
}
return perms;
}
}

18
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleMenuServiceImpl.java

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
package com.ecell.internationalize.system.security.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ecell.internationalize.common.system.entity.SysRoleMenu;
import com.ecell.internationalize.system.security.mapper.SysRoleMenuMapper;
import com.ecell.internationalize.system.security.service.SysRoleMenuService;
import org.springframework.stereotype.Service;
/**
* @Title: SysRoleMenuServiceImpl
* @Author: liy
* @Date: 2022/7/18 16:23
* @Description:
* @Version:1.0
*/
@Service
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
}

120
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysRoleServiceImpl.java

@ -0,0 +1,120 @@ @@ -0,0 +1,120 @@
package com.ecell.internationalize.system.security.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ecell.internationalize.common.core.utils.StringUtils;
import com.ecell.internationalize.common.core.utils.uuid.UUID;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import com.ecell.internationalize.common.system.entity.SysRole;
import com.ecell.internationalize.common.system.entity.SysRoleMenu;
import com.ecell.internationalize.system.security.mapper.SysRoleMapper;
import com.ecell.internationalize.system.security.mapper.SysRoleMenuMapper;
import com.ecell.internationalize.system.security.service.SysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
* @Title: SysRoleServiceImpl
* @Author: liy
* @Date: 2022/7/18 16:24
* @Description:
* @Version:1.0
*/
@Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
@Autowired
private SysRoleMapper sysRoleMapper;
@Autowired
private SysRoleMenuMapper sysRoleMenuMapper;
/**
* 根据用户ID查询权限
*
* @param userId 用户ID
* @return 权限列表
*/
@Override
public Set<String> selectRolePermissionByUserId(String userId)
{
List<SysRole> perms = sysRoleMapper.selectRolePermissionByUserId(userId);
Set<String> permsSet = new HashSet<>();
for (SysRole perm : perms) {
if (StringUtils.isNotNull(perm)) {
permsSet.addAll(Arrays.asList(perm.getRoleName().trim().split(",")));
}
}
return permsSet;
}
/**
* 新增角色
* @Author liy
* @Date 2022/7/21 16:42
* @param sysRole 实体类
* @return void
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int saveRole(SysRole sysRole) {
sysRole.setCreateUser(SecurityUtils.getUsername());
String roleId= UUID.randomUUID().toString(true);
sysRole.setRoleId(roleId);
sysRole.setCreateTime(new Date());
//新增角色信息
int rows = sysRoleMapper.insert(sysRole);
//新增关联的角色菜单信息
insertRoleMenu(sysRole);
return rows;
}
/**
* 修改保存角色信息
*
* @param sysRole 角色信息
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int updateRole(SysRole sysRole) {
// 修改角色信息
int rows = sysRoleMapper.updateById(sysRole);
// 删除角色与菜单关联
sysRoleMenuMapper.deleteRoleMenuByRoleId(sysRole.getRoleId());
insertRoleMenu(sysRole);
return rows;
}
/**
* 删除角色
* @Author liy
* @Date 2022/7/21 16:42
* @param sysRole 角色信息
* @return int
*/
@Override
public int deleteRoleById(SysRole sysRole) {
// 删除角色与菜单关联
LambdaQueryWrapper<SysRoleMenu> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysRoleMenu::getRoleId,sysRole.getRoleId());
sysRoleMenuMapper.delete(lambdaQueryWrapper);
return sysRoleMapper.updateById(sysRole);
}
/**
* 新增角色菜单信息
* @param sysRole 角色对象
*/
public void insertRoleMenu(SysRole sysRole) {
// 新增用户与角色管理
List<SysRoleMenu> list = new ArrayList<>();
for (String menuId : sysRole.getMenuIds()) {
SysRoleMenu rm = new SysRoleMenu();
rm.setRoleId(sysRole.getRoleId());
rm.setMenuId(menuId);
list.add(rm);
}
if (list.size() > 0) {
sysRoleMenuMapper.batchRoleMenu(list);
}
}
}

17
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserRoleServiceImpl.java

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
package com.ecell.internationalize.system.security.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ecell.internationalize.common.system.entity.SysUserRole;
import com.ecell.internationalize.system.security.mapper.SysUserRoleMapper;
import com.ecell.internationalize.system.security.service.SysUserRoleService;
import org.springframework.stereotype.Service;
/**
* @Title: SysUserRoleServiceImpl
* @Author: liy
* @Date: 2022/7/18 16:24
* @Description:
* @Version:1.0
*/
@Service
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService {
}

140
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/service/impl/SysUserServiceImpl.java

@ -0,0 +1,140 @@ @@ -0,0 +1,140 @@
package com.ecell.internationalize.system.security.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ecell.internationalize.common.core.utils.StringUtils;
import com.ecell.internationalize.common.core.utils.uuid.UUID;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.common.system.entity.SysUser;
import com.ecell.internationalize.common.system.entity.SysUserRole;
import com.ecell.internationalize.system.security.entity.FirmManageVO;
import com.ecell.internationalize.system.security.feign.FirmManageFeignClient;
import com.ecell.internationalize.system.security.mapper.SysUserMapper;
import com.ecell.internationalize.system.security.mapper.SysUserRoleMapper;
import com.ecell.internationalize.system.security.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
/**
* @Title: SysUserServiceImpl
* @Author: liy
* @Date: 2022/7/18 16:24
* @Description:
* @Version:1.0
*/
@Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
private SysUserRoleMapper sysUserRoleMapper;
@Autowired
private FirmManageFeignClient firmManageFeignClient;
/**
* 用户管理条件分页查询
* @Author liy
* @Date 2022/7/20 16:42
* @param map 分页查询体
* @return IPage
*/
@Override
public IPage<SysUser> findAllByPage(Map<String, Object> map) {
Page<SysUser> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString()));
Page<SysUser> list = sysUserMapper.getList(page, map);
Map<String, String> agent = getAgent();
list.getRecords().forEach(temp ->{
//为代理商
if (FieldConstant.SECOND_FLAG.equals(temp.getFirmFlag())){
temp.setSecondFirmName(agent.get(temp.getSecondFirmId()));
}
});
return list;
}
/**
* 新增用户
* @Author liy
* @Date 2022/7/20 16:42
* @param sysUser 实体类
* @return void
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int saveUser(SysUser sysUser) {
//密码加密
sysUser.setPassword(SecurityUtils.encryptPassword(sysUser.getPassword()));
sysUser.setCreateUser(SecurityUtils.getUsername());
String userId= UUID.randomUUID().toString(true);
sysUser.setUserId(userId);
sysUser.setCreateTime(new Date());
//新增用户信息
int rows = sysUserMapper.insert(sysUser);
//新增关联的用户角色
insertUserRole(sysUser.getUserId(),sysUser.getRoleId());
return rows;
}
/**
* 删除用户
* @Author liy
* @Date 2022/7/20 16:42
* @param sysUser 用户
* @return int
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int deleteUserById(SysUser sysUser) {
// 删除用户与角色关联
LambdaQueryWrapper<SysUserRole> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysUserRole::getUserId,sysUser.getUserId());
sysUserRoleMapper.delete(lambdaQueryWrapper);
return sysUserMapper.updateById(sysUser);
}
/**
* 修改保存用户信息
* @param sysUser 用户信息
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int updateUser(SysUser sysUser) {
String userId = sysUser.getUserId();
// 删除用户与角色关联
sysUserRoleMapper.deleteUserRoleByUserId(userId);
// 新增用户与角色管理
insertUserRole(userId,sysUser.getRoleId());
return sysUserMapper.updateById(sysUser);
}
/**
* 新增用户角色信息
* @param userId 用户ID
* @param roleId 角色
*/
public void insertUserRole(String userId, String roleId) {
if (StringUtils.isNotEmpty(roleId)) {
// 新增用户与角色管理
SysUserRole ur = new SysUserRole();
ur.setUserId(userId);
ur.setRoleId(roleId);
sysUserRoleMapper.insert(ur);
}
}
/**
* 封装代理商信息
*/
public Map<String,String> getAgent() {
List<FirmManageVO> agent = firmManageFeignClient.getAgent();
Map<String,String> map=new HashMap<>(16);
if (!CollectionUtils.isEmpty(agent)){
for (FirmManageVO firmManageVO:agent){
map.put(firmManageVO.getFirmId(),firmManageVO.getFirmName());
}
}
return map;
}
}

59
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/util/TreeUtil.java

@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
package com.ecell.internationalize.system.security.util;
import com.ecell.internationalize.common.system.entity.SysMenu;
import com.ecell.internationalize.system.security.entity.MenuTree;
import com.ecell.internationalize.system.security.entity.TreeNode;
import lombok.experimental.UtilityClass;
import java.util.ArrayList;
import java.util.List;
/**
* @author borui
*/
@UtilityClass
public class TreeUtil {
/**
* 两层循环实现建树
* @param treeNodes 传入的树节点列表
* @return
*/
public <T extends TreeNode> List<T> build(List<T> treeNodes, Object root) {
List<T> trees = new ArrayList<>();
for (T treeNode : treeNodes) {
if (root.equals(treeNode.getParentId())) {
trees.add(treeNode);
}
for (T it : treeNodes) {
if (it.getParentId().equals(treeNode.getMenuId())) {
if (treeNode.getChildren() == null) {
treeNode.setChildren(new ArrayList<>());
}
treeNode.add(it);
}
}
}
return trees;
}
/**
* 通过SysMenu创建树形节点
* @param sysMenus
* @param root
* @return
*/
public List<MenuTree> buildFirmTree(List<SysMenu> sysMenus, String root) {
List<MenuTree> trees = new ArrayList<>();
MenuTree node;
for (SysMenu sysMenu : sysMenus) {
node = new MenuTree();
node.setMenuId(sysMenu.getMenuId());
node.setParentId(sysMenu.getParentId());
node.setPath(sysMenu.getPath());
node.setMenuName(sysMenu.getMenuName());
node.setHasChildren(false);
trees.add(node);
}
return TreeUtil.build(trees, root);
}
}

68
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysMenuMapper.xml

@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysMenuMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysMenu">
<id column="menu_id" property="menuId" />
<result column="menu_name" property="menuName" />
<result column="parent_id" property="parentId" />
<result column="show_order" property="showOrder" />
<result column="path" property="path" />
<result column="menu_type" property="menuType" />
<result column="visible" property="visible" />
<result column="perms" property="perms" />
<result column="icon" property="icon" />
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
<result column="component" property="component" />
<result column="query" property="query" />
<result column="is_frame" property="isFrame" />
<result column="is_cache" property="isCache" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
menu_id, menu_name, parent_id, show_order, path, menu_type, visible, perms, icon, create_user, create_time, update_user, update_time,query,component,is_frame,isCache
</sql>
<select id="selectMenuTreeByUserId" parameterType="java.lang.String" resultMap="BaseResultMap">
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.visible, ifnull(m.perms,'') as perms, m.is_cache,m.is_frame,m.component,m.query,m.menu_type, m.icon, m.show_order, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_role ro on ur.role_id = ro.role_id
left join sys_user u on ur.user_id = u.user_id
where u.user_id = #{userId} and m.menu_type in ('M', 'C') AND ro.status = 0
order by m.show_order
</select>
<select id="selectMenuPermsByUserId" parameterType="java.lang.String" resultType="java.lang.String">
select distinct m.perms
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_role r on r.role_id = ur.role_id
where r.status = '0' and ur.user_id = #{userId}
</select>
<select id="selectMenuListByUserId" resultMap="BaseResultMap">
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.query, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.show_order, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_role ro on ur.role_id = ro.role_id
where ur.user_id = #{userId}
<if test="menu.menuName != null and menu.menuName != ''">
AND m.menu_name = #{menu.menuName}
</if>
<if test="menu.visible != null and menu.visible != ''">
AND m.visible = #{menu.visible}
</if>
order by m.show_order
</select>
<select id="queryMenuByRoleId" resultMap="BaseResultMap" parameterType="java.lang.String">
select A.menu_id,A.menu_name,A.parent_id from sys_menu A left join sys_role_menu B
ON A.menu_id=B.menu_id where B.role_id=#{roleId}
</select>
</mapper>

49
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysOperateInfoMapper.xml

@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysOperateInfoMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysOperateInfo">
<id column="id" property="id" />
<result column="account" property="account" />
<result column="login_ip" property="loginIp" />
<result column="msg" property="msg" />
<result column="access_time" property="accessTime" />
<result column="operation_module" property="operationModule" />
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
<result column="error_msg" property="errorMsg" />
<result column="status" property="status" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, account, login_ip, msg, access_time, operation_module, create_user, create_time, update_user, update_time,error_msg,status
</sql>
<select id="getList" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/> from sys_operate_info A
where 1=1
<if test="map.loginIp!=null and map.loginIp!=''">
and A.login_ip=#{map.loginIp}
</if>
<if test="map.account!=null and map.account!=''">
and A.account=#{map.account}
</if>
<if test="map.msg!=null and map.msg!=''">
and A.msg=#{map.msg}
</if>
<if test="map.startTime!=null">
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')>=DATE_FORMAT(#{map.startTime},'%Y-%m-%d')]]>
</if>
<if test="map.endTime!=null">
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')<=DATE_FORMAT(#{map.endTime},'%Y-%m-%d')]]>
</if>
order by A.create_time desc
</select>
<select id="queryModuleName" resultType="java.lang.String">
select distinct msg from sys_operate_info
</select>
</mapper>

31
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMapper.xml

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysRoleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysRole">
<id column="role_id" property="roleId" />
<result column="role_name" property="roleName" />
<result column="role_key" property="roleKey" />
<result column="status" property="status" />
<result column="del_flag" property="delFlag" />
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
role_id, role_name, role_key, status, del_flag, create_user, create_time, update_user, update_time
</sql>
<select id="selectRolePermissionByUserId" resultMap="BaseResultMap" parameterType="java.lang.String">
select distinct r.role_id, r.role_name, r.role_key,r.status, r.del_flag, r.create_time,ur.user_id
from sys_role r
left join sys_user_role ur on ur.role_id = r.role_id
left join sys_user u on u.user_id = ur.user_id
where r.del_flag='1' and ur.user_id = #{userId}
</select>
</mapper>

24
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysRoleMenuMapper.xml

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysRoleMenuMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysRoleMenu">
<id column="role_id" property="roleId" />
<result column="menu_id" property="menuId" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
role_id, menu_id
</sql>
<insert id="batchRoleMenu">
insert into sys_role_menu(role_id, menu_id) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.roleId},#{item.menuId})
</foreach>
</insert>
<delete id="deleteRoleMenuByRoleId" parameterType="java.lang.String">
delete from sys_role_menu where role_id=#{roleId}
</delete>
</mapper>

52
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserMapper.xml

@ -0,0 +1,52 @@ @@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysUserMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysUser">
<id column="user_id" property="userId" />
<result column="nick_name" property="nickName" />
<result column="account" property="account" />
<result column="user_type" property="userType" />
<result column="head_img" property="headImg" />
<result column="password" property="password" />
<result column="status" property="status" />
<result column="del_flag" property="delFlag" />
<result column="login_ip" property="loginIp" />
<result column="login_date" property="loginDate" />
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
<result column="firm_id" property="firmId" />
<result column="firm_flag" property="firmFlag" />
<result column="firm_name" property="firmName" />
<result column="firm_name" property="firmName" />
<result column="role_id" property="roleId" />
<result column="role_name" property="roleName" />
<result column="second_firm_id" property="secondFirmId" />
<result column="second_firm_name" property="secondFirmName" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
user_id, nick_name, account, user_type, head_img, password, status, del_flag, login_ip, login_date, create_user, create_time, update_user, update_time, firm_id, firm_flag,second_firm_id
</sql>
<select id="getList" resultMap="BaseResultMap">
select A.firm_id,A.second_firm_id,C.role_id,D.role_name,A.user_id,A.nick_name,A.account,A.user_type,A.head_img,A.password,A.status,A.del_flag,A.login_ip,A.login_date,A.firm_flag,A.create_user,A.create_time,A.update_user,A.update_time,B.firm_name from
sys_user A left join firm_manage B ON A.firm_id=B.firm_id
left join sys_user_role C ON A.user_id=C.user_id left join sys_role D ON C.role_id=D.role_id
where 1=1
<if test="map.account!=null and map.account!=''">
and A.account=#{map.account}
</if>
<if test="map.nickName!=null and map.nickName!=''">
and A.nick_name=#{map.nickName}
</if>
<if test="map.status!=null and map.status!=''">
and A.status=#{map.status}
</if>
and A.del_flag='1'
order by create_time DESC
</select>
</mapper>

24
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/com/ecell/internationalize/system/security/mapper/SysUserRoleMapper.xml

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ecell.internationalize.system.security.mapper.SysUserRoleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ecell.internationalize.common.system.entity.SysUserRole">
<id column="user_id" property="userId" />
<result column="role_id" property="roleId" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
user_id, role_id
</sql>
<insert id="batchUserRole">
insert into sys_user_role(user_id, role_id) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.userId},#{item.roleId})
</foreach>
</insert>
<delete id="deleteUserRoleByUserId" parameterType="java.lang.String">
delete from sys_user_role where user_id=#{userId}
</delete>
</mapper>

18
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
messages.success=操作成功
messages.error=操作失败,请联系管理员处理
messages.account.exit=输入的登录账号已存在
messages.not.permission=没有权限访问
messages.role.exit=角色名称已存在
messages.user.management=用户管理
messages.role.management=角色管理
messages.save.operator=新增操作
messages.update.operator=修改操作
messages.delete.operator=删除操作
messages.change.operator=修改状态操作
messages.system.error=系统异常,请联系管理员处理
messages.fallback.info=服务不存在或网络端口错误
messages.not.delete=管理员用户禁止此操作
messages.reset.password=个人信息重置密码
messages.admin.prohibit=管理员用户不允许重置密码
messages.different.password=输入的密码错误,请重新输入
messages.update.userInfo=修改个人信息

18
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
messages.success=Operation successful
messages.error=Operation failed, please contact the administrator for handling
messages.account.exit=The login account entered already exists
messages.not.permission=you do not have permission to access this interface
messages.role.exit=Role name already exists
messages.user.management=User management
messages.role.management=Role management
messages.save.operator=add operation
messages.update.operator=Modify operation
messages.delete.operator=delete operation
messages.change.operator=Modify status operation
messages.system.error=The system is abnormal. Please contact the administrator for handling
messages.fallback.info=Service does not exist or network port error
messages.not.delete=Administrator user prohibits this operation
messages.reset.password=Personal information reset password
messages.admin.prohibit=Administrator user is not allowed to reset password
messages.different.password=The password you entered is incorrect. Please re-enter it
messages.update.userInfo=Modify personal information

18
ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
messages.success=操作成功
messages.error=操作失败,请联系管理员处理
messages.account.exit=输入的登录账号已存在
messages.not.permission=没有权限访问
messages.role.exit=角色名称已存在
messages.user.management=用户管理
messages.role.management=角色管理
messages.save.operator=新增操作
messages.update.operator=修改操作
messages.delete.operator=删除操作
messages.change.operator=修改状态操作
messages.system.error=系统异常,请联系管理员处理
messages.fallback.info=服务不存在或网络端口错误
messages.not.delete=管理员用户禁止此操作
messages.reset.password=个人信息重置密码
messages.admin.prohibit=管理员用户不允许重置密码
messages.different.password=输入的密码错误,请重新输入
messages.update.userInfo=修改个人信息

1
ecell-internationalize/pom.xml

@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
<module>ecell-internationalize-common</module>
<module>ecell-internationalize-gateway</module>
<module>ecell-internationalize-auth</module>
<module>ecell-internationalize-system-security</module>
</modules>
<properties>

Loading…
Cancel
Save