From 7da161d707b597dd6b471c53995949f155dfa2d5 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 11 二月 2025 12:59:16 +0800
Subject: [PATCH] #

---
 rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java        |   16 +++++++++++-----
 rsf-admin/src/page/settings/SecuritySettings.jsx                                             |    2 +-
 rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java          |    8 ++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/common/exception/GlobalExceptionHandler.java |    9 +++++++++
 rsf-admin/src/page/tenant/TenantCreate.jsx                                                   |    7 ++++++-
 rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TenantController.java      |    4 ++--
 6 files changed, 37 insertions(+), 9 deletions(-)

diff --git a/rsf-admin/src/page/settings/SecuritySettings.jsx b/rsf-admin/src/page/settings/SecuritySettings.jsx
index 1a68e18..265e616 100644
--- a/rsf-admin/src/page/settings/SecuritySettings.jsx
+++ b/rsf-admin/src/page/settings/SecuritySettings.jsx
@@ -115,7 +115,7 @@
                         rules={{
                             required: translate('ra.validation.required'),
                             pattern: {
-                                value: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,13}$/,
+                                value: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d\.]{6,13}$/,
                                 message: translate('page.settings.resetPwd.tip.pwdInputLimit'),
                             },
                             validate: (value) => {
diff --git a/rsf-admin/src/page/tenant/TenantCreate.jsx b/rsf-admin/src/page/tenant/TenantCreate.jsx
index 942bf43..97234bd 100644
--- a/rsf-admin/src/page/tenant/TenantCreate.jsx
+++ b/rsf-admin/src/page/tenant/TenantCreate.jsx
@@ -2,6 +2,7 @@
 import {
     useTranslate,
     useNotify,
+    useRefresh,
 } from 'react-admin';
 import {
     Dialog,
@@ -31,6 +32,7 @@
     const { open, setOpen } = props;
     const translate = useTranslate();
     const notify = useNotify();
+    const refresh = useRefresh();
     const {
         control,
         handleSubmit,
@@ -85,10 +87,13 @@
     const onSubmit = (data) => {
         request.post('/tenant/init', data).then(res => {
             const { code, msg, data } = res.data;
+            console.log(msg);
+            
             if (code === 200) {
                 notify(msg, { type: 'success', messageArgs: { _: msg } });
                 setOpen(false);
                 reset();
+                refresh();
             } else {
                 notify(msg, { type: 'error', messageArgs: { _: msg } });
             }
@@ -244,7 +249,7 @@
                                                         message: translate('ra.validation.required'),
                                                     },
                                                     pattern: {
-                                                        value: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,13}$/,
+                                                        value: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d\.]{6,13}$/,
                                                         message: translate('page.settings.resetPwd.tip.pwdInputLimit'),
                                                     },
                                                 }}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java
index 4a636f4..c045936 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java
@@ -4,6 +4,10 @@
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * 绯荤粺閰嶇疆灞炴��
  *
@@ -35,4 +39,8 @@
      */
     private String superUsername;
 
+    public List<String> getSuperUserList() {
+        return Arrays.stream(superUsername.split(",")).collect(Collectors.toList());
+    }
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/exception/GlobalExceptionHandler.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/exception/GlobalExceptionHandler.java
index 66f60c4..8ea1e24 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/exception/GlobalExceptionHandler.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/exception/GlobalExceptionHandler.java
@@ -1,6 +1,7 @@
 package com.vincent.rsf.server.common.exception;
 
 import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.common.constant.Constants;
 import com.vincent.rsf.server.common.utils.CommonUtil;
 import org.slf4j.Logger;
@@ -47,6 +48,14 @@
     }
 
     @ResponseBody
+    @ExceptionHandler(CoolException.class)
+    public R coolExceptionHandler(CoolException e, HttpServletResponse response) {
+        CommonUtil.addCrossHeaders(response);
+        return R.error(e.getMessage());
+    }
+
+
+    @ResponseBody
     @ExceptionHandler(Throwable.class)
     public R exceptionHandler(Throwable e, HttpServletResponse response) {
         logger.error(e.getMessage(), e);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java
index f54dad3..9c9f64c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java
@@ -16,8 +16,10 @@
 import com.vincent.rsf.server.system.entity.User;
 import com.vincent.rsf.server.system.entity.UserLogin;
 import com.vincent.rsf.server.system.enums.StatusType;
-import com.vincent.rsf.server.system.service.*;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.vincent.rsf.server.system.service.RoleMenuService;
+import com.vincent.rsf.server.system.service.TenantService;
+import com.vincent.rsf.server.system.service.UserLoginService;
+import com.vincent.rsf.server.system.service.UserService;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -46,8 +48,6 @@
     private RoleMenuService roleMenuService;
     @Resource
     private TenantService tenantService;
-    @Autowired
-    private UserRoleService userRoleService;
 
     @PostMapping("/login")
     public R login(@RequestBody LoginParam param, HttpServletRequest request) {
@@ -85,8 +85,14 @@
     @GetMapping("/auth/menu")
     public R userMenu() {
         List<Menu> menus = roleMenuService.listMenuByUserId(getLoginUserId(), Menu.TYPE_MENU);
-//        return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId, Menu::setChildren));
         List<MenuVo> voList = menus.stream().map(this::convertToVo).collect(Collectors.toList());
+        // exclude tenant
+        if (!configProperties.getSuperUserList().contains(getLoginUser().getUsername())) {
+            voList =  voList.stream().filter(vo ->
+                    !vo.getName().equals("menu.tenant")
+                            && !vo.getName().equals("menu.menu")
+            ).collect(Collectors.toList());
+        }
         return R.ok().add(Utils.toTreeData(voList, 0L, MenuVo::getParentId, MenuVo::getId, MenuVo::setChildren));
     }
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TenantController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TenantController.java
index 458eb6d..f1676da 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TenantController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TenantController.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.vincent.rsf.framework.common.BaseRes;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -67,8 +68,7 @@
     @OperationLog("Init Tenant")
     @PostMapping("/tenant/init")
     public R init(@RequestBody TenantInitParam param) {
-        tenantService.initTenant(param);
-        return R.ok("Initialize Success");
+        return tenantService.initTenant(param) ? R.ok("Initialize Success") : R.parse(BaseRes.PARAM);
     }
 
     @PreAuthorize("hasAuthority('system:tenant:update')")

--
Gitblit v1.9.1