From 70b206cdedab660b9599d319268d86e2833ba70c Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 24 八月 2024 21:22:32 +0800
Subject: [PATCH] 1

---
 se-modules/se-system/src/main/java/com/se/system/service/impl/SysPermissionServiceImpl.java |   58 ++++++++++++++++------------
 docker-compose/mysql/initdb/se_config_20231204.sql                                          |    2 
 se-modules/se-system/src/main/java/com/se/system/controller/SysUserController.java          |    6 ++-
 se-modules/se-system/src/main/java/com/se/system/service/ISysPermissionService.java         |   16 ++++++--
 4 files changed, 50 insertions(+), 32 deletions(-)

diff --git a/docker-compose/mysql/initdb/se_config_20231204.sql b/docker-compose/mysql/initdb/se_config_20231204.sql
index 6b1b9e1..04e7dcc 100644
--- a/docker-compose/mysql/initdb/se_config_20231204.sql
+++ b/docker-compose/mysql/initdb/se_config_20231204.sql
@@ -34,7 +34,7 @@
 
 insert into config_info(id, data_id, group_id, content, md5, gmt_create, gmt_modified, src_user, src_ip, app_name, tenant_id, c_desc, c_use, effect, type, c_schema, encrypted_data_key) values 
 (1,'application-dev.yml','DEFAULT_GROUP','spring:\n  autoconfigure:\n    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n  mvc:\n    pathmatch:\n      matching-strategy: ant_path_matcher\n\n# feign 閰嶇疆\nfeign:\n  sentinel:\n    enabled: true\n  okhttp:\n    enabled: true\n  httpclient:\n    enabled: false\n  client:\n    config:\n      default:\n        connectTimeout: 10000\n        readTimeout: 10000\n  compression:\n    request:\n      enabled: true\n      min-request-size: 8192\n    response:\n      enabled: true\n\n# 鏆撮湶鐩戞帶绔偣\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: \'*\'\n','58dde4e3760499d3bac2d77a3a1e9018','2020-05-20 12:00:00','2023-12-04 08:08:23','nacos','0:0:0:0:0:0:0:1','','','閫氱敤閰嶇疆','null','null','yaml','',''),
