Переглянути джерело

fix : 新增用户角色活跃信息上报接口, 解决测试环境 Kafka 连不上的问题

bilingfeng 1 рік тому
батько
коміт
d343e3f75d

+ 1 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/SDKApplication.java

@@ -23,7 +23,7 @@ public class SDKApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(SDKApplication.class, args);
-        System.out.println("赞象SDK服务启动成功 <新增用户角色活跃信息上报接口> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象SDK服务启动成功 <新增用户角色活跃信息上报接口, 解决测试环境 Kafka 连不上的问题> ( ´・・)ノ(._.`) \n" +
                 " ___________ _   __\n" +
                 "/  ___|  _  \\ | / /\n" +
                 "\\ `--.| | | | |/ / \n" +

+ 5 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/config/KafkaConfig.java

@@ -1,6 +1,7 @@
 package com.zanxiang.game.module.sdk.config;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.ProducerConfig;
 import org.apache.kafka.common.serialization.StringSerializer;
@@ -20,11 +21,14 @@ import java.util.Properties;
 @Configuration
 public class KafkaConfig {
 
-    @Value("${spring.kafka.game-sdk.bootstrap-servers}")
+    @Value("${spring.kafka.game-sdk.bootstrap-servers:null}")
     private String gameSdkKafkaSevers;
 
     @Bean("gameSdkKafkaProducer")
     public KafkaProducer<String, String> gameKafkaProducer() {
+        if (StringUtils.isBlank(gameSdkKafkaSevers)) {
+            return null;
+        }
         String clientId = "UNKNOWN";
         try {
             clientId = InetAddress.getLocalHost().getHostAddress();

+ 7 - 0
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/GameUserRoleServiceImpl.java

@@ -58,6 +58,9 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
     @Autowired
     private IDistributedLockComponent distributedLockComponent;
 
+    @Value("${server.domain}")
+    private String serverUrl;
+
     @Value("${spring.kafka.game-sdk.gameRoleActiveTopic}")
     private String gameRoleActiveTopic;
 
@@ -243,6 +246,10 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
     public boolean gameRoleActiveCall(UserData userData, GameRoleActiveCallParam param) {
         log.error("接收到前端用户角色活跃上报, userId : {}, gameId : {}, serverId : {}, roleId : {}, roleLevel : {}",
                 userData.getUserId(), userData.getGameId(), param.getServerId(), param.getRoleId(), param.getRoleLevel());
+        if (this.serverUrl.contains("test")) {
+            log.error("测试环境连接不上 Kafka, 不执行发送到 Kafka 的逻辑!");
+            return Boolean.FALSE;
+        }
         Map<String, Object> activeParamMap = new HashMap<>(6);
         activeParamMap.put("userId", userData.getUserId());
         activeParamMap.put("gameId", userData.getGameId());