Merge branch 'dev' into warm-flow-future

This commit is contained in:
AprilWind 2024-12-06 17:24:40 +08:00
commit bce27cedc9
8 changed files with 14 additions and 12 deletions

View File

@ -15,7 +15,7 @@
[![JDK-17](https://img.shields.io/badge/JDK-17-green.svg)]() [![JDK-17](https://img.shields.io/badge/JDK-17-green.svg)]()
[![JDK-21](https://img.shields.io/badge/JDK-21-green.svg)]() [![JDK-21](https://img.shields.io/badge/JDK-21-green.svg)]()
> RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 `分布式集群与多租户` 场景全方位升级(不兼容原框架) > Dromara RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 `分布式集群与多租户` 场景全方位升级(不兼容原框架)
> 项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可<br> > 项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可<br>
活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源 活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源

View File

@ -10,7 +10,7 @@
<name>RuoYi-Vue-Plus</name> <name>RuoYi-Vue-Plus</name>
<url>https://gitee.com/dromara/RuoYi-Vue-Plus</url> <url>https://gitee.com/dromara/RuoYi-Vue-Plus</url>
<description>RuoYi-Vue-Plus多租户管理系统</description> <description>Dromara RuoYi-Vue-Plus多租户管理系统</description>
<properties> <properties>
<revision>5.2.3</revision> <revision>5.2.3</revision>
@ -55,7 +55,7 @@
<!-- 插件版本 --> <!-- 插件版本 -->
<maven-jar-plugin.version>3.2.2</maven-jar-plugin.version> <maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
<maven-war-plugin.version>3.2.2</maven-war-plugin.version> <maven-war-plugin.version>3.2.2</maven-war-plugin.version>
<maven-compiler-plugin.verison>3.11.0</maven-compiler-plugin.verison> <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version> <maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
<flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version> <flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
</properties> </properties>
@ -379,7 +379,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.verison}</version> <version>${maven-compiler-plugin.version}</version>
<configuration> <configuration>
<source>${java.version}</source> <source>${java.version}</source>
<target>${java.version}</target> <target>${java.version}</target>

View File

@ -226,7 +226,7 @@ public class AuthController {
} }
// 根据域名进行筛选 // 根据域名进行筛选
List<TenantListVo> list = StreamUtils.filter(voList, vo -> List<TenantListVo> list = StreamUtils.filter(voList, vo ->
StringUtils.equals(vo.getDomain(), host)); StringUtils.equalsIgnoreCase(vo.getDomain(), host));
result.setVoList(CollUtil.isNotEmpty(list) ? list : voList); result.setVoList(CollUtil.isNotEmpty(list) ? list : voList);
return R.ok(result); return R.ok(result);
} }

View File

@ -174,12 +174,12 @@ public class QueueUtils {
* *
* @param queueName 队列名 * @param queueName 队列名
* @param capacity 容量 * @param capacity 容量
* @param destroy 已存在是否销毁 * @param destroy 是否销毁
*/ */
public static <T> boolean trySetBoundedQueueCapacity(String queueName, int capacity, boolean destroy) { public static <T> boolean trySetBoundedQueueCapacity(String queueName, int capacity, boolean destroy) {
RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName); RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName);
if (boundedBlockingQueue.isExists() && destroy) { if (destroy) {
destroyQueue(queueName); boundedBlockingQueue.delete();
} }
return boundedBlockingQueue.trySetCapacity(capacity); return boundedBlockingQueue.trySetCapacity(capacity);
} }

View File

@ -63,7 +63,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(SseException.class) @ExceptionHandler(SseException.class)
public String handleNotLoginException(SseException e, HttpServletRequest request) { public String handleNotLoginException(SseException e, HttpServletRequest request) {
String requestURI = request.getRequestURI(); String requestURI = request.getRequestURI();
log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage()); log.debug("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage());
return JsonUtils.toJsonString(R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源")); return JsonUtils.toJsonString(R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源"));
} }

View File

@ -202,7 +202,7 @@ public class GenTableServiceImpl implements IGenTableService {
} }
List<Table<?>> tableList = tablesMap.values().stream() List<Table<?>> tableList = tablesMap.values().stream()
.filter(x -> !StringUtils.containsAnyIgnoreCase(x.getName(), TABLE_IGNORE)) .filter(x -> !startWithAnyIgnoreCase(x.getName(), TABLE_IGNORE))
.filter(x -> tableNameSet.contains(x.getName())).toList(); .filter(x -> tableNameSet.contains(x.getName())).toList();
if (CollUtil.isEmpty(tableList)) { if (CollUtil.isEmpty(tableList)) {

View File

@ -36,7 +36,8 @@ public class GenUtils {
*/ */
public static void initColumnField(GenTableColumn column, GenTable table) { public static void initColumnField(GenTableColumn column, GenTable table) {
String dataType = getDbType(column.getColumnType()); String dataType = getDbType(column.getColumnType());
String columnName = column.getColumnName(); // 统一转小写 避免有些数据库默认大写问题 如果需要特别书写方式 请在实体类增加注解标注别名
String columnName = column.getColumnName().toLowerCase();
column.setTableId(table.getTableId()); column.setTableId(table.getTableId());
// 设置java字段名 // 设置java字段名
column.setJavaField(StringUtils.toCamelCase(columnName)); column.setJavaField(StringUtils.toCamelCase(columnName));

View File

@ -19,6 +19,7 @@ import org.dromara.system.domain.SysUserOnline;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -43,7 +44,7 @@ public class SysUserOnlineController extends BaseController {
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<SysUserOnline> list(String ipaddr, String userName) { public TableDataInfo<SysUserOnline> list(String ipaddr, String userName) {
// 获取所有未过期的 token // 获取所有未过期的 token
List<String> keys = StpUtil.searchTokenValue("", 0, -1, false); Collection<String> keys = RedisUtils.keys(CacheConstants.ONLINE_TOKEN_KEY + "*");
List<UserOnlineDTO> userOnlineDTOList = new ArrayList<>(); List<UserOnlineDTO> userOnlineDTOList = new ArrayList<>();
for (String key : keys) { for (String key : keys) {
String token = StringUtils.substringAfterLast(key, ":"); String token = StringUtils.substringAfterLast(key, ":");