-(2,'se-gateway-dev.yml','DEFAULT_GROUP','spring:\n  redis:\n    host: se-redis\n    port: 6379\n    password: Redis_s!E_6.2.6\n  cloud:\n    gateway:\n      discovery:\n        locator:\n          lowerCaseServiceId: true\n          enabled: true\n      routes:\n        # 璁よ瘉涓績\n        - id: se-auth\n          uri: lb://se-auth\n          predicates:\n            - Path=/auth/**\n          filters:\n            # 楠岃瘉鐮佸鐞哱n            - CacheRequestFilter\n            - ValidateCodeFilter\n            - StripPrefix=1\n        # 浠g爜鐢熸垚\n        - id: se-gen\n          uri: lb://se-gen\n          predicates:\n            - Path=/code/**\n          filters:\n            - StripPrefix=1\n        # 瀹氭椂浠诲姟\n        - id: se-job\n          uri: lb://se-job\n          predicates:\n            - Path=/schedule/**\n          filters:\n            - StripPrefix=1\n        # 绯荤粺妯″潡\n        - id: se-system\n          uri: lb://se-system\n          predicates:\n            - Path=/system/**\n          filters:\n            - StripPrefix=1\n        # 鏂囦欢鏈嶅姟\n        - id: se-file\n          uri: lb://se-file\n          predicates:\n            - Path=/file/**\n          filters:\n            - StripPrefix=1\n\n# 瀹夊叏閰嶇疆\nsecurity:\n  # 楠岃瘉鐮� math,char\n  captcha:\n    enabled: false\n    type: math\n  # 闃叉XSS鏀诲嚮\n  xss:\n    enabled: true\n    excludeUrls:\n      - /system/notice\n  # 涓嶆牎楠岀櫧鍚嶅崟\n  ignore:\n    whites:\n      - /auth/logout\n      - /auth/login\n      - /auth/register\n      - /*/v2/api-docs\n      - /csrf\n','57cec5abd0e0a6b77d853750344a9dc0','2020-05-14 14:17:55','2022-09-29 02:48:32','nacos','0:0:0:0:0:0:0:1','','','缃戝叧妯″潡','null','null','yaml','',''),
+(2,'se-gateway-dev.yml','DEFAULT_GROUP','spring:\n  redis:\n    host: se-redis\n    port: 6379\n    password: Redis_s!E_6.2.6\n  cloud:\n    gateway:\n      discovery:\n        locator:\n          lowerCaseServiceId: true\n          enabled: true\n      routes:\n        # 璁よ瘉涓績\n        - id: se-auth\n          uri: lb://se-auth\n          predicates:\n            - Path=/auth/**\n          filters:\n            # 楠岃瘉鐮佸鐞哱n            - CacheRequestFilter\n            - ValidateCodeFilter\n            - StripPrefix=1\n        # 浠g爜鐢熸垚\n        - id: se-gen\n          uri: lb://se-gen\n          predicates:\n            - Path=/code/**\n          filters:\n            - StripPrefix=1\n        # 瀹氭椂浠诲姟\n        - id: se-job\n          uri: lb://se-job\n          predicates:\n            - Path=/schedule/**\n          filters:\n            - StripPrefix=1\n        # 绯荤粺妯″潡\n        - id: se-system\n          uri: lb://se-system\n          predicates:\n            - Path=/system/**\n          filters:\n            - StripPrefix=1\n        # 鏂囦欢鏈嶅姟\n        - id: se-file\n          uri: lb://se-file\n          predicates:\n            - Path=/file/**\n          filters:\n            - StripPrefix=1\n\n# 瀹夊叏閰嶇疆\nsecurity:\n  # 楠岃瘉鐮� math,char\n  captcha:\n    enabled: false\n    type: math\n  # 闃叉XSS鏀诲嚮\n  xss:\n    enabled: true\n    excludeUrls:\n      - /system/notice\n  # 涓嶆牎楠岀櫧鍚嶅崟\n  ignore:\n    whites:\n      - /*/health\n      - /auth/logout\n      - /auth/login\n      - /auth/register\n      - /*/v2/api-docs\n      - /csrf\n','57cec5abd0e0a6b77d853750344a9dc0','2020-05-14 14:17:55','2022-09-29 02:48:32','nacos','0:0:0:0:0:0:0:1','','','缃戝叧妯″潡','null','null','yaml','',''),
 (3,'se-auth-dev.yml','DEFAULT_GROUP','spring:\n  redis:\n    host: se-redis\n    port: 6379\n    password: Redis_s!E_6.2.6\n','8bd9dada9a94822feeab40de55efced6','2020-11-20 00:00:00','2022-09-29 02:48:42','nacos','0:0:0:0:0:0:0:1','','','璁よ瘉涓績','null','null','yaml','',''),
 (4,'se-monitor-dev.yml','DEFAULT_GROUP','# spring\nspring:\n  security:\n    user:\n      name: se\n      password: 123456\n  boot:\n    admin:\n      ui:\n        title: 鏈嶅姟鐘舵�佺洃鎺n','6f122fd2bfb8d45f858e7d6529a9cd44','2020-11-20 00:00:00','2022-09-29 02:48:54','nacos','0:0:0:0:0:0:0:1','','','鐩戞帶涓績','null','null','yaml','',''),
 (5,'se-system-dev.yml','DEFAULT_GROUP','# spring閰嶇疆\nspring:\n  redis:\n    host: se-redis\n    port: 6379\n    password: Redis_s!E_6.2.6\n  datasource:\n    druid:\n      stat-view-servlet:\n        enabled: false\n        loginUsername: admin\n        loginPassword: 123456\n    dynamic:\n      druid:\n        initial-size: 5\n        min-idle: 5\n        maxActive: 20\n        maxWait: 60000\n        connectTimeout: 30000\n        socketTimeout: 60000\n        timeBetweenEvictionRunsMillis: 60000\n        minEvictableIdleTimeMillis: 300000\n        validationQuery: SELECT 1 FROM DUAL\n        testWhileIdle: true\n        testOnBorrow: false\n        testOnReturn: false\n        poolPreparedStatements: true\n        maxPoolPreparedStatementPerConnectionSize: 20\n        filters: stat,slf4j\n        connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n      datasource:\n          # 涓诲簱鏁版嵁婧怽n          master:\n            driver-class-name: com.mysql.cj.jdbc.Driver\n            url: jdbc:mysql://se-mysql:3306/se-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\n            username: root\n            password: My_Sql_s!E_v5.7\n          # 浠庡簱鏁版嵁婧怽n          # slave:\n            # username: \n            # password: \n            # url: \n            # driver-class-name: \n\n# mybatis閰嶇疆\nmybatis:\n    # 鎼滅储鎸囧畾鍖呭埆鍚峔n    typeAliasesPackage: com.se.system\n    # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢\n    mapperLocations: classpath:mapper/**/*.xml\n\n# swagger閰嶇疆\nswagger:\n  title: 绯荤粺妯″潡鎺ュ彛鏂囨。\n  license: Powered By se','00678c89684ec0b825cb9b71e032db64','2020-11-20 00:00:00','2023-12-04 07:51:28','nacos','0:0:0:0:0:0:0:1','','','绯荤粺妯″潡','null','null','yaml','',''),
