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