From 856f0767b4ada087e9e2cb33f373e23dbcf39b85 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?=
<15040126243@163.com>
Date: Tue, 7 Mar 2023 17:56:59 +0800
Subject: [PATCH] =?UTF-8?q?update=20=E5=90=8C=E6=AD=A5=20ruoyi=20*=20updat?=
=?UTF-8?q?e=20element-ui=202.15.10=20=3D>=202.15.12=20*=20update=20?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=20tagsView=E5=8F=B3=E9=80=89=E6=A1=86?=
=?UTF-8?q?=EF=BC=8C=E9=A6=96=E9=A1=B5=E4=B8=8D=E5=BA=94=E8=AF=A5=E5=AD=98?=
=?UTF-8?q?=E5=9C=A8=E5=85=B3=E9=97=AD=E5=B7=A6=E4=BE=A7=E9=80=89=E9=A1=B9?=
=?UTF-8?q?=20*=20update=20copyright=202023=20*=20update=20=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=20=E7=9B=91=E6=8E=A7=E9=A1=B5=E9=9D=A2=E5=9B=BE?=
=?UTF-8?q?=E6=A0=87=E6=98=BE=E7=A4=BA=20*=20update=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=20=E6=97=A5=E5=BF=97=E6=B3=A8=E8=A7=A3=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E6=8E=92=E9=99=A4=E6=8C=87=E5=AE=9A=E7=9A=84=E8=AF=B7=E6=B1=82?=
=?UTF-8?q?=E5=8F=82=E6=95=B0=20*=20update=20=E4=BC=98=E5=8C=96=20?=
=?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=A0=A1=E9=AA=8C=E4=BC=98=E5=8C=96=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=20*=20fix=20=E4=BF=AE=E5=A4=8D=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8B=E8=BD=BD=E5=87=BA=E7=8E=B0=E7=9A=84?=
=?UTF-8?q?=E5=BC=82=E5=B8=B8=20*=20fix=20=E4=BF=AE=E5=A4=8D=20=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E5=AF=86=E7=A0=81=E6=97=A5=E5=BF=97=E5=AD=98=E5=82=A8?=
=?UTF-8?q?=E6=98=8E=E6=96=87=E9=97=AE=E9=A2=98=20*=20add=20=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E=20=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E6=B6=88?=
=?UTF-8?q?=E8=80=97=E6=97=B6=E9=97=B4=E5=B1=9E=E6=80=A7=20*=20update=20?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=20=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=B4=A2=E5=BC=95=E6=8F=90=E5=8D=87=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2=E6=80=A7=E8=83=BD=20*=20update=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=20=E6=A1=86=E6=9E=B6=E6=97=B6=E9=97=B4=E6=A3=80=E7=B4=A2?=
=?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=97=B6=E9=97=B4=E9=BB=98=E8=AE=A4=E5=80=BC?=
=?UTF-8?q?=2000:00:00=20-=2023:59:59?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ruoyi/web/service/SysRegisterService.java | 3 +-
.../common/core/constant/TenantConstants.java | 6 --
.../common/core/constant/UserConstants.java | 6 --
ruoyi-common/ruoyi-common-log/pom.xml | 5 +
.../com/ruoyi/common/log/annotation/Log.java | 7 ++
.../ruoyi/common/log/aspect/LogAspect.java | 40 +++++--
.../ruoyi/common/log/event/OperLogEvent.java | 4 +
.../main/resources/vm/vue/index-tree.vue.vm | 3 +-
.../src/main/resources/vm/vue/index.vue.vm | 3 +-
.../resources/vm/vue/v3/index-tree.vue.vm | 3 +-
.../src/main/resources/vm/vue/v3/index.vue.vm | 3 +-
.../system/SysConfigController.java | 17 ++-
.../controller/system/SysDeptController.java | 4 +-
.../system/SysDictTypeController.java | 5 +-
.../controller/system/SysMenuController.java | 4 +-
.../controller/system/SysPostController.java | 21 ++--
.../system/SysProfileController.java | 7 +-
.../controller/system/SysRoleController.java | 9 +-
.../system/SysTenantController.java | 7 +-
.../controller/system/SysUserController.java | 23 ++--
.../com/ruoyi/system/domain/SysOperLog.java | 5 +
.../ruoyi/system/domain/bo/SysOperLogBo.java | 7 +-
.../ruoyi/system/domain/vo/SysOperLogVo.java | 9 +-
.../system/service/ISysConfigService.java | 2 +-
.../ruoyi/system/service/ISysDeptService.java | 2 +-
.../system/service/ISysDictTypeService.java | 2 +-
.../ruoyi/system/service/ISysMenuService.java | 2 +-
.../ruoyi/system/service/ISysPostService.java | 4 +-
.../ruoyi/system/service/ISysRoleService.java | 4 +-
.../system/service/ISysTenantService.java | 6 +-
.../ruoyi/system/service/ISysUserService.java | 6 +-
.../service/impl/SysConfigServiceImpl.java | 6 +-
.../service/impl/SysDeptServiceImpl.java | 7 +-
.../service/impl/SysDictTypeServiceImpl.java | 8 +-
.../service/impl/SysMenuServiceImpl.java | 9 +-
.../service/impl/SysOssConfigServiceImpl.java | 9 +-
.../service/impl/SysOssServiceImpl.java | 3 +-
.../service/impl/SysPostServiceImpl.java | 19 ++--
.../service/impl/SysRoleServiceImpl.java | 14 +--
.../service/impl/SysTenantServiceImpl.java | 25 ++---
.../service/impl/SysUserServiceImpl.java | 21 ++--
ruoyi-ui/package.json | 2 +-
.../src/layout/components/TagsView/index.vue | 2 +-
ruoyi-ui/src/permission.js | 10 +-
ruoyi-ui/src/plugins/download.js | 12 +--
ruoyi-ui/src/utils/request.js | 100 +++++++++---------
ruoyi-ui/src/utils/ruoyi.js | 10 +-
ruoyi-ui/src/views/demo/demo/index.vue | 3 +-
ruoyi-ui/src/views/demo/tree/index.vue | 3 +-
ruoyi-ui/src/views/login.vue | 2 +-
ruoyi-ui/src/views/monitor/cache/index.vue | 8 +-
.../src/views/monitor/logininfor/index.vue | 3 +-
ruoyi-ui/src/views/monitor/operlog/index.vue | 24 +++--
ruoyi-ui/src/views/register.vue | 2 +-
ruoyi-ui/src/views/system/config/index.vue | 5 +-
ruoyi-ui/src/views/system/dict/index.vue | 3 +-
ruoyi-ui/src/views/system/oss/index.vue | 3 +-
ruoyi-ui/src/views/system/role/index.vue | 3 +-
ruoyi-ui/src/views/system/user/index.vue | 3 +-
script/sql/oracle/oracle_ry_vue_5.X.sql | 9 +-
script/sql/postgres/postgres_ry_vue_5.X.sql | 12 ++-
script/sql/ry_vue_5.X.sql | 10 +-
script/sql/sqlserver/sqlserver_ry_vue_5.X.sql | 28 ++++-
63 files changed, 324 insertions(+), 283 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysRegisterService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysRegisterService.java
index 3f23c21e1..92e35044d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysRegisterService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysRegisterService.java
@@ -3,7 +3,6 @@ package com.ruoyi.web.service;
import cn.dev33.satoken.secure.BCrypt;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.GlobalConstants;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.domain.model.RegisterBody;
import com.ruoyi.common.core.enums.UserType;
import com.ruoyi.common.core.exception.user.CaptchaException;
@@ -56,7 +55,7 @@ public class SysRegisterService {
sysUser.setPassword(BCrypt.hashpw(password));
sysUser.setUserType(userType);
- if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(sysUser))) {
+ if (!userService.checkUserNameUnique(sysUser)) {
throw new UserException("user.register.save.error", username);
}
boolean regFlag = userService.registerUser(sysUser, tenantId);
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java
index 30a649b40..6411ba41a 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java
@@ -17,12 +17,6 @@ public interface TenantConstants {
*/
String DISABLE = "1";
- /**
- * 校验返回结果码
- */
- String PASS = "0";
- String NOT_PASS = "1";
-
/**
* 超级管理员ID
*/
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/UserConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/UserConstants.java
index 0318cb72a..85396244f 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/UserConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/UserConstants.java
@@ -112,12 +112,6 @@ public interface UserConstants {
*/
String INNER_LINK = "InnerLink";
- /**
- * 校验返回结果码
- */
- String UNIQUE = "0";
- String NOT_UNIQUE = "1";
-
/**
* 用户名长度限制
*/
diff --git a/ruoyi-common/ruoyi-common-log/pom.xml b/ruoyi-common/ruoyi-common-log/pom.xml
index 91bf547b4..be70731c0 100644
--- a/ruoyi-common/ruoyi-common-log/pom.xml
+++ b/ruoyi-common/ruoyi-common-log/pom.xml
@@ -28,6 +28,11 @@
ruoyi-common-json
+
+ com.alibaba
+ transmittable-thread-local
+
+
diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/annotation/Log.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/annotation/Log.java
index fb79861dd..4e5fc5837 100644
--- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/annotation/Log.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/annotation/Log.java
@@ -38,4 +38,11 @@ public @interface Log {
* 是否保存响应的参数
*/
boolean isSaveResponseData() default true;
+
+
+ /**
+ * 排除指定的请求参数
+ */
+ String[] excludeParamNames() default {};
+
}
diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
index d85d15219..4aba4ec8a 100644
--- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
@@ -3,6 +3,7 @@ package com.ruoyi.common.log.aspect;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.ttl.TransmittableThreadLocal;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.core.utils.StringUtils;
@@ -14,10 +15,12 @@ import com.ruoyi.common.satoken.utils.LoginHelper;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.StopWatch;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.http.HttpMethod;
import org.springframework.validation.BindingResult;
@@ -41,6 +44,22 @@ public class LogAspect {
*/
public static final String[] EXCLUDE_PROPERTIES = { "password", "oldPassword", "newPassword", "confirmPassword" };
+
+ /**
+ * 计算操作消耗时间
+ */
+ private static final ThreadLocal TIME_THREADLOCAL = new TransmittableThreadLocal<>();
+
+ /**
+ * 处理请求前执行
+ */
+ @Before(value = "@annotation(controllerLog)")
+ public void boBefore(JoinPoint joinPoint, Log controllerLog) {
+ StopWatch stopWatch = new StopWatch();
+ TIME_THREADLOCAL.set(stopWatch);
+ stopWatch.start();
+ }
+
/**
* 处理完请求后执行
*
@@ -87,12 +106,18 @@ public class LogAspect {
operLog.setRequestMethod(ServletUtils.getRequest().getMethod());
// 处理设置注解上的参数
getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult);
+ // 设置消耗时间
+ StopWatch stopWatch = TIME_THREADLOCAL.get();
+ stopWatch.stop();
+ operLog.setCostTime(stopWatch.getTime());
// 发布事件保存数据库
SpringUtils.context().publishEvent(operLog);
} catch (Exception exp) {
// 记录本地异常日志
log.error("异常信息:{}", exp.getMessage());
exp.printStackTrace();
+ } finally {
+ TIME_THREADLOCAL.remove();
}
}
@@ -113,7 +138,7 @@ public class LogAspect {
// 是否需要保存request,参数和值
if (log.isSaveRequestData()) {
// 获取参数的信息,传入到数据库中。
- setRequestValue(joinPoint, operLog);
+ setRequestValue(joinPoint, operLog, log.excludeParamNames());
}
// 是否需要保存response,参数和值
if (log.isSaveResponseData() && ObjectUtil.isNotNull(jsonResult)) {
@@ -127,14 +152,16 @@ public class LogAspect {
* @param operLog 操作日志
* @throws Exception 异常
*/
- private void setRequestValue(JoinPoint joinPoint, OperLogEvent operLog) throws Exception {
+ private void setRequestValue(JoinPoint joinPoint, OperLogEvent operLog, String[] excludeParamNames) throws Exception {
+ Map paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest());
String requestMethod = operLog.getRequestMethod();
- if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) {
- String params = argsArrayToString(joinPoint.getArgs());
+ if (MapUtil.isEmpty(paramsMap)
+ && HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) {
+ String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames);
operLog.setOperParam(StringUtils.substring(params, 0, 2000));
} else {
- Map paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest());
MapUtil.removeAny(paramsMap, EXCLUDE_PROPERTIES);
+ MapUtil.removeAny(paramsMap, excludeParamNames);
operLog.setOperParam(StringUtils.substring(JsonUtils.toJsonString(paramsMap), 0, 2000));
}
}
@@ -142,7 +169,7 @@ public class LogAspect {
/**
* 参数拼装
*/
- private String argsArrayToString(Object[] paramsArray) {
+ private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames) {
StringBuilder params = new StringBuilder();
if (paramsArray != null && paramsArray.length > 0) {
for (Object o : paramsArray) {
@@ -152,6 +179,7 @@ public class LogAspect {
Dict dict = JsonUtils.parseMap(str);
if (MapUtil.isNotEmpty(dict)) {
MapUtil.removeAny(dict, EXCLUDE_PROPERTIES);
+ MapUtil.removeAny(dict, excludeParamNames);
str = JsonUtils.toJsonString(dict);
}
params.append(str).append(" ");
diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/event/OperLogEvent.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/event/OperLogEvent.java
index ecb4b7c18..683cb412f 100644
--- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/event/OperLogEvent.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/event/OperLogEvent.java
@@ -108,4 +108,8 @@ public class OperLogEvent implements Serializable {
*/
private Date operTime;
+ /**
+ * 消耗时间
+ */
+ private Long costTime;
}
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
index 1dcf0b915..28f65f965 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
@@ -51,11 +51,12 @@
#end
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
index 3e7628e29..644f38948 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -51,11 +51,12 @@
#end
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm
index 31091a3b1..dfc55ae99 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm
@@ -50,11 +50,12 @@
#end
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
index 2a2deb49b..438332c0b 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
@@ -50,11 +50,12 @@
#end
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java
index f9074fad1..b80591181 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysConfigController.java
@@ -1,22 +1,21 @@
package com.ruoyi.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.log.annotation.Log;
-import com.ruoyi.common.core.constant.UserConstants;
-import com.ruoyi.common.web.core.BaseController;
-import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.mybatis.core.page.TableDataInfo;
-import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.mybatis.core.page.PageQuery;
+import com.ruoyi.common.mybatis.core.page.TableDataInfo;
+import com.ruoyi.common.web.core.BaseController;
import com.ruoyi.system.domain.bo.SysConfigBo;
import com.ruoyi.system.domain.vo.SysConfigVo;
import com.ruoyi.system.service.ISysConfigService;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -80,7 +79,7 @@ public class SysConfigController extends BaseController {
@Log(title = "参数管理", businessType = BusinessType.INSERT)
@PostMapping
public R add(@Validated @RequestBody SysConfigBo config) {
- if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config))) {
+ if (!configService.checkConfigKeyUnique(config)) {
return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
configService.insertConfig(config);
@@ -94,7 +93,7 @@ public class SysConfigController extends BaseController {
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping
public R edit(@Validated @RequestBody SysConfigBo config) {
- if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config))) {
+ if (!configService.checkConfigKeyUnique(config)) {
return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
configService.updateConfig(config);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDeptController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDeptController.java
index 90e134cd9..6caf0df78 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDeptController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDeptController.java
@@ -73,7 +73,7 @@ public class SysDeptController extends BaseController {
@Log(title = "部门管理", businessType = BusinessType.INSERT)
@PostMapping
public R add(@Validated @RequestBody SysDeptBo dept) {
- if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) {
+ if (!deptService.checkDeptNameUnique(dept)) {
return R.fail("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
return toAjax(deptService.insertDept(dept));
@@ -88,7 +88,7 @@ public class SysDeptController extends BaseController {
public R edit(@Validated @RequestBody SysDeptBo dept) {
Long deptId = dept.getDeptId();
deptService.checkDeptDataScope(deptId);
- if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) {
+ if (!deptService.checkDeptNameUnique(dept)) {
return R.fail("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
} else if (dept.getParentId().equals(deptId)) {
return R.fail("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDictTypeController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDictTypeController.java
index 11ddb9cbc..60ce4b9db 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDictTypeController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysDictTypeController.java
@@ -1,7 +1,6 @@
package com.ruoyi.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.common.log.annotation.Log;
@@ -70,7 +69,7 @@ public class SysDictTypeController extends BaseController {
@Log(title = "字典类型", businessType = BusinessType.INSERT)
@PostMapping
public R add(@Validated @RequestBody SysDictTypeBo dict) {
- if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) {
+ if (!dictTypeService.checkDictTypeUnique(dict)) {
return R.fail("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dictTypeService.insertDictType(dict);
@@ -84,7 +83,7 @@ public class SysDictTypeController extends BaseController {
@Log(title = "字典类型", businessType = BusinessType.UPDATE)
@PutMapping
public R edit(@Validated @RequestBody SysDictTypeBo dict) {
- if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict))) {
+ if (!dictTypeService.checkDictTypeUnique(dict)) {
return R.fail("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dictTypeService.updateDictType(dict);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java
index 6914d4ec5..8a19b5d0a 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java
@@ -121,7 +121,7 @@ public class SysMenuController extends BaseController {
@Log(title = "菜单管理", businessType = BusinessType.INSERT)
@PostMapping
public R add(@Validated @RequestBody SysMenuBo menu) {
- if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))) {
+ if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
@@ -137,7 +137,7 @@ public class SysMenuController extends BaseController {
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping
public R edit(@Validated @RequestBody SysMenuBo menu) {
- if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))) {
+ if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysPostController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysPostController.java
index b4f20fe29..88027a6d9 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysPostController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysPostController.java
@@ -1,22 +1,21 @@
package com.ruoyi.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.ruoyi.common.log.annotation.Log;
-import com.ruoyi.common.core.constant.UserConstants;
-import com.ruoyi.common.web.core.BaseController;
-import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.mybatis.core.page.TableDataInfo;
-import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.mybatis.core.page.PageQuery;
+import com.ruoyi.common.mybatis.core.page.TableDataInfo;
+import com.ruoyi.common.web.core.BaseController;
import com.ruoyi.system.domain.bo.SysPostBo;
import com.ruoyi.system.domain.vo.SysPostVo;
import com.ruoyi.system.service.ISysPostService;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -70,9 +69,9 @@ public class SysPostController extends BaseController {
@Log(title = "岗位管理", businessType = BusinessType.INSERT)
@PostMapping
public R add(@Validated @RequestBody SysPostBo post) {
- if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post))) {
+ if (!postService.checkPostNameUnique(post)) {
return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
- } else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post))) {
+ } else if (!postService.checkPostCodeUnique(post)) {
return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在");
}
return toAjax(postService.insertPost(post));
@@ -85,9 +84,9 @@ public class SysPostController extends BaseController {
@Log(title = "岗位管理", businessType = BusinessType.UPDATE)
@PutMapping
public R edit(@Validated @RequestBody SysPostBo post) {
- if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post))) {
+ if (!postService.checkPostNameUnique(post)) {
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
- } else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post))) {
+ } else if (!postService.checkPostCodeUnique(post)) {
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
}
return toAjax(postService.updatePost(post));
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java
index 521647dae..28b21c9ca 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java
@@ -3,7 +3,6 @@ package com.ruoyi.system.controller.system;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.io.FileUtil;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.file.MimeTypeUtils;
@@ -61,12 +60,10 @@ public class SysProfileController extends BaseController {
@PutMapping
public R updateProfile(@RequestBody SysUserProfileBo profile) {
SysUserBo user = BeanUtil.toBean(profile, SysUserBo.class);
- if (StringUtils.isNotEmpty(user.getPhonenumber())
- && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
+ if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
}
- if (StringUtils.isNotEmpty(user.getEmail())
- && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
+ if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setUserId(LoginHelper.getUserId());
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java
index 1d90bb02a..96400f6fd 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java
@@ -5,7 +5,6 @@ import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.collection.CollUtil;
import com.ruoyi.common.core.constant.GlobalConstants;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.excel.utils.ExcelUtil;
@@ -88,9 +87,9 @@ public class SysRoleController extends BaseController {
@Log(title = "角色管理", businessType = BusinessType.INSERT)
@PostMapping
public R add(@Validated @RequestBody SysRoleBo role) {
- if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) {
+ if (!roleService.checkRoleNameUnique(role)) {
return R.fail("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
- } else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) {
+ } else if (!roleService.checkRoleKeyUnique(role)) {
return R.fail("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
return toAjax(roleService.insertRole(role));
@@ -106,9 +105,9 @@ public class SysRoleController extends BaseController {
public R edit(@Validated @RequestBody SysRoleBo role) {
roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId());
- if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) {
+ if (!roleService.checkRoleNameUnique(role)) {
return R.fail("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
- } else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) {
+ } else if (!roleService.checkRoleKeyUnique(role)) {
return R.fail("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java
index 2d9d7cd22..9cd6b8131 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java
@@ -4,7 +4,6 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole;
import com.baomidou.lock.annotation.Lock4j;
import com.ruoyi.common.core.constant.TenantConstants;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.validate.AddGroup;
@@ -91,13 +90,13 @@ public class SysTenantController extends BaseController {
@RepeatSubmit()
@PostMapping()
public R add(@Validated(AddGroup.class) @RequestBody SysTenantBo bo) {
- if (TenantConstants.NOT_PASS.equals(sysTenantService.checkCompanyNameUnique(bo))) {
+ if (!sysTenantService.checkCompanyNameUnique(bo)) {
throw new ServiceException("新增租户'" + bo.getCompanyName() + "'失败,企业名称已存在");
}
SysUserBo userBo = new SysUserBo();
userBo.setUserName(bo.getUsername());
// 判断用户名是否重复
- if (UserConstants.NOT_UNIQUE.equals(sysUserService.checkUserNameUnique(userBo))) {
+ if (!sysUserService.checkUserNameUnique(userBo)) {
throw new ServiceException("新增用户'" + bo.getUsername() + "'失败,登录账号已存在");
}
return toAjax(sysTenantService.insertByBo(bo));
@@ -112,7 +111,7 @@ public class SysTenantController extends BaseController {
@RepeatSubmit()
@PutMapping()
public R edit(@Validated(EditGroup.class) @RequestBody SysTenantBo bo) {
- if (UserConstants.NOT_UNIQUE.equals(sysTenantService.checkCompanyNameUnique(bo))) {
+ if (!sysTenantService.checkCompanyNameUnique(bo)) {
throw new ServiceException("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在");
}
return toAjax(sysTenantService.updateByBo(bo));
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java
index 470bd7cdc..ed4d5efdc 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java
@@ -5,8 +5,6 @@ import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
-import com.ruoyi.common.core.constant.TenantConstants;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.MapstructUtils;
import com.ruoyi.common.core.utils.StreamUtils;
@@ -17,8 +15,8 @@ import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
-import com.ruoyi.common.tenant.helper.TenantHelper;
import com.ruoyi.common.satoken.utils.LoginHelper;
+import com.ruoyi.common.tenant.helper.TenantHelper;
import com.ruoyi.common.web.core.BaseController;
import com.ruoyi.system.domain.bo.SysDeptBo;
import com.ruoyi.system.domain.bo.SysUserBo;
@@ -124,18 +122,15 @@ public class SysUserController extends BaseController {
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public R add(@Validated @RequestBody SysUserBo user) {
- if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
+ if (!userService.checkUserNameUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
- } else if (StringUtils.isNotEmpty(user.getPhonenumber())
- && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
+ } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
- } else if (StringUtils.isNotEmpty(user.getEmail())
- && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
+ } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
if (TenantHelper.isEnable()) {
- String status = tenantService.checkAccountBalance(LoginHelper.getTenantId());
- if (TenantConstants.NOT_PASS.equals(status)) {
+ if (!tenantService.checkAccountBalance(LoginHelper.getTenantId())) {
return R.fail("当前租户下用户名额不足,请联系管理员");
}
}
@@ -152,13 +147,11 @@ public class SysUserController extends BaseController {
public R edit(@Validated @RequestBody SysUserBo user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
- if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
+ if (!userService.checkUserNameUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
- } else if (StringUtils.isNotEmpty(user.getPhonenumber())
- && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
+ } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
- } else if (StringUtils.isNotEmpty(user.getEmail())
- && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
+ } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
return toAjax(userService.updateUser(user));
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java
index 9cb3588ef..4544a4d71 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java
@@ -107,4 +107,9 @@ public class SysOperLog implements Serializable {
*/
private Date operTime;
+ /**
+ * 消耗时间
+ */
+ private Long costTime;
+
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOperLogBo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOperLogBo.java
index bda68dce1..4ebdb86cf 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOperLogBo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOperLogBo.java
@@ -1,6 +1,5 @@
package com.ruoyi.system.domain.bo;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.log.event.OperLogEvent;
import com.ruoyi.system.domain.SysOperLog;
import io.github.linpeilie.annotations.AutoMapper;
@@ -115,10 +114,14 @@ public class SysOperLogBo {
*/
private Date operTime;
+ /**
+ * 消耗时间
+ */
+ private Long costTime;
+
/**
* 请求参数
*/
- @TableField(exist = false)
private Map params = new HashMap<>();
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOperLogVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOperLogVo.java
index debd9d4a9..3c67c7357 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOperLogVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOperLogVo.java
@@ -1,7 +1,5 @@
package com.ruoyi.system.domain.vo;
-import java.util.Date;
-
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
@@ -12,6 +10,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
+import java.util.Date;
/**
@@ -137,5 +136,9 @@ public class SysOperLogVo implements Serializable {
@ExcelProperty(value = "操作时间")
private Date operTime;
-
+ /**
+ * 消耗时间
+ */
+ @ExcelProperty(value = "消耗时间")
+ private Long costTime;
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
index af2ba2a4c..46dcbc47c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
@@ -82,6 +82,6 @@ public interface ISysConfigService {
* @param config 参数信息
* @return 结果
*/
- String checkConfigKeyUnique(SysConfigBo config);
+ boolean checkConfigKeyUnique(SysConfigBo config);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
index 7c05af229..e82e44311 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -83,7 +83,7 @@ public interface ISysDeptService {
* @param dept 部门信息
* @return 结果
*/
- String checkDeptNameUnique(SysDeptBo dept);
+ boolean checkDeptNameUnique(SysDeptBo dept);
/**
* 校验部门是否有数据权限
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
index e51c33e85..ad8d30da6 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
@@ -91,5 +91,5 @@ public interface ISysDictTypeService {
* @param dictType 字典类型
* @return 结果
*/
- String checkDictTypeUnique(SysDictTypeBo dictType);
+ boolean checkDictTypeUnique(SysDictTypeBo dictType);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
index 4ca909ce9..cfe94baba 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
@@ -143,5 +143,5 @@ public interface ISysMenuService {
* @param menu 菜单信息
* @return 结果
*/
- String checkMenuNameUnique(SysMenuBo menu);
+ boolean checkMenuNameUnique(SysMenuBo menu);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
index e7e89559e..51104662a 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
@@ -54,7 +54,7 @@ public interface ISysPostService {
* @param post 岗位信息
* @return 结果
*/
- String checkPostNameUnique(SysPostBo post);
+ boolean checkPostNameUnique(SysPostBo post);
/**
* 校验岗位编码
@@ -62,7 +62,7 @@ public interface ISysPostService {
* @param post 岗位信息
* @return 结果
*/
- String checkPostCodeUnique(SysPostBo post);
+ boolean checkPostCodeUnique(SysPostBo post);
/**
* 通过岗位ID查询岗位使用数量
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
index 77f60037d..2e6dcfe2b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
@@ -72,7 +72,7 @@ public interface ISysRoleService {
* @param role 角色信息
* @return 结果
*/
- String checkRoleNameUnique(SysRoleBo role);
+ boolean checkRoleNameUnique(SysRoleBo role);
/**
* 校验角色权限是否唯一
@@ -80,7 +80,7 @@ public interface ISysRoleService {
* @param role 角色信息
* @return 结果
*/
- String checkRoleKeyUnique(SysRoleBo role);
+ boolean checkRoleKeyUnique(SysRoleBo role);
/**
* 校验角色是否允许操作
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java
index 1885bc8df..c501d6d1c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java
@@ -58,17 +58,17 @@ public interface ISysTenantService {
/**
* 校验企业名称是否唯一
*/
- String checkCompanyNameUnique(SysTenantBo bo);
+ boolean checkCompanyNameUnique(SysTenantBo bo);
/**
* 校验账号余额
*/
- String checkAccountBalance(String tenantId);
+ boolean checkAccountBalance(String tenantId);
/**
* 校验有效期
*/
- String checkExpireTime(String tenantId);
+ boolean checkExpireTime(String tenantId);
/**
* 同步租户套餐
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index b4b448940..e1c4c2219 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -87,7 +87,7 @@ public interface ISysUserService {
* @param user 用户信息
* @return 结果
*/
- String checkUserNameUnique(SysUserBo user);
+ boolean checkUserNameUnique(SysUserBo user);
/**
* 校验手机号码是否唯一
@@ -95,7 +95,7 @@ public interface ISysUserService {
* @param user 用户信息
* @return 结果
*/
- String checkPhoneUnique(SysUserBo user);
+ boolean checkPhoneUnique(SysUserBo user);
/**
* 校验email是否唯一
@@ -103,7 +103,7 @@ public interface ISysUserService {
* @param user 用户信息
* @return 结果
*/
- String checkEmailUnique(SysUserBo user);
+ boolean checkEmailUnique(SysUserBo user);
/**
* 校验用户是否允许操作
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index e935ba250..0ae33b3d8 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -190,13 +190,13 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
* @return 结果
*/
@Override
- public String checkConfigKeyUnique(SysConfigBo config) {
+ public boolean checkConfigKeyUnique(SysConfigBo config) {
long configId = ObjectUtil.isNull(config.getConfigId()) ? -1L : config.getConfigId();
SysConfig info = baseMapper.selectOne(new LambdaQueryWrapper().eq(SysConfig::getConfigKey, config.getConfigKey()));
if (ObjectUtil.isNotNull(info) && info.getConfigId() != configId) {
- return UserConstants.NOT_UNIQUE;
+ return false;
}
- return UserConstants.UNIQUE;
+ return true;
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index 4feff892e..04ff3f5f3 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -197,15 +197,12 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
* @return 结果
*/
@Override
- public String checkDeptNameUnique(SysDeptBo dept) {
+ public boolean checkDeptNameUnique(SysDeptBo dept) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysDept::getDeptName, dept.getDeptName())
.eq(SysDept::getParentId, dept.getParentId())
.ne(ObjectUtil.isNotNull(dept.getDeptId()), SysDept::getDeptId, dept.getDeptId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
index fa960e1b7..c0f68c3bb 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
@@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.constant.CacheNames;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.service.DictService;
import com.ruoyi.common.core.utils.MapstructUtils;
@@ -203,14 +202,11 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService, DictService
* @return 结果
*/
@Override
- public String checkDictTypeUnique(SysDictTypeBo dictType) {
+ public boolean checkDictTypeUnique(SysDictTypeBo dictType) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysDictType::getDictType, dictType.getDictType())
.ne(ObjectUtil.isNotNull(dictType.getDictId()), SysDictType::getDictId, dictType.getDictId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index 5a438a122..8ac63f8bf 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -194,7 +194,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
router.setQuery(menu.getQueryParam());
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
List cMenus = menu.getChildren();
- if (!cMenus.isEmpty() && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
+ if (CollUtil.isNotEmpty(cMenus) && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
router.setAlwaysShow(true);
router.setRedirect("noRedirect");
router.setChildren(buildMenus(cMenus));
@@ -320,15 +320,12 @@ public class SysMenuServiceImpl implements ISysMenuService {
* @return 结果
*/
@Override
- public String checkMenuNameUnique(SysMenuBo menu) {
+ public boolean checkMenuNameUnique(SysMenuBo menu) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysMenu::getMenuName, menu.getMenuName())
.eq(SysMenu::getParentId, menu.getParentId())
.ne(ObjectUtil.isNotNull(menu.getMenuId()), SysMenu::getMenuId, menu.getMenuId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
index f5b50ae6e..7031f7196 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java
@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.constant.CacheNames;
-import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.MapstructUtils;
import com.ruoyi.common.core.utils.StreamUtils;
@@ -126,7 +125,7 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
*/
private void validEntityBeforeSave(SysOssConfig entity) {
if (StringUtils.isNotEmpty(entity.getConfigKey())
- && UserConstants.NOT_UNIQUE.equals(checkConfigKeyUnique(entity))) {
+ && !checkConfigKeyUnique(entity)) {
throw new ServiceException("操作配置'" + entity.getConfigKey() + "'失败, 配置key已存在!");
}
}
@@ -154,15 +153,15 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
/**
* 判断configKey是否唯一
*/
- private String checkConfigKeyUnique(SysOssConfig sysOssConfig) {
+ private boolean checkConfigKeyUnique(SysOssConfig sysOssConfig) {
long ossConfigId = ObjectUtil.isNull(sysOssConfig.getOssConfigId()) ? -1L : sysOssConfig.getOssConfigId();
SysOssConfig info = baseMapper.selectOne(new LambdaQueryWrapper()
.select(SysOssConfig::getOssConfigId, SysOssConfig::getConfigKey)
.eq(SysOssConfig::getConfigKey, sysOssConfig.getConfigKey()));
if (ObjectUtil.isNotNull(info) && info.getOssConfigId() != ossConfigId) {
- return UserConstants.NOT_UNIQUE;
+ return false;
}
- return UserConstants.UNIQUE;
+ return true;
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
index 583262903..32dc9fd0d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -137,8 +137,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
oss.setOriginalName(originalfileName);
oss.setService(storage.getConfigKey());
baseMapper.insert(oss);
- SysOssVo sysOssVo = new SysOssVo();
- MapstructUtils.convert(oss, sysOssVo);
+ SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class);
return this.matchingUrl(sysOssVo);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
index 043aa623e..81e6dada9 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
@@ -5,12 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.constant.UserConstants;
+import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.MapstructUtils;
+import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
-import com.ruoyi.common.core.exception.ServiceException;
-import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.bo.SysPostBo;
@@ -103,14 +102,11 @@ public class SysPostServiceImpl implements ISysPostService {
* @return 结果
*/
@Override
- public String checkPostNameUnique(SysPostBo post) {
+ public boolean checkPostNameUnique(SysPostBo post) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysPost::getPostName, post.getPostName())
.ne(ObjectUtil.isNotNull(post.getPostId()), SysPost::getPostId, post.getPostId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
@@ -120,14 +116,11 @@ public class SysPostServiceImpl implements ISysPostService {
* @return 结果
*/
@Override
- public String checkPostCodeUnique(SysPostBo post) {
+ public boolean checkPostCodeUnique(SysPostBo post) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysPost::getPostCode, post.getPostCode())
.ne(ObjectUtil.isNotNull(post.getPostId()), SysPost::getPostId, post.getPostId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index 94d3cf677..2140a7734 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -155,14 +155,11 @@ public class SysRoleServiceImpl implements ISysRoleService {
* @return 结果
*/
@Override
- public String checkRoleNameUnique(SysRoleBo role) {
+ public boolean checkRoleNameUnique(SysRoleBo role) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysRole::getRoleName, role.getRoleName())
.ne(ObjectUtil.isNotNull(role.getRoleId()), SysRole::getRoleId, role.getRoleId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
@@ -172,14 +169,11 @@ public class SysRoleServiceImpl implements ISysRoleService {
* @return 结果
*/
@Override
- public String checkRoleKeyUnique(SysRoleBo role) {
+ public boolean checkRoleKeyUnique(SysRoleBo role) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysRole::getRoleKey, role.getRoleKey())
.ne(ObjectUtil.isNotNull(role.getRoleId()), SysRole::getRoleId, role.getRoleId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java
index 02665addc..872111180 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java
@@ -290,49 +290,40 @@ public class SysTenantServiceImpl implements ISysTenantService {
* 校验企业名称是否唯一
*/
@Override
- public String checkCompanyNameUnique(SysTenantBo bo) {
+ public boolean checkCompanyNameUnique(SysTenantBo bo) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysTenant::getCompanyName, bo.getCompanyName())
.ne(ObjectUtil.isNotNull(bo.getTenantId()), SysTenant::getTenantId, bo.getTenantId()));
- if (exist) {
- return TenantConstants.NOT_PASS;
- }
- return TenantConstants.PASS;
+ return !exist;
}
/**
* 校验账号余额
*/
@Override
- public String checkAccountBalance(String tenantId) {
+ public boolean checkAccountBalance(String tenantId) {
SysTenantVo tenant = SpringUtils.getAopProxy(this).queryByTenantId(tenantId);
// 如果余额为-1代表不限制
if (tenant.getAccountCount() == -1) {
- return TenantConstants.PASS;
+ return true;
}
Long userNumber = sysUserMapper.selectCount(new LambdaQueryWrapper<>());
// 如果余额大于0代表还有可用名额
- if (tenant.getAccountCount() - userNumber > 0) {
- return TenantConstants.PASS;
- }
- return TenantConstants.NOT_PASS;
+ return tenant.getAccountCount() - userNumber > 0;
}
/**
* 校验有效期
*/
@Override
- public String checkExpireTime(String tenantId) {
+ public boolean checkExpireTime(String tenantId) {
SysTenantVo tenant = SpringUtils.getAopProxy(this).queryByTenantId(tenantId);
// 如果未设置过期时间代表不限制
if (ObjectUtil.isNull(tenant.getExpireTime())) {
- return TenantConstants.PASS;
+ return true;
}
// 如果当前时间在过期时间之前则通过
- if (new Date().before(tenant.getExpireTime())) {
- return TenantConstants.PASS;
- }
- return TenantConstants.NOT_PASS;
+ return new Date().before(tenant.getExpireTime());
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index a8e6418c5..598ce4778 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -201,14 +201,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
* @return 结果
*/
@Override
- public String checkUserNameUnique(SysUserBo user) {
+ public boolean checkUserNameUnique(SysUserBo user) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysUser::getUserName, user.getUserName())
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
@@ -217,14 +214,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
* @param user 用户信息
*/
@Override
- public String checkPhoneUnique(SysUserBo user) {
+ public boolean checkPhoneUnique(SysUserBo user) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysUser::getPhonenumber, user.getPhonenumber())
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
@@ -233,14 +227,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
* @param user 用户信息
*/
@Override
- public String checkEmailUnique(SysUserBo user) {
+ public boolean checkEmailUnique(SysUserBo user) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper()
.eq(SysUser::getEmail, user.getEmail())
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
- if (exist) {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
+ return !exist;
}
/**
diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index f76f27abc..8738f234a 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -40,7 +40,7 @@
"clipboard": "2.0.8",
"core-js": "3.25.3",
"echarts": "5.4.0",
- "element-ui": "2.15.10",
+ "element-ui": "2.15.12",
"file-saver": "2.0.5",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
diff --git a/ruoyi-ui/src/layout/components/TagsView/index.vue b/ruoyi-ui/src/layout/components/TagsView/index.vue
index cc980717e..3c0644e1c 100644
--- a/ruoyi-ui/src/layout/components/TagsView/index.vue
+++ b/ruoyi-ui/src/layout/components/TagsView/index.vue
@@ -87,7 +87,7 @@ export default {
},
isFirstView() {
try {
- return this.selectedTag.fullPath === this.visitedViews[1].fullPath || this.selectedTag.fullPath === '/index'
+ return this.selectedTag.fullPath === '/index' || this.selectedTag.fullPath === this.visitedViews[1].fullPath
} catch (err) {
return false
}
diff --git a/ruoyi-ui/src/permission.js b/ruoyi-ui/src/permission.js
index 6bb0a1f83..47b855d90 100644
--- a/ruoyi-ui/src/permission.js
+++ b/ruoyi-ui/src/permission.js
@@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
-const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
+const whiteList = ['/login', '/register']
router.beforeEach((to, from, next) => {
NProgress.start()
@@ -30,11 +30,11 @@ router.beforeEach((to, from, next) => {
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
})
}).catch(err => {
- store.dispatch('LogOut').then(() => {
- Message.error(err)
- next({ path: '/' })
- })
+ store.dispatch('LogOut').then(() => {
+ Message.error(err)
+ next({ path: '/' })
})
+ })
} else {
next()
}
diff --git a/ruoyi-ui/src/plugins/download.js b/ruoyi-ui/src/plugins/download.js
index a1b21dad9..b27702f18 100644
--- a/ruoyi-ui/src/plugins/download.js
+++ b/ruoyi-ui/src/plugins/download.js
@@ -17,9 +17,9 @@ export default {
url: url,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
- }).then(async (res) => {
- const isLogin = await blobValidate(res.data);
- if (isLogin) {
+ }).then((res) => {
+ const isBlob = blobValidate(res.data);
+ if (isBlob) {
const blob = new Blob([res.data], { type: 'application/octet-stream' })
this.saveAs(blob, decodeURIComponent(res.headers['download-filename']))
} else {
@@ -42,9 +42,9 @@ export default {
'Authorization': 'Bearer ' + getToken(),
'datasource': localStorage.getItem("dataName")
}
- }).then(async (res) => {
- const isLogin = await blobValidate(res.data);
- if (isLogin) {
+ }).then((res) => {
+ const isBlob = blobValidate(res.data);
+ if (isBlob) {
const blob = new Blob([res.data], { type: 'application/zip' })
this.saveAs(blob, name)
} else {
diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js
index f94fa0e5e..25243db98 100644
--- a/ruoyi-ui/src/utils/request.js
+++ b/ruoyi-ui/src/utils/request.js
@@ -63,59 +63,59 @@ service.interceptors.request.use(config => {
}
return config
}, error => {
- console.log(error)
- Promise.reject(error)
+ console.log(error)
+ Promise.reject(error)
})
// 响应拦截器
service.interceptors.response.use(res => {
- // 未设置状态码则默认成功状态
- const code = res.data.code || 200;
- // 获取错误信息
- const msg = errorCode[code] || res.data.msg || errorCode['default']
- // 二进制数据则直接返回
- if(res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer'){
- return res.data
+ // 未设置状态码则默认成功状态
+ const code = res.data.code || 200;
+ // 获取错误信息
+ const msg = errorCode[code] || res.data.msg || errorCode['default']
+ // 二进制数据则直接返回
+ if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
+ return res.data
+ }
+ if (code === 401) {
+ if (!isRelogin.show) {
+ isRelogin.show = true;
+ MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
+ isRelogin.show = false;
+ store.dispatch('LogOut').then(() => {
+ location.href = process.env.VUE_APP_CONTEXT_PATH + "index";
+ })
+ }).catch(() => {
+ isRelogin.show = false;
+ });
+ }
+ return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
+ } else if (code === 500) {
+ Message({ message: msg, type: 'error' })
+ return Promise.reject(new Error(msg))
+ } else if (code === 601) {
+ Message({ message: msg, type: 'warning' })
+ return Promise.reject('error')
+ } else if (code !== 200) {
+ Notification.error({ title: msg })
+ return Promise.reject('error')
+ } else {
+ return res.data
+ }
+ },
+ error => {
+ console.log('err' + error)
+ let { message } = error;
+ if (message == "Network Error") {
+ message = "后端接口连接异常";
+ } else if (message.includes("timeout")) {
+ message = "系统接口请求超时";
+ } else if (message.includes("Request failed with status code")) {
+ message = "系统接口" + message.substr(message.length - 3) + "异常";
+ }
+ Message({ message: message, type: 'error', duration: 5 * 1000 })
+ return Promise.reject(error)
}
- if (code === 401) {
- if (!isRelogin.show) {
- isRelogin.show = true;
- MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
- isRelogin.show = false;
- store.dispatch('LogOut').then(() => {
- location.href = process.env.VUE_APP_CONTEXT_PATH + "index";
- })
- }).catch(() => {
- isRelogin.show = false;
- });
- }
- return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
- } else if (code === 500) {
- Message({ message: msg, type: 'error' })
- return Promise.reject(new Error(msg))
- } else if (code === 601) {
- Message({ message: msg, type: 'warning' })
- return Promise.reject('error')
- } else if (code !== 200) {
- Notification.error({ title: msg })
- return Promise.reject('error')
- } else {
- return res.data
- }
- },
- error => {
- console.log('err' + error)
- let { message } = error;
- if (message == "Network Error") {
- message = "后端接口连接异常";
- } else if (message.includes("timeout")) {
- message = "系统接口请求超时";
- } else if (message.includes("Request failed with status code")) {
- message = "系统接口" + message.substr(message.length - 3) + "异常";
- }
- Message({ message: message, type: 'error', duration: 5 * 1000 })
- return Promise.reject(error)
- }
)
// 通用下载方法
@@ -127,8 +127,8 @@ export function download(url, params, filename, config) {
responseType: 'blob',
...config
}).then(async (data) => {
- const isLogin = await blobValidate(data);
- if (isLogin) {
+ const isBlob = blobValidate(data);
+ if (isBlob) {
const blob = new Blob([data])
saveAs(blob, filename)
} else {
diff --git a/ruoyi-ui/src/utils/ruoyi.js b/ruoyi-ui/src/utils/ruoyi.js
index 243c4c7b1..44bf9c403 100644
--- a/ruoyi-ui/src/utils/ruoyi.js
+++ b/ruoyi-ui/src/utils/ruoyi.js
@@ -228,12 +228,6 @@ export function tansParams(params) {
}
// 验证是否为blob格式
-export async function blobValidate(data) {
- try {
- const text = await data.text();
- JSON.parse(text);
- return false;
- } catch (error) {
- return true;
- }
+export function blobValidate(data) {
+ return data.type !== 'application/json'
}
diff --git a/ruoyi-ui/src/views/demo/demo/index.vue b/ruoyi-ui/src/views/demo/demo/index.vue
index c49ce43bb..0cd544ad0 100644
--- a/ruoyi-ui/src/views/demo/demo/index.vue
+++ b/ruoyi-ui/src/views/demo/demo/index.vue
@@ -24,11 +24,12 @@
v-model="daterangeCreateTime"
size="small"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
+ :default-time="['00:00:00', '23:59:59']"
>
diff --git a/ruoyi-ui/src/views/demo/tree/index.vue b/ruoyi-ui/src/views/demo/tree/index.vue
index 6cfa7f243..d66c6f96e 100644
--- a/ruoyi-ui/src/views/demo/tree/index.vue
+++ b/ruoyi-ui/src/views/demo/tree/index.vue
@@ -15,11 +15,12 @@
v-model="daterangeCreateTime"
size="small"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
+ :default-time="['00:00:00', '23:59:59']"
>
diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue
index b4e313123..290e77ac4 100644
--- a/ruoyi-ui/src/views/login.vue
+++ b/ruoyi-ui/src/views/login.vue
@@ -67,7 +67,7 @@
diff --git a/ruoyi-ui/src/views/monitor/cache/index.vue b/ruoyi-ui/src/views/monitor/cache/index.vue
index 53f6eee51..e81da2e8f 100644
--- a/ruoyi-ui/src/views/monitor/cache/index.vue
+++ b/ruoyi-ui/src/views/monitor/cache/index.vue
@@ -3,7 +3,7 @@
- 基本信息
+ 基本信息
@@ -45,7 +45,7 @@
- 命令统计
+ 命令统计
@@ -54,9 +54,7 @@
-
- 内存信息
-
+ 内存信息
diff --git a/ruoyi-ui/src/views/monitor/logininfor/index.vue b/ruoyi-ui/src/views/monitor/logininfor/index.vue
index 8a9b17abf..8fe2e8e44 100644
--- a/ruoyi-ui/src/views/monitor/logininfor/index.vue
+++ b/ruoyi-ui/src/views/monitor/logininfor/index.vue
@@ -38,11 +38,12 @@
diff --git a/ruoyi-ui/src/views/monitor/operlog/index.vue b/ruoyi-ui/src/views/monitor/operlog/index.vue
index c1b537789..34a3ce34b 100644
--- a/ruoyi-ui/src/views/monitor/operlog/index.vue
+++ b/ruoyi-ui/src/views/monitor/operlog/index.vue
@@ -53,11 +53,12 @@
@@ -102,16 +103,15 @@
-
+
-
+
-
-
+
@@ -119,11 +119,16 @@
-
+
{{ parseTime(scope.row.operTime) }}
+
+
+ {{ scope.row.costTime }}毫秒
+
+
{{ form.jsonResult }}
-
+
正常
失败
-
+
+ {{ form.costTime }}毫秒
+
+
{{ parseTime(form.operTime) }}
diff --git a/ruoyi-ui/src/views/register.vue b/ruoyi-ui/src/views/register.vue
index e8d9f0f7a..478c1642e 100644
--- a/ruoyi-ui/src/views/register.vue
+++ b/ruoyi-ui/src/views/register.vue
@@ -71,7 +71,7 @@
diff --git a/ruoyi-ui/src/views/system/config/index.vue b/ruoyi-ui/src/views/system/config/index.vue
index 30597e314..da3ac3b22 100644
--- a/ruoyi-ui/src/views/system/config/index.vue
+++ b/ruoyi-ui/src/views/system/config/index.vue
@@ -33,11 +33,12 @@
@@ -107,7 +108,7 @@
-
+
diff --git a/ruoyi-ui/src/views/system/dict/index.vue b/ruoyi-ui/src/views/system/dict/index.vue
index 039ad3730..0cf5c2b0f 100644
--- a/ruoyi-ui/src/views/system/dict/index.vue
+++ b/ruoyi-ui/src/views/system/dict/index.vue
@@ -38,11 +38,12 @@
diff --git a/ruoyi-ui/src/views/system/oss/index.vue b/ruoyi-ui/src/views/system/oss/index.vue
index ae6e4d872..e190081b8 100644
--- a/ruoyi-ui/src/views/system/oss/index.vue
+++ b/ruoyi-ui/src/views/system/oss/index.vue
@@ -33,11 +33,12 @@
v-model="daterangeCreateTime"
size="small"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
+ :default-time="['00:00:00', '23:59:59']"
>
diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue
index 319a44946..b29a72dce 100644
--- a/ruoyi-ui/src/views/system/role/index.vue
+++ b/ruoyi-ui/src/views/system/role/index.vue
@@ -38,11 +38,12 @@
diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue
index 0fcb4d93e..5ed7427e6 100644
--- a/ruoyi-ui/src/views/system/user/index.vue
+++ b/ruoyi-ui/src/views/system/user/index.vue
@@ -67,11 +67,12 @@
diff --git a/script/sql/oracle/oracle_ry_vue_5.X.sql b/script/sql/oracle/oracle_ry_vue_5.X.sql
index 63b38ef96..067122a34 100644
--- a/script/sql/oracle/oracle_ry_vue_5.X.sql
+++ b/script/sql/oracle/oracle_ry_vue_5.X.sql
@@ -649,10 +649,14 @@ create table sys_oper_log (
json_result varchar2(2100) default '',
status number(1) default 0,
error_msg varchar2(2100) default '',
- oper_time date
+ oper_time date,
+ cost_time number(20) default 0
);
alter table sys_oper_log add constraint pk_sys_oper_log primary key (oper_id);
+create unique index idx_sys_oper_log_bt on sys_oper_log (business_type);
+create unique index idx_sys_oper_log_s on sys_oper_log (status);
+create unique index idx_sys_oper_log_ot on sys_oper_log (oper_time);
comment on table sys_oper_log is '操作日志记录';
comment on column sys_oper_log.oper_id is '日志主键';
@@ -672,6 +676,7 @@ comment on column sys_oper_log.json_result is '返回参数';
comment on column sys_oper_log.status is '操作状态(0正常 1异常)';
comment on column sys_oper_log.error_msg is '错误消息';
comment on column sys_oper_log.oper_time is '操作时间';
+comment on column sys_oper_log.cost_time is '消耗时间';
-- ----------------------------
@@ -843,6 +848,8 @@ create table sys_logininfor (
);
alter table sys_logininfor add constraint pk_sys_logininfor primary key (info_id);
+create unique index idx_sys_logininfor_s on sys_logininfor (status);
+create unique index idx_sys_logininfor_lt on sys_logininfor (login_time);
comment on table sys_logininfor is '系统访问记录';
comment on column sys_logininfor.info_id is '访问ID';
diff --git a/script/sql/postgres/postgres_ry_vue_5.X.sql b/script/sql/postgres/postgres_ry_vue_5.X.sql
index 4ad90df64..65857bf8a 100644
--- a/script/sql/postgres/postgres_ry_vue_5.X.sql
+++ b/script/sql/postgres/postgres_ry_vue_5.X.sql
@@ -667,9 +667,14 @@ create table if not exists sys_oper_log
status int4 default 0,
error_msg varchar(2000) default ''::varchar,
oper_time timestamp,
+ cost_time int8 default 0,
constraint sys_oper_log_pk primary key (oper_id)
);
+create unique index idx_sys_oper_log_bt ON sys_oper_log (business_type);
+create unique index idx_sys_oper_log_s ON sys_oper_log (status);
+create unique index idx_sys_oper_log_ot ON sys_oper_log (oper_time);
+
comment on table sys_oper_log is '操作日志记录';
comment on column sys_oper_log.oper_id is '日志主键';
comment on column sys_oper_log.tenant_id is '租户编号';
@@ -688,6 +693,7 @@ comment on column sys_oper_log.json_result is '返回参数';
comment on column sys_oper_log.status is '操作状态(0正常 1异常)';
comment on column sys_oper_log.error_msg is '错误消息';
comment on column sys_oper_log.oper_time is '操作时间';
+comment on column sys_oper_log.cost_time is '消耗时间';
-- ----------------------------
-- 11、字典类型表
@@ -709,7 +715,7 @@ create table if not exists sys_dict_type
constraint sys_dict_type_pk primary key (dict_id)
);
-CREATE UNIQUE INDEX sys_dict_type_index1 ON sys_dict_type (tenant_id, dict_type);
+create unique index sys_dict_type_index1 ON sys_dict_type (tenant_id, dict_type);
comment on table sys_dict_type is '字典类型表';
comment on column sys_dict_type.dict_id is '字典主键';
@@ -865,6 +871,9 @@ create table if not exists sys_logininfor
constraint sys_logininfor_pk primary key (info_id)
);
+create unique index idx_sys_logininfor_s ON sys_logininfor (status);
+create unique index idx_sys_logininfor_lt ON sys_logininfor (login_time);
+
comment on table sys_logininfor is '系统访问记录';
comment on column sys_logininfor.info_id is '访问ID';
comment on column sys_logininfor.tenant_id is '租户编号';
@@ -940,6 +949,7 @@ create table if not exists gen_table
gen_type char default '0'::bpchar not null,
gen_path varchar(200) default '/'::varchar,
options varchar(1000) default null::varchar,
+ create_dept int8,
create_by int8,
create_time timestamp,
update_by int8,
diff --git a/script/sql/ry_vue_5.X.sql b/script/sql/ry_vue_5.X.sql
index da10377ea..1f8da6a87 100644
--- a/script/sql/ry_vue_5.X.sql
+++ b/script/sql/ry_vue_5.X.sql
@@ -514,7 +514,11 @@ create table sys_oper_log (
status int(1) default 0 comment '操作状态(0正常 1异常)',
error_msg varchar(2000) default '' comment '错误消息',
oper_time datetime comment '操作时间',
- primary key (oper_id)
+ cost_time bigint(20) default 0 comment '消耗时间',
+ primary key (oper_id),
+ key idx_sys_oper_log_bt (business_type),
+ key idx_sys_oper_log_s (status),
+ key idx_sys_oper_log_ot (oper_time)
) engine=innodb comment = '操作日志记录';
@@ -643,7 +647,9 @@ create table sys_logininfor (
status char(1) default '0' comment '登录状态(0成功 1失败)',
msg varchar(255) default '' comment '提示消息',
login_time datetime comment '访问时间',
- primary key (info_id)
+ primary key (info_id),
+ key idx_sys_logininfor_s (status),
+ key idx_sys_logininfor_lt (login_time)
) engine=innodb comment = '系统访问记录';
diff --git a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
index 86563d70b..8ecfaf544 100644
--- a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
+++ b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
@@ -1165,6 +1165,11 @@ CREATE TABLE sys_logininfor
ON [PRIMARY]
GO
+CREATE NONCLUSTERED INDEX idx_sys_logininfor_s ON sys_logininfor (status)
+GO
+CREATE NONCLUSTERED INDEX idx_sys_logininfor_lt ON sys_logininfor (login_time)
+GO
+
EXEC sys.sp_addextendedproperty
'MS_Description', N'访问ID' ,
'SCHEMA', N'dbo',
@@ -1704,6 +1709,7 @@ CREATE TABLE sys_oper_log
status int DEFAULT ((0)) NULL,
error_msg nvarchar(2000) DEFAULT '' NULL,
oper_time datetime2(7) NULL,
+ cost_time bigint DEFAULT ((0)) NULL,
CONSTRAINT PK__sys_oper__34723BF9BD954573 PRIMARY KEY CLUSTERED (oper_id)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
@@ -1711,6 +1717,13 @@ CREATE TABLE sys_oper_log
ON [PRIMARY]
GO
+CREATE NONCLUSTERED INDEX idx_sys_oper_log_bt ON sys_oper_log (business_type)
+GO
+CREATE NONCLUSTERED INDEX idx_sys_oper_log_s ON sys_oper_log (status)
+GO
+CREATE NONCLUSTERED INDEX idx_sys_oper_log_ot ON sys_oper_log (oper_time)
+GO
+
EXEC sys.sp_addextendedproperty
'MS_Description', N'日志主键' ,
'SCHEMA', N'dbo',
@@ -1813,6 +1826,12 @@ EXEC sys.sp_addextendedproperty
'TABLE', N'sys_oper_log',
'COLUMN', N'oper_time'
GO
+EXEC sys.sp_addextendedproperty
+ 'MS_Description', N'消耗时间' ,
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'sys_oper_log',
+ 'COLUMN', N'cost_time'
+GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'操作日志记录' ,
'SCHEMA', N'dbo',
@@ -1827,10 +1846,10 @@ CREATE TABLE sys_post
post_name nvarchar(50) NOT NULL,
post_sort int NOT NULL,
status nchar(1) NOT NULL,
- create_dept bigint NOT NULL,
- create_by bigint NOT NULL,
+ create_dept bigint NULL,
+ create_by bigint NULL,
create_time datetime2(7) NULL,
- update_by bigint NOT NULL,
+ update_by bigint NULL,
update_time datetime2(7) NULL,
remark nvarchar(500) NULL,
CONSTRAINT PK__sys_post__3ED7876668E2D081 PRIMARY KEY CLUSTERED (post_id)
@@ -1840,6 +1859,9 @@ CREATE TABLE sys_post
ON [PRIMARY]
GO
+CREATE NONCLUSTERED INDEX sys_dict_type_index1 ON sys_dict_type (tenant_id, dict_type)
+GO
+
EXEC sys.sp_addextendedproperty
'MS_Description', N'岗位ID' ,
'SCHEMA', N'dbo',