diff --git a/se-modules/se-system/src/main/java/com/se/system/controller/SysUserController.java b/se-modules/se-system/src/main/java/com/se/system/controller/SysUserController.java
index 3b9d05d..b6d3ea3 100644
--- a/se-modules/se-system/src/main/java/com/se/system/controller/SysUserController.java
+++ b/se-modules/se-system/src/main/java/com/se/system/controller/SysUserController.java
@@ -165,16 +165,18 @@
      * @return 鐢ㄦ埛淇℃伅
      */
     @GetMapping("getInfo")
-    public AjaxResult getInfo()
-    {
+    public AjaxResult getInfo() {
         SysUser user = userService.selectUserById(SecurityUtils.getUserId());
         // 瑙掕壊闆嗗悎
         Set<String> roles = permissionService.getRolePermission(user);
         // 鏉冮檺闆嗗悎
         Set<String> permissions = permissionService.getMenuPermission(user);
+        // 宀椾綅闆嗗悎
+        List<String> posts = permissionService.getPostPermission(user);
         AjaxResult ajax = AjaxResult.success();
         ajax.put("user", user);
         ajax.put("roles", roles);
+        ajax.put("posts", posts);
         ajax.put("permissions", permissions);
         return ajax;
     }
diff --git a/se-modules/se-system/src/main/java/com/se/system/service/ISysPermissionService.java b/se-modules/se-system/src/main/java/com/se/system/service/ISysPermissionService.java
index e2fe76f..5a0ab43 100644
--- a/se-modules/se-system/src/main/java/com/se/system/service/ISysPermissionService.java
+++ b/se-modules/se-system/src/main/java/com/se/system/service/ISysPermissionService.java
@@ -1,5 +1,6 @@
 package com.se.system.service;
 
+import java.util.List;
 import java.util.Set;
 
 import com.se.system.api.domain.SysUser;
@@ -9,11 +10,10 @@
  * 
  * @author admin
  */
-public interface ISysPermissionService
-{
+public interface ISysPermissionService {
     /**
      * 鑾峰彇瑙掕壊鏁版嵁鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛Id
      * @return 瑙掕壊鏉冮檺淇℃伅
      */
@@ -21,9 +21,17 @@
 
     /**
      * 鑾峰彇鑿滃崟鏁版嵁鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛Id
      * @return 鑿滃崟鏉冮檺淇℃伅
      */
     public Set<String> getMenuPermission(SysUser user);
+
+    /**
+     * 鑾峰彇鑿滃崟鏁版嵁鏉冮檺
+     *
+     * @param userId 鐢ㄦ埛Id
+     * @return 鑿滃崟鏉冮檺淇℃伅
+     */
+    public List<String> getPostPermission(SysUser user);
 }
diff --git a/se-modules/se-system/src/main/java/com/se/system/service/impl/SysPermissionServiceImpl.java b/se-modules/se-system/src/main/java/com/se/system/service/impl/SysPermissionServiceImpl.java
index 3950578..24387c8 100644
--- a/se-modules/se-system/src/main/java/com/se/system/service/impl/SysPermissionServiceImpl.java
+++ b/se-modules/se-system/src/main/java/com/se/system/service/impl/SysPermissionServiceImpl.java
@@ -1,8 +1,14 @@
 package com.se.system.service.impl;
 
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
+
+import com.se.common.core.utils.StringUtils;
+import com.se.system.domain.SysPost;
+import com.se.system.mapper.SysPostMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -12,37 +18,37 @@
 import com.se.system.service.ISysPermissionService;
 import com.se.system.service.ISysRoleService;
 
+import javax.annotation.Resource;
+
 /**
  * 鐢ㄦ埛鏉冮檺澶勭悊
  * 
  * @author admin
  */
 @Service
-public class SysPermissionServiceImpl implements ISysPermissionService
-{
+public class SysPermissionServiceImpl implements ISysPermissionService {
     @Autowired
     private ISysRoleService roleService;
 
     @Autowired
     private ISysMenuService menuService;
 
+    @Resource
+    private SysPostMapper postMapper;
+
     /**
      * 鑾峰彇瑙掕壊鏁版嵁鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛Id
      * @return 瑙掕壊鏉冮檺淇℃伅
      */
     @Override
-    public Set<String> getRolePermission(SysUser user)
-    {
+    public Set<String> getRolePermission(SysUser user) {
         Set<String> roles = new HashSet<String>();
         // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄�
-        if (user.isAdmin())
-        {
+        if (user.isAdmin()) {
             roles.add("admin");
-        }
-        else
-        {
+        } else {
             roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId()));
         }
         return roles;
@@ -50,37 +56,39 @@
 
     /**
      * 鑾峰彇鑿滃崟鏁版嵁鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛Id
      * @return 鑿滃崟鏉冮檺淇℃伅
      */
     @Override
-    public Set<String> getMenuPermission(SysUser user)
-    {
+    public Set<String> getMenuPermission(SysUser user) {
         Set<String> perms = new HashSet<String>();
         // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄�
-        if (user.isAdmin())
-        {
+        if (user.isAdmin()) {
             perms.add("*:*:*");
-        }
-        else
-        {
+        } else {
             List<SysRole> roles = user.getRoles();
-            if (!CollectionUtils.isEmpty(roles))
-            {
+            if (!CollectionUtils.isEmpty(roles)) {
                 // 澶氳鑹茶缃畃ermissions灞炴�э紝浠ヤ究鏁版嵁鏉冮檺鍖归厤鏉冮檺
-                for (SysRole role : roles)
-                {
+                for (SysRole role : roles) {
                     Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
                     role.setPermissions(rolePerms);
                     perms.addAll(rolePerms);
                 }
-            }
-            else
-            {
+            } else {
                 perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId()));
             }
         }
         return perms;
     }
+
+    @Override
+    public List<String> getPostPermission(SysUser user) {
+        List<SysPost> list = postMapper.selectPostsByUserName(user.getUserName());
+        if (CollectionUtils.isEmpty(list)) {
+            return null;
+        }
+
+        return list.stream().map(SysPost::getPostName).collect(Collectors.toList());
+    }
 }

--
Gitblit v1.9.3