This commit is contained in:
77
2024-05-07 00:31:01 +08:00
parent f676e778cc
commit e421472e5d
406 changed files with 3042 additions and 1758 deletions

19
pom.xml
View File

@@ -10,6 +10,7 @@
<name>RuoYi-Vue-Plus</name>
<properties>
<revision>4.8.2</revision>
<ruoyi-vue-plus.version>4.8.2</ruoyi-vue-plus.version>
<spring-boot.version>2.7.18</spring-boot.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -76,6 +77,13 @@
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-bom</artifactId>
<version>${revision}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringBoot的依赖配置-->
<dependency>
@@ -142,6 +150,11 @@
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>${satoken.version}</version>
</dependency>
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-core</artifactId>
<version>${satoken.version}</version>
</dependency>
<!-- Sa-Token 整合 jwt -->
<dependency>
<groupId>cn.dev33</groupId>
@@ -307,13 +320,9 @@
<modules>
<module>ruoyi-admin</module>
<module>ruoyi-framework</module>
<module>ruoyi-system</module>
<module>ruoyi-job</module>
<module>ruoyi-generator</module>
<module>ruoyi-common</module>
<module>ruoyi-oss</module>
<module>ruoyi-dk</module>
<module>ruoyi-component</module>
</modules>
<packaging>pom</packaging>

View File

@@ -43,13 +43,6 @@
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-framework</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system</artifactId>
@@ -60,28 +53,19 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-job</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-oss</artifactId>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-generator</artifactId>
<artifactId>ruoyi-component-generator</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-sms</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-dk</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

View File

@@ -1,6 +1,6 @@
package com.ruoyi.framework;
package com.ruoyi.web.cache;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.component.core.constant.CacheConstants;
import org.redisson.api.RSet;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
@@ -8,7 +8,6 @@ import org.springframework.stereotype.Component;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Set;

View File

@@ -5,17 +5,17 @@ import cn.hutool.captcha.AbstractCaptcha;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.CaptchaType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.email.MailUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.common.utils.reflect.ReflectUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.framework.config.properties.CaptchaProperties;
import com.ruoyi.framework.config.properties.MailProperties;
import com.ruoyi.component.core.constant.CacheConstants;
import com.ruoyi.component.core.constant.Constants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.core.util.StringUtils;
import com.ruoyi.component.core.util.reflect.ReflectUtils;
import com.ruoyi.component.core.util.spring.SpringUtils;
import com.ruoyi.component.mail.config.properties.MailProperties;
import com.ruoyi.component.mail.utils.MailUtils;
import com.ruoyi.component.redis.util.RedisUtils;
import com.ruoyi.component.web.config.properties.CaptchaProperties;
import com.ruoyi.component.web.enums.CaptchaType;
import com.ruoyi.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -2,13 +2,13 @@ package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollUtil;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.CacheNames;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.redis.CacheUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.component.core.constant.CacheConstants;
import com.ruoyi.component.core.constant.CacheNames;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.core.util.StringUtils;
import com.ruoyi.component.json.utils.JsonUtils;
import com.ruoyi.component.redis.util.CacheUtils;
import com.ruoyi.component.redis.util.RedisUtils;
import com.ruoyi.system.domain.SysCache;
import lombok.RequiredArgsConstructor;
import org.redisson.spring.data.connection.RedissonConnectionFactory;

View File

@@ -1,15 +1,15 @@
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.component.core.constant.CacheConstants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.redis.util.RedisUtils;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysLogininfor;
import com.ruoyi.system.service.ISysLogininforService;
import lombok.RequiredArgsConstructor;

View File

@@ -1,13 +1,13 @@
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysOperLog;
import com.ruoyi.system.service.ISysOperLogService;
import lombok.RequiredArgsConstructor;

View File

