diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/RemnaNodeVerifyUserJob.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/RemnaNodeVerifyUserJob.java index d5665289b..9ad2a8e60 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/RemnaNodeVerifyUserJob.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/RemnaNodeVerifyUserJob.java @@ -10,40 +10,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.NetCacheNameConstants; -import org.dromara.common.core.enums.NetNodeSoftTypeEnum; -import org.dromara.common.core.enums.NetProtocolSubEnum; import org.dromara.common.core.constant.NetUserStatusConstants; +import org.dromara.common.core.enums.NetNodeSoftTypeEnum; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.net.domain.NetNode; -import org.dromara.net.domain.NetNodeConfig; -import org.dromara.net.domain.NetPlan; -import org.dromara.net.domain.NetUser; -import org.dromara.net.domain.NetUserFlowRecord; +import org.dromara.net.domain.*; import org.dromara.net.dto.GetInboundUsersRequest; import org.dromara.net.dto.GetInboundUsersResponse; import org.dromara.net.dto.RemoveUsersRequest; import org.dromara.net.dto.RemoveUsersResponse; -import org.dromara.net.mapper.NetNodeConfigMapper; -import org.dromara.net.mapper.NetNodeMapper; -import org.dromara.net.mapper.NetPlanMapper; -import org.dromara.net.mapper.NetUserFlowRecordMapper; -import org.dromara.net.mapper.NetUserMapper; +import org.dromara.net.mapper.*; import org.dromara.net.util.RemnaNodeHttpClient; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; +import java.util.*; +import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -237,7 +218,7 @@ public class RemnaNodeVerifyUserJob { String inboundTag = getInboundTag(node.getProtocolType()); if (inboundTag == null) { SnailJobLog.LOCAL.warn("remnaNodeVerifyUserJob 节点 {} 协议类型 {} 无法确定入站标签,跳过", - node.getNodeName(), node.getProtocolType()); + node.getNodeName(), null); return; } @@ -270,7 +251,7 @@ public class RemnaNodeVerifyUserJob { .map(GetInboundUsersResponse.UserInfo::getUsername) .filter(username -> username != null && !username.isEmpty()) .map(this::parseUserId) - .filter(id -> id != null) + .filter(Objects::nonNull) .collect(Collectors.toSet()); if (userIds.isEmpty()) { @@ -307,7 +288,7 @@ public class RemnaNodeVerifyUserJob { // 获取所有用户的planId Set planIds = dbUsers.stream() .map(NetUser::getPlanId) - .filter(id -> id != null) + .filter(Objects::nonNull) .collect(Collectors.toSet()); // 批量查询订阅计划 @@ -362,7 +343,7 @@ public class RemnaNodeVerifyUserJob { boolean flowExceeded = false; NetPlan plan = planMap.get(dbUser.getPlanId()); if (plan != null && plan.getTotalFlow() != null && plan.getTotalFlow() > 0) { - Long monthUseFlow = dbUser.getMonthUseFlow() != null ? dbUser.getMonthUseFlow() : 0L; + long monthUseFlow = dbUser.getMonthUseFlow() != null ? dbUser.getMonthUseFlow() : 0L; if (monthUseFlow >= plan.getTotalFlow()) { flowExceeded = true; } @@ -380,7 +361,7 @@ public class RemnaNodeVerifyUserJob { // 对于没有过期且没有超出流量限制的用户 // 检查 redis 信息和流量记录 String cacheKey = NetCacheNameConstants.NODE_SUB_ACTIVE_USER + node.getId() + ":" + userId; - boolean hasRedisCache = Boolean.TRUE.equals(RedisUtils.hasKey(cacheKey)); + boolean hasRedisCache = RedisUtils.hasKey(cacheKey); boolean hasFlowRecord = usersWithFlowRecord.contains(userId); if (!hasRedisCache && !hasFlowRecord) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/net/service/impl/NetNodeConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/net/service/impl/NetNodeConfigServiceImpl.java index fbe6bfa69..a97d6eb71 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/net/service/impl/NetNodeConfigServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/net/service/impl/NetNodeConfigServiceImpl.java @@ -38,11 +38,6 @@ public class NetNodeConfigServiceImpl implements INetNodeConfigService { private final NetNodeConfigMapper baseMapper; private final NetNodeMapper netNodeMapper; - /** - * 默认的Xray API端口起始值 - */ - private static final int DEFAULT_XRAY_API_PORT_START = 10000; - /** * 请求超时时间(毫秒) */