From 6368ffd1d15861c9bf3f0627b4b9c4fc5eeaeebf Mon Sep 17 00:00:00 2001 From: uname <2986773479@qq.com> Date: Tue, 23 Dec 2025 09:42:31 +0800 Subject: [PATCH 1/4] fix: add feign client configurations --- .../gateway/ApiGatewayApplication.java | 4 ++++ .../gateway/filter/UserContextFilter.java | 21 +++++-------------- .../src/main/resources/application.yml | 16 ++++++++++++++ 3 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 backend/api-gateway/src/main/resources/application.yml diff --git a/backend/api-gateway/src/main/java/com/datamate/gateway/ApiGatewayApplication.java b/backend/api-gateway/src/main/java/com/datamate/gateway/ApiGatewayApplication.java index 0d954f092..9a41a9408 100644 --- a/backend/api-gateway/src/main/java/com/datamate/gateway/ApiGatewayApplication.java +++ b/backend/api-gateway/src/main/java/com/datamate/gateway/ApiGatewayApplication.java @@ -4,7 +4,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.gateway.route.RouteLocator; import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder; +import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; /** * API Gateway & Auth Service Application @@ -12,6 +14,8 @@ * 提供路由、鉴权、限流等功能 */ @SpringBootApplication +@ComponentScan(basePackages = {"com.datamate.gateway", "com.terrabase"}) +@EnableFeignClients(basePackages = {"com.terrabase"}) public class ApiGatewayApplication { public static void main(String[] args) { diff --git a/backend/api-gateway/src/main/java/com/datamate/gateway/filter/UserContextFilter.java b/backend/api-gateway/src/main/java/com/datamate/gateway/filter/UserContextFilter.java index 59b7a8e42..5f3b35eba 100644 --- a/backend/api-gateway/src/main/java/com/datamate/gateway/filter/UserContextFilter.java +++ b/backend/api-gateway/src/main/java/com/datamate/gateway/filter/UserContextFilter.java @@ -1,10 +1,9 @@ package com.datamate.gateway.filter; +import com.terrabase.enterprise.api.UserManagementService; import com.terrabase.enterprise.api.dto.LoginUserDto; -import com.terrabase.enterprise.api.sdk.TerrabaseSDK; -import com.terrabase.enterprise.api.sdk.TerrabaseSDKConfig; -import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; @@ -15,25 +14,15 @@ /** * 用户信息过滤器 * - * @since 2025/12/22 */ @Slf4j @Component public class UserContextFilter implements GlobalFilter { - @Value("${terrabase.jar.path:/opt/terrabase}") - private String jarPath; - @Value("${commercial.switch:false}") private boolean isCommercial; - private TerrabaseSDK terrabaseSDK; - - @PostConstruct - public void init() { - TerrabaseSDKConfig sdkConfig = TerrabaseSDKConfig.createDefault(); - sdkConfig.setJarPath(jarPath); - terrabaseSDK = TerrabaseSDK.init(sdkConfig); - } + @Autowired + private UserManagementService userManagementService; @Override public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { @@ -41,7 +30,7 @@ public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { return chain.filter(exchange); } try { - LoginUserDto loginUserDto = terrabaseSDK.userManagement().getCurrentUserInfo().getData().getFirst(); + LoginUserDto loginUserDto = userManagementService.getCurrentUserInfo().getData().getFirst(); } catch (Exception e) { log.error("get current user info error", e); return chain.filter(exchange); diff --git a/backend/api-gateway/src/main/resources/application.yml b/backend/api-gateway/src/main/resources/application.yml new file mode 100644 index 000000000..b5343aefd --- /dev/null +++ b/backend/api-gateway/src/main/resources/application.yml @@ -0,0 +1,16 @@ +spring: + main: + allow-circular-references: true + application: + name: datamate-gateway # 必须设置应用名 + + cloud: + nacos: + discovery: + fail-fast: false + # 显式设置端口 + port: ${server.port:30000} # 与服务端口一致 + + # 服务器端口配置 +server: + port: 8080 # 必须有这个配置 \ No newline at end of file From b1049e4a01c15347b48fec72b37c5c777e1c63c6 Mon Sep 17 00:00:00 2001 From: uname <2986773479@qq.com> Date: Tue, 23 Dec 2025 10:42:05 +0800 Subject: [PATCH 2/4] fix: add nacos configurations --- backend/api-gateway/src/main/resources/application.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/api-gateway/src/main/resources/application.yml b/backend/api-gateway/src/main/resources/application.yml index b5343aefd..46908fe8d 100644 --- a/backend/api-gateway/src/main/resources/application.yml +++ b/backend/api-gateway/src/main/resources/application.yml @@ -10,6 +10,12 @@ spring: fail-fast: false # 显式设置端口 port: ${server.port:30000} # 与服务端口一致 + server-addr: ${NACOS_ADDR:https://consulservice:18302} + username: consul + password: + ip: ${spring.application.name} + secure: true + cluster-name: DEFAULT # 服务器端口配置 server: From fe95d1897834edd8f94cea73db4ba257ffe93c14 Mon Sep 17 00:00:00 2001 From: uname <2986773479@qq.com> Date: Tue, 23 Dec 2025 11:15:20 +0800 Subject: [PATCH 3/4] fix: add python to gateway --- scripts/images/gateway/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/images/gateway/Dockerfile b/scripts/images/gateway/Dockerfile index 13a148bbe..e63e493f8 100644 --- a/scripts/images/gateway/Dockerfile +++ b/scripts/images/gateway/Dockerfile @@ -17,7 +17,7 @@ RUN cd /opt/gateway/api-gateway && \ FROM eclipse-temurin:21-jdk RUN apt-get update && \ - apt-get install -y vim wget curl dos2unix && \ + apt-get install -y vim wget curl python3 python3-pip python-is-python3 dos2unix && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* From 12a0b56a4fbc5d5fc28273a6bbb2cf5ca0baffa2 Mon Sep 17 00:00:00 2001 From: uname <2986773479@qq.com> Date: Wed, 24 Dec 2025 11:32:12 +0800 Subject: [PATCH 4/4] fix: Fix the ratio task bug --- runtime/datamate-python/app/module/ratio/service/ratio_task.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/datamate-python/app/module/ratio/service/ratio_task.py b/runtime/datamate-python/app/module/ratio/service/ratio_task.py index be8d001db..b8899b542 100644 --- a/runtime/datamate-python/app/module/ratio/service/ratio_task.py +++ b/runtime/datamate-python/app/module/ratio/service/ratio_task.py @@ -294,7 +294,7 @@ def _filter_file(file: DatasetFiles, conditions: FilterCondition) -> bool: for tag in all_tags: if conditions.label.label and tag.get("label") != conditions.label.label: continue - if conditions.label.value is not None: + if conditions.label.value is None: return True if tag.get("value") == conditions.label.value: return True