@@ -4,16 +4,16 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.dto.UserOnlineDTO;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StreamUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.component.core.constant.CacheConstants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.core.domain.dto.UserOnlineDTO;
import com.ruoyi.component.core.util.StreamUtils;
import com.ruoyi.component.core.util.StringUtils;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.redis.util.RedisUtils;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysUserOnline;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

View File

@@ -1,14 +1,13 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor;

View File

@@ -2,13 +2,13 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.convert.Convert;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.component.core.constant.UserConstants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysDept;
import com.ruoyi.component.core.util.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;

View File

@@ -2,14 +2,14 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysDictData;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor;

View File

@@ -1,15 +1,14 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDictType;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysDictType;
import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;

View File

@@ -1,15 +1,15 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.EmailLoginBody;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.model.SmsLoginBody;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.component.core.constant.Constants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.system.domain.SysMenu;
import com.ruoyi.system.domain.SysUser;
import com.ruoyi.component.core.domain.model.EmailLoginBody;
import com.ruoyi.component.core.domain.model.LoginBody;
import com.ruoyi.component.core.domain.model.LoginUser;
import com.ruoyi.component.core.domain.model.SmsLoginBody;
import com.ruoyi.component.satoken.utils.LoginHelper;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUserService;

View File

@@ -2,13 +2,14 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.lang.tree.Tree;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.component.core.constant.UserConstants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.satoken.utils.LoginHelper;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysMenu;
import com.ruoyi.component.core.util.StringUtils;
import com.ruoyi.system.service.ISysMenuService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
@@ -37,7 +38,7 @@ public class SysMenuController extends BaseController {
@SaCheckPermission("system:menu:list")
@GetMapping("/list")
public R<List<SysMenu>> list(SysMenu menu) {
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
List<SysMenu> menus = menuService.selectMenuList(menu, LoginHelper.getUserId());
return R.ok(menus);
}
@@ -57,7 +58,7 @@ public class SysMenuController extends BaseController {
*/
@GetMapping("/treeselect")
public R<List<Tree<Long>>> treeselect(SysMenu menu) {
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
List<SysMenu> menus = menuService.selectMenuList(menu, LoginHelper.getUserId());
return R.ok(menuService.buildMenuTreeSelect(menus));
}
@@ -68,7 +69,7 @@ public class SysMenuController extends BaseController {
*/
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public R<Map<String, Object>> roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
List<SysMenu> menus = menuService.selectMenuList(getUserId());
List<SysMenu> menus = menuService.selectMenuList(LoginHelper.getUserId());
Map<String, Object> ajax = new HashMap<>();
ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
ajax.put("menus", menuService.buildMenuTreeSelect(menus));

View File

@@ -1,12 +1,12 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.service.ISysNoticeService;
import lombok.RequiredArgsConstructor;

View File

@@ -1,16 +1,16 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.core.validate.AddGroup;
import com.ruoyi.component.core.validate.EditGroup;
import com.ruoyi.component.core.validate.QueryGroup;
import com.ruoyi.component.idempotent.annotation.RepeatSubmit;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.bo.SysOssConfigBo;
import com.ruoyi.system.domain.vo.SysOssConfigVo;
import com.ruoyi.system.service.ISysOssConfigService;

View File

@@ -3,13 +3,13 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.core.validate.QueryGroup;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService;

View File

@@ -1,14 +1,14 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.component.core.constant.UserConstants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.service.ISysPostService;
import lombok.RequiredArgsConstructor;

View File

@@ -2,16 +2,14 @@ package com.ruoyi.web.controller.system;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.io.FileUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysUser;
import com.ruoyi.component.satoken.utils.LoginHelper;
import com.ruoyi.component.core.util.StringUtils;
import com.ruoyi.component.core.util.file.MimeTypeUtils;
import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService;
import com.ruoyi.system.service.ISysUserService;
@@ -44,7 +42,7 @@ public class SysProfileController extends BaseController {
*/
@GetMapping
public R<Map<String, Object>> profile() {
SysUser user = userService.selectUserById(getUserId());
SysUser user = userService.selectUserById(LoginHelper.getUserId());
Map<String, Object> ajax = new HashMap<>();
ajax.put("user", user);
ajax.put("roleGroup", userService.selectUserRoleGroup(user.getUserName()));
@@ -64,7 +62,7 @@ public class SysProfileController extends BaseController {
if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setUserId(getUserId());
user.setUserId(LoginHelper.getUserId());
user.setUserName(null);
user.setPassword(null);
user.setAvatar(null);
@@ -116,7 +114,7 @@ public class SysProfileController extends BaseController {
}
SysOssVo oss = iSysOssService.upload(avatarfile);
String avatar = oss.getUrl();
if (userService.updateUserAvatar(getUsername(), avatar)) {
if (userService.updateUserAvatar(LoginHelper.getUsername(), avatar)) {
ajax.put("imgUrl", avatar);
return R.ok(ajax);
}

View File

@@ -1,9 +1,9 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.RegisterBody;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.core.domain.model.RegisterBody;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.SysRegisterService;
import lombok.RequiredArgsConstructor;

View File

@@ -1,16 +1,16 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysDept;
import com.ruoyi.system.domain.SysRole;
import com.ruoyi.system.domain.SysUser;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;

View File

@@ -6,21 +6,21 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.excel.ExcelResult;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StreamUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.component.core.constant.UserConstants;
import com.ruoyi.component.core.domain.R;
import com.ruoyi.component.excel.core.ExcelResult;
import com.ruoyi.component.excel.utils.ExcelUtil;
import com.ruoyi.component.log.annotation.Log;
import com.ruoyi.component.log.enums.BusinessType;
import com.ruoyi.component.mybatis.core.page.PageQuery;
import com.ruoyi.component.mybatis.core.page.TableDataInfo;
import com.ruoyi.component.web.core.BaseController;
import com.ruoyi.system.domain.SysDept;
import com.ruoyi.system.domain.SysRole;
import com.ruoyi.system.domain.SysUser;
import com.ruoyi.component.satoken.utils.LoginHelper;
import com.ruoyi.component.core.util.StreamUtils;
import com.ruoyi.component.core.util.StringUtils;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.vo.SysUserExportVo;
import com.ruoyi.system.domain.vo.SysUserImportVo;
@@ -182,7 +182,7 @@ public class SysUserController extends BaseController {
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
public R<Void> remove(@PathVariable Long[] userIds) {
if (ArrayUtil.contains(userIds, getUserId())) {
if (ArrayUtil.contains(userIds, LoginHelper.getUserId())) {
return R.fail("当前用户不能删除");
}
return toAjax(userService.deleteUserByIds(userIds));

View File

@@ -1,19 +1,19 @@
package com.ruoyi.framework.listener;
package com.ruoyi.web.listener;
import cn.dev33.satoken.config.SaTokenConfig;
import cn.dev33.satoken.listener.SaTokenListener;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.hutool.http.useragent.UserAgent;
import cn.hutool.http.useragent.UserAgentUtil;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.domain.dto.UserOnlineDTO;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.UserType;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.ip.AddressUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.framework.OnlineUserTodayCache;
import com.ruoyi.component.core.constant.CacheConstants;
import com.ruoyi.component.core.domain.dto.UserOnlineDTO;
import com.ruoyi.component.core.domain.model.LoginUser;
import com.ruoyi.component.core.enums.UserType;
import com.ruoyi.component.redis.util.RedisUtils;
import com.ruoyi.component.satoken.utils.LoginHelper;
import com.ruoyi.component.core.util.ServletUtils;
import com.ruoyi.component.core.util.ip.AddressUtils;
import com.ruoyi.web.cache.OnlineUserTodayCache;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.framework.manager;
package com.ruoyi.web.manager;
import com.ruoyi.common.utils.Threads;
import com.ruoyi.component.core.util.Threads;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.test;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.component.core.config.RuoYiConfig;
import org.junit.jupiter.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.test;
import com.ruoyi.common.enums.UserType;
import com.ruoyi.component.core.enums.UserType;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;

View File

@@ -1,179 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>dk-sass-server</artifactId>
<groupId>com.ruoyi</groupId>
<version>4.8.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common</artifactId>
<description>
common通用工具
</description>
<dependencies>
<!-- Spring框架基本的核心工具 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- SpringWeb模块 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<!-- Sa-Token 权限认证, 在线文档http://sa-token.dev33.cn/ -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
</dependency>
<!-- Sa-Token 整合 jwt -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-jwt</artifactId>
</dependency>
<!-- 自定义验证注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
</dependency>
<!-- yml解析器 -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
<!-- servlet包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!-- dynamic-datasource 多数据源-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-captcha</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-jwt</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-extra</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 自动生成YML配置关联JSON文件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<!--redisson-->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-data-27</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>lock4j-redisson-spring-boot-starter</artifactId>
</dependency>
<!-- 加密包引入 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
</dependency>
<!-- 离线IP地址定位库 -->
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.32</version>
</dependency>
</dependencies>
</project>

View File

@@ -1,29 +0,0 @@
package com.ruoyi.common.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.jackson.DictDataJsonSerializer;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 字典数据映射注解
*
* @author itino
* @deprecated 建议使用通用翻译注解
*/
@Deprecated
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
@JacksonAnnotationsInside
@JsonSerialize(using = DictDataJsonSerializer.class)
public @interface DictDataMapper {
/**
* 设置字典的type值 (如: sys_user_sex)
*/
String dictType() default "";
}

View File

@@ -1,21 +0,0 @@
package com.ruoyi.common.core.domain.model;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class LoginBaseUser implements Serializable {
private Long userId;
private String userType;
public String getLoginId() {
if (userId == null) {
throw new IllegalArgumentException("用户ID不能为空");
}
return getUserType() + ":" + userId;
}
}

View File

@@ -1,58 +0,0 @@
package com.ruoyi.common.jackson;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.BeanProperty;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import com.ruoyi.common.annotation.DictDataMapper;
import com.ruoyi.common.core.service.DictService;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException;
import java.io.IOException;
import java.util.Objects;
/**
* 字典数据json序列化工具
*
* @author itino
* @deprecated 建议使用通用翻译注解
*/
@Deprecated
@Slf4j
public class DictDataJsonSerializer extends JsonSerializer<String> implements ContextualSerializer {
private String dictType;
@Override
public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
try {
DictService dictService = SpringUtils.getBean(DictService.class);
if (ObjectUtil.isNotNull(dictService)) {
String label = dictService.getDictLabel(dictType, value);
gen.writeString(StringUtils.isNotBlank(label) ? label : value);
} else {
gen.writeString(value);
}
} catch (BeansException e) {
log.error("字典数据未查到, 采用默认处理 => {}", e.getMessage());
gen.writeString(value);
}
}
@Override
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException {
DictDataMapper anno = property.getAnnotation(DictDataMapper.class);
if (Objects.nonNull(anno) && StrUtil.isNotBlank(anno.dictType())) {
this.dictType = anno.dictType();
return this;
}
return prov.findValueSerializer(property.getType(), property);
}
}

38
ruoyi-component/pom.xml Normal file
View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>dk-sass-server</artifactId>
<version>4.8.2</version>
</parent>
<artifactId>ruoyi-component</artifactId>
<packaging>pom</packaging>
<modules>
<module>ruoyi-component-bom</module>
<module>ruoyi-component-tenant</module>
<module>ruoyi-component-core</module>
<module>ruoyi-component-redis</module>
<module>ruoyi-component-satoken</module>
<module>ruoyi-component-security</module>
<module>ruoyi-component-mybatis</module>
<module>ruoyi-component-log</module>
<module>ruoyi-component-json</module>
<module>ruoyi-component-excel</module>
<module>ruoyi-component-idempotent</module>
<module>ruoyi-component-ratelimiter</module>
<module>ruoyi-component-sensitive</module>
<module>ruoyi-component-translation</module>
<module>ruoyi-component-web</module>
<module>ruoyi-component-mail</module>
<module>ruoyi-component-encrypt</module>
<module>ruoyi-component-job</module>
<module>ruoyi-component-oss</module>
<module>ruoyi-component-generator</module>
<module>ruoyi-component-sms</module>
</modules>
</project>

View File

@@ -0,0 +1,117 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-bom</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<properties>
<revision>4.8.2</revision>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-core</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-redis</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-tenant</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-satoken</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-security</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-mybatis</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-json</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-log</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-excel</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-idempotent</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-web</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-translation</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-sensitive</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-ratelimiter</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-job</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-oss</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-generator</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-encrypt</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-mail</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component-sms</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>

View File

@@ -0,0 +1,84 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-component</artifactId>
<version>4.8.2</version>
</parent>
<artifactId>ruoyi-component-core</artifactId>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 自定义验证注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- Spring框架基本的核心工具 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- servlet包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- SpringBoot 拦截器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- yml解析器 -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
<!-- SpringWeb模块 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-extra</artifactId>
</dependency>
<!-- 离线IP地址定位库 -->
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
</dependency>
<!-- 自动生成YML配置关联JSON文件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -1,4 +1,4 @@
package com.ruoyi.framework.config;
package com.ruoyi.component.core.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

View File

@@ -1,7 +1,7 @@
package com.ruoyi.framework.config;
package com.ruoyi.component.core.config;
import cn.hutool.core.util.ArrayUtil;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.component.core.exception.ServiceException;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.config;
package com.ruoyi.component.core.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@@ -1,12 +1,13 @@
package com.ruoyi.framework.config;
package com.ruoyi.component.core.config;
import com.ruoyi.common.utils.Threads;
import com.ruoyi.framework.config.properties.ThreadPoolProperties;
import com.ruoyi.component.core.config.properties.ThreadPoolProperties;
import com.ruoyi.component.core.util.Threads;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ScheduledExecutorService;
@@ -18,7 +19,9 @@ import java.util.concurrent.ThreadPoolExecutor;
*
* @author Lion Li
**/
@Configuration
@Slf4j
@AutoConfiguration
@EnableConfigurationProperties(ThreadPoolProperties.class)
public class ThreadPoolConfig {
/**
@@ -27,12 +30,10 @@ public class ThreadPoolConfig {
// private final int core = Runtime.getRuntime().availableProcessors() + 1;
private final int core = 6 + 1;
@Autowired
private ThreadPoolProperties threadPoolProperties;
@Bean(name = "threadPoolTaskExecutor")
@ConditionalOnProperty(prefix = "thread-pool", name = "enabled", havingValue = "true")
public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
public ThreadPoolTaskExecutor threadPoolTaskExecutor(ThreadPoolProperties threadPoolProperties) {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(core);
executor.setMaxPoolSize(core * 2);

View File

@@ -1,4 +1,4 @@
package com.ruoyi.framework.config;
package com.ruoyi.component.core.config;
import org.hibernate.validator.HibernateValidator;
import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.framework.config.properties;
package com.ruoyi.component.core.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.constant;
package com.ruoyi.component.core.constant;
/**
* 缓存的key 常量

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.constant;
package com.ruoyi.component.core.constant;
/**
* 缓存组名称常量

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.constant;
package com.ruoyi.component.core.constant;
/**
* 通用常量信息

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.constant;
package com.ruoyi.component.core.constant;
/**
* <p>created on 2021/7/15</p>

View File

@@ -0,0 +1,39 @@
package com.ruoyi.component.core.constant;
/**
* 全局的key常量 (业务无关的key)
*
* @author Lion Li
*/
public interface GlobalConstants {
/**
* 全局 redis key (业务无关的key)
*/
String GLOBAL_REDIS_KEY = "global:";
/**
* 验证码 redis key
*/
String CAPTCHA_CODE_KEY = GLOBAL_REDIS_KEY + "captcha_codes:";
/**
* 防重提交 redis key
*/
String REPEAT_SUBMIT_KEY = GLOBAL_REDIS_KEY + "repeat_submit:";
/**
* 限流 redis key
*/
String RATE_LIMIT_KEY = GLOBAL_REDIS_KEY + "rate_limit:";
/**
* 登录账户密码错误次数 redis key
*/
String PWD_ERR_CNT_KEY = GLOBAL_REDIS_KEY + "pwd_err_cnt:";
/**
* 三方认证 redis key
*/
String SOCIAL_AUTH_CODE_KEY = GLOBAL_REDIS_KEY + "social_auth_codes:";
}

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.constant;
package com.ruoyi.component.core.constant;
/**
* 返回状态码

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.constant;
package com.ruoyi.component.core.constant;
/**
* 用户常量信息

View File

@@ -1,6 +1,6 @@
package com.ruoyi.common.core.domain;
package com.ruoyi.component.core.domain;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.component.core.constant.HttpStatus;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.domain.dto;
package com.ruoyi.component.core.domain.dto;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.domain.dto;
package com.ruoyi.component.core.domain.dto;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.domain.model;
package com.ruoyi.component.core.domain.model;
import lombok.Data;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.common.core.domain.model;
package com.ruoyi.component.core.domain.model;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.component.core.constant.UserConstants;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.common.core.domain.model;
package com.ruoyi.component.core.domain.model;
import com.ruoyi.common.core.domain.dto.RoleDTO;
import com.ruoyi.component.core.domain.dto.RoleDTO;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,5 +1,6 @@
package com.ruoyi.common.core.domain.model;
package com.ruoyi.component.core.domain.model;
import com.ruoyi.component.core.domain.model.LoginBody;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.domain.model;
package com.ruoyi.component.core.domain.model;
import lombok.Data;

View File

@@ -1,5 +1,6 @@
package com.ruoyi.common.core.domain.model;
package com.ruoyi.component.core.domain.model;
import com.ruoyi.component.core.domain.model.LoginUser;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.enums;
package com.ruoyi.component.core.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.enums;
package com.ruoyi.component.core.enums;
import org.springframework.lang.Nullable;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.enums;
package com.ruoyi.component.core.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.enums;
package com.ruoyi.component.core.enums;
/**
* 用户状态

View File

@@ -1,6 +1,6 @@
package com.ruoyi.common.enums;
package com.ruoyi.component.core.enums;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.component.core.util.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception;
package com.ruoyi.component.core.exception;
import cn.hutool.http.HttpStatus;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception;
package com.ruoyi.component.core.exception;
/**
* 演示模式异常

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception;
package com.ruoyi.component.core.exception;
/**
* 全局异常

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception;
package com.ruoyi.component.core.exception;
/**
* 业务异常

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception;
package com.ruoyi.component.core.exception;
/**
* 工具类异常

View File

@@ -1,7 +1,7 @@
package com.ruoyi.common.exception.base;
package com.ruoyi.component.core.exception.base;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.component.core.util.MessageUtils;
import com.ruoyi.component.core.util.StringUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.common.exception.file;
package com.ruoyi.component.core.exception.file;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.component.core.exception.base.BaseException;
/**
* 文件信息异常类

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception.file;
package com.ruoyi.component.core.exception.file;
/**
* 文件名称超长限制异常类

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception.file;
package com.ruoyi.component.core.exception.file;
/**
* 文件名大小限制异常类

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception.user;
package com.ruoyi.component.core.exception.user;
/**
* 验证码错误异常类

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception.user;
package com.ruoyi.component.core.exception.user;
/**
* 验证码失效异常类

View File

@@ -1,6 +1,7 @@
package com.ruoyi.common.exception.user;
package com.ruoyi.component.core.exception.user;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.component.core.exception.base.BaseException;
/**
* 用户信息异常类

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception.user;
package com.ruoyi.component.core.exception.user;
/**
* 用户密码不正确或不符合规范异常类

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.exception.user;
package com.ruoyi.component.core.exception.user;
/**
* 用户错误最大次数异常类

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.service;
package com.ruoyi.component.core.service;
/**
* 通用 参数配置服务

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.service;
package com.ruoyi.component.core.service;
/**
* 通用 部门服务

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.service;
package com.ruoyi.component.core.service;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.service;
package com.ruoyi.component.core.service;
/**
* 通用 OSS服务

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.service;
package com.ruoyi.component.core.service;
/**
* 通用 用户服务

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import com.google.common.collect.Lists;
import org.springframework.beans.BeanUtils;
@@ -9,7 +9,6 @@ import java.util.function.Supplier;
/**
* bean工具
* @Author: 004795
* @Date: 2022/5/24 11:11
*/
public class BeanConvertUtil extends BeanUtils {

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.SimpleCache;
@@ -6,6 +6,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.component.core.util.StreamUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.cglib.beans.BeanCopier;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import java.math.BigDecimal;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.component.core.util.spring.SpringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.context.MessageSource;

View File

@@ -1,10 +1,9 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import cn.hutool.core.convert.Convert;
import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.http.Header;
import cn.hutool.http.HttpStatus;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.component.core.constant.Constants;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.http.MediaType;
@@ -21,11 +20,9 @@ import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.attribute.FileTime;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* 客户端工具类

View File

@@ -1,7 +1,8 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import com.ruoyi.component.core.util.StringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

View File

@@ -1,11 +1,11 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.lang.tree.parser.NodeParser;
import com.ruoyi.common.utils.reflect.ReflectUtils;
import com.ruoyi.component.core.util.reflect.ReflectUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

View File

@@ -1,6 +1,6 @@
package com.ruoyi.common.utils;
package com.ruoyi.component.core.util;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.component.core.util.spring.SpringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils.file;
package com.ruoyi.component.core.util.file;
import cn.hutool.core.io.FileUtil;
import lombok.AccessLevel;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils.file;
package com.ruoyi.component.core.util.file;
/**
* 媒体类型工具类

View File

@@ -1,8 +1,8 @@
package com.ruoyi.common.utils.ip;
package com.ruoyi.component.core.util.ip;
import cn.hutool.core.net.NetUtil;
import cn.hutool.http.HtmlUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.component.core.util.StringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,10 +1,10 @@
package com.ruoyi.common.utils.ip;
package com.ruoyi.component.core.util.ip;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.resource.ClassPathResource;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.component.core.exception.ServiceException;
import com.ruoyi.component.core.util.file.FileUtils;
import lombok.extern.slf4j.Slf4j;
import org.lionsoul.ip2region.xdb.Searcher;

View File

@@ -1,7 +1,7 @@
package com.ruoyi.common.utils.reflect;
package com.ruoyi.component.core.util.reflect;
import cn.hutool.core.util.ReflectUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.component.core.util.StringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.utils.spring;
package com.ruoyi.component.core.util.spring;
import cn.hutool.extra.spring.SpringUtil;
import org.springframework.aop.framework.AopContext;

View File

@@ -1,7 +1,7 @@
package com.ruoyi.common.utils.sql;
package com.ruoyi.component.core.util.sql;
import com.ruoyi.common.exception.UtilException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.component.core.exception.UtilException;
import com.ruoyi.component.core.util.StringUtils;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.validate;
package com.ruoyi.component.core.validate;
/**
* 校验分组 add

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.validate;
package com.ruoyi.component.core.validate;
/**
* 校验分组 edit

View File

@@ -1,4 +1,4 @@
package com.ruoyi.common.core.validate;
package com.ruoyi.component.core.validate;
/**
* 校验分组 query

Some files were not shown because too many files have changed in this diff